Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-04-07 12:55:28 +0000
committerGitHub <noreply@github.com>2021-04-07 12:55:28 +0000
commit87d37193e5ab1bb5c4ec4ee556476c351b8ec440 (patch)
tree621fae82bcbe5352beb3d6aa23badfc739dd8a02
parentd6a92df7896f850a3c7f36c9d299f15a70ee50f7 (diff)
parent50c354471f4c27b0c30153902802fb396c76f2b0 (diff)
Merge PR #208: Temporary incorp of audio selection
Implement PipeWire sound server as an option, merging so we can work on this more. No this will not make it into the release as-is, it's just a working branch and this will change :)
-rw-r--r--archinstall/lib/user_interaction.py8
-rw-r--r--examples/guided.py13
2 files changed, 20 insertions, 1 deletions
diff --git a/archinstall/lib/user_interaction.py b/archinstall/lib/user_interaction.py
index 63630515..c5ff17ca 100644
--- a/archinstall/lib/user_interaction.py
+++ b/archinstall/lib/user_interaction.py
@@ -103,6 +103,14 @@ def ask_for_a_timezone():
level=LOG_LEVELS.Warning,
fg='red'
)
+
+def ask_for_audio_selection():
+ audio = "pulseaudio" # Default for most desktop environments
+ pipewire_choice = input("Would you like to install pipewire instead of pulseaudio as the default audio server? [Y/n] ").lower()
+ if pipewire_choice == "y":
+ audio = "pipewire"
+
+ return audio
def ask_to_configure_network():
# Optionally configure one network interface.
diff --git a/examples/guided.py b/examples/guided.py
index 0a655e8a..2e704b94 100644
--- a/examples/guided.py
+++ b/examples/guided.py
@@ -181,6 +181,10 @@ def ask_user_questions():
)
exit(1)
+ # Ask about audio server selection (this right now just asks for pipewire and defaults to pulseaudio otherwise)
+ if not archinstall.arguments.get('audio', None):
+ archinstall.arguments['audio'] = archinstall.ask_for_audio_selection()
+
# Additional packages (with some light weight error handling for invalid package names)
if not archinstall.arguments.get('packages', None):
print("Packages not part of the desktop environment are not installed by default. If you desire a web browser, such as firefox or chromium, you may specify it in the following prompt.")
@@ -329,7 +333,14 @@ def perform_installation(device, boot_partition, language, mirrors):
installation.enable_service('systemd-networkd')
installation.enable_service('systemd-resolved')
-
+ installation.log(f"The {archinstall.arguments.get('audio', None)} audio server will be used.", level=archinstall.LOG_LEVELS.Info)
+ if archinstall.arguments.get('audio', None) == 'pipewire':
+ print('Installing pipewire ...')
+ installation.add_additional_packages(["pipewire", "pipewire-alsa", "pipewire-docs", "pipewire-jack", "pipewire-media-session", "pipewire-pulse", "gst-plugin-pipewire", "libpulse"])
+ elif archinstall.arguments.get('audio', None) == 'pulseaudio':
+ print('Installing pulseaudio ...')
+ installation.add_additional_packages("pulseaudio")
+
if archinstall.arguments.get('packages', None) and archinstall.arguments.get('packages', None)[0] != '':
installation.add_additional_packages(archinstall.arguments.get('packages', None))