From 052ae88a7835ced865366ce129fe29a27244c5df Mon Sep 17 00:00:00 2001 From: servostar Date: Thu, 21 Dec 2023 21:31:25 +0100 Subject: [PATCH] added pipewire and pulseaudio to system --- settings.nix | 12 ++++++++++++ system/default.nix | 7 ++++++- system/pipewire.nix | 22 ++++++++++++++++++++++ system/pulseaudio.nix | 8 ++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 system/pipewire.nix create mode 100644 system/pulseaudio.nix diff --git a/settings.nix b/settings.nix index 0af77ef..5494755 100644 --- a/settings.nix +++ b/settings.nix @@ -99,4 +99,16 @@ with import {}; { prismlauncher = true; steam = true; }; + + sound = { + pipewire = { + enable = true; + alsa = true; + pulse = true; + jack = true; + }; + pulseaudio = { + enable = false; + }; + }; } diff --git a/system/default.nix b/system/default.nix index bdcd7b4..6f9fb9c 100644 --- a/system/default.nix +++ b/system/default.nix @@ -1,7 +1,12 @@ +{ lib, ... }: +let + settings = import ./../settings.nix; +in { imports = [ ./grub.nix ./kernel.nix ./networking.nix - ]; + ] ++ lib.optionals settings.sound.pipewire.enable [ ./pipewire.nix ] + ++ lib.optionals settings.sound.pulseaudio.enable [ ./pulseaudio.nix ]; } diff --git a/system/pipewire.nix b/system/pipewire.nix new file mode 100644 index 0000000..329411d --- /dev/null +++ b/system/pipewire.nix @@ -0,0 +1,22 @@ +{ pkgs, lib, ... }: +let + settings = import ./../settings.nix; +in +{ + # Remove sound.enable or set it to false if you had it set previously, as sound.enable is only meant for ALSA-based configurations + sound.enable = false; + + # rtkit is optional but recommended + security.rtkit.enable = true; + + services.pipewire = { + enable = settings.sound.pipewire.enable; + audio.enable = settings.sound.pipewire.enable; + pulse.enable = settings.sound.pipewire.pulse; + jack.enable = settings.sound.pipewire.jack; + alsa = { + enable = settings.sound.pipewire.alsa; + support32Bit = true; + }; + }; +} diff --git a/system/pulseaudio.nix b/system/pulseaudio.nix new file mode 100644 index 0000000..e84554a --- /dev/null +++ b/system/pulseaudio.nix @@ -0,0 +1,8 @@ +{ pkgs, lib, ... }: +let + settings = import ./../settings.nix; +in +{ + hardware.pulseaudio.enable = true; + hardware.pulseaudio.support32Bit = true; ## If compatibility with 32-bit applications is desired. +}