Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/scripts
diff options
context:
space:
mode:
authorDaniel Girtler <blackrabbit256@gmail.com>2023-07-25 19:17:09 +1000
committerGitHub <noreply@github.com>2023-07-25 11:17:09 +0200
commit439bb5428bb6a6f512f695a83ee6b3b8f6537598 (patch)
tree8441f0597d0f4018f162633e6914c160ffc43760 /archinstall/scripts
parentd76f4a029604dffe740ef1d44fa5f34ec0b23480 (diff)
Fix 1934 - audio server regression (#1946)
* Audio configuration * Update * Update schema --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Diffstat (limited to 'archinstall/scripts')
-rw-r--r--archinstall/scripts/guided.py19
-rw-r--r--archinstall/scripts/swiss.py19
2 files changed, 13 insertions, 25 deletions
diff --git a/archinstall/scripts/guided.py b/archinstall/scripts/guided.py
index c8df590d..605d2b0e 100644
--- a/archinstall/scripts/guided.py
+++ b/archinstall/scripts/guided.py
@@ -8,11 +8,11 @@ from archinstall import SysInfo
from archinstall.lib import locale
from archinstall.lib import disk
from archinstall.lib.global_menu import GlobalMenu
-from archinstall.default_profiles.applications.pipewire import PipewireProfile
from archinstall.lib.configuration import ConfigurationOutput
from archinstall.lib.installer import Installer
from archinstall.lib.menu import Menu
from archinstall.lib.mirrors import use_mirrors, add_custom_mirrors
+from archinstall.lib.models import AudioConfiguration
from archinstall.lib.models.bootloader import Bootloader
from archinstall.lib.models.network_configuration import NetworkConfiguration
from archinstall.lib.networking import check_mirror_reachable
@@ -70,7 +70,7 @@ def ask_user_questions():
global_menu.enable('profile_config')
# Ask about audio server selection if one is not already set
- global_menu.enable('audio')
+ global_menu.enable('audio_config')
# Ask for preferred kernel:
global_menu.enable('kernels', mandatory=True)
@@ -172,18 +172,9 @@ def perform_installation(mountpoint: Path):
if users := archinstall.arguments.get('!users', None):
installation.create_users(users)
- if audio := archinstall.arguments.get('audio', None):
- info(f'Installing audio server: {audio}')
- if audio == 'pipewire':
- PipewireProfile().install(installation)
- elif audio == 'pulseaudio':
- installation.add_additional_packages("pulseaudio")
-
- if SysInfo.requires_sof_fw():
- installation.add_additional_packages('sof-firmware')
-
- if SysInfo.requires_alsa_fw():
- installation.add_additional_packages('alsa-firmware')
+ audio_config: Optional[AudioConfiguration] = archinstall.arguments.get('audio_config', None)
+ if audio_config:
+ audio_config.install_audio_config(installation)
else:
info("No audio server will be installed")
diff --git a/archinstall/scripts/swiss.py b/archinstall/scripts/swiss.py
index a2ab0549..cd532f6d 100644
--- a/archinstall/scripts/swiss.py
+++ b/archinstall/scripts/swiss.py
@@ -1,7 +1,7 @@
import os
from enum import Enum
from pathlib import Path
-from typing import TYPE_CHECKING, Any, Dict
+from typing import TYPE_CHECKING, Any, Dict, Optional
import archinstall
from archinstall import SysInfo, info, debug
@@ -9,13 +9,13 @@ from archinstall.lib import mirrors
from archinstall.lib import models
from archinstall.lib import disk
from archinstall.lib import locale
+from archinstall.lib.models import AudioConfiguration
from archinstall.lib.networking import check_mirror_reachable
from archinstall.lib.profile.profiles_handler import profile_handler
from archinstall.lib import menu
from archinstall.lib.global_menu import GlobalMenu
from archinstall.lib.installer import Installer
from archinstall.lib.configuration import ConfigurationOutput
-from archinstall.default_profiles.applications.pipewire import PipewireProfile
if TYPE_CHECKING:
_: Any
@@ -95,7 +95,7 @@ class SwissMainMenu(GlobalMenu):
options_list = [
'mirror_config', 'disk_config',
'disk_encryption', 'swap', 'bootloader', 'hostname', '!root-password',
- '!users', 'profile_config', 'audio', 'kernels', 'packages', 'additional-repositories', 'network_config',
+ '!users', 'profile_config', 'audio_config', 'kernels', 'packages', 'additional-repositories', 'network_config',
'timezone', 'ntp'
]
@@ -109,7 +109,7 @@ class SwissMainMenu(GlobalMenu):
case ExecutionMode.Only_OS:
options_list = [
'mirror_config','bootloader', 'hostname',
- '!root-password', '!users', 'profile_config', 'audio', 'kernels',
+ '!root-password', '!users', 'profile_config', 'audio_config', 'kernels',
'packages', 'additional-repositories', 'network_config', 'timezone', 'ntp'
]
@@ -236,14 +236,11 @@ def perform_installation(mountpoint: Path, exec_mode: ExecutionMode):
if users := archinstall.arguments.get('!users', None):
installation.create_users(users)
- if audio := archinstall.arguments.get('audio', None):
- info(f'Installing audio server: {audio}')
- if audio == 'pipewire':
- PipewireProfile().install(installation)
- elif audio == 'pulseaudio':
- installation.add_additional_packages("pulseaudio")
+ audio_config: Optional[AudioConfiguration] = archinstall.arguments.get('audio_config', None)
+ if audio_config:
+ audio_config.install_audio_config(installation)
else:
- info("No audio server will be installed.")
+ info("No audio server will be installed")
if profile_config := archinstall.arguments.get('profile_config', None):
profile_handler.install_profile_config(installation, profile_config)