From 3f1bdc7af08711e6a1f95034d3c4bbce1ba84c07 Mon Sep 17 00:00:00 2001 From: John Ogle Date: Thu, 19 Sep 2024 20:44:01 -0700 Subject: [PATCH] [audio] Add an audio role --- machines/boxy/configuration.nix | 1 + machines/nix-book/configuration.nix | 1 + machines/z790prors/configuration.nix | 1 + roles/audio/default.nix | 32 ++++++++++++++++++++++++++++ roles/bluetooth/default.nix | 6 ------ roles/default.nix | 6 +----- 6 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 roles/audio/default.nix diff --git a/machines/boxy/configuration.nix b/machines/boxy/configuration.nix index f038cb1..c89a453 100644 --- a/machines/boxy/configuration.nix +++ b/machines/boxy/configuration.nix @@ -11,6 +11,7 @@ ]; roles = { + audio.enable = true; kodi = { enable = true; autologin = true; diff --git a/machines/nix-book/configuration.nix b/machines/nix-book/configuration.nix index b4d837e..d869cfb 100644 --- a/machines/nix-book/configuration.nix +++ b/machines/nix-book/configuration.nix @@ -10,6 +10,7 @@ ]; roles = { + audio.enable = true; bluetooth.enable = true; desktop.enable = true; nfs-mounts.enable = true; diff --git a/machines/z790prors/configuration.nix b/machines/z790prors/configuration.nix index db96528..11e9f18 100644 --- a/machines/z790prors/configuration.nix +++ b/machines/z790prors/configuration.nix @@ -11,6 +11,7 @@ ]; roles = { + audio.enable = true; desktop = { enable = true; x11Only = true; diff --git a/roles/audio/default.nix b/roles/audio/default.nix new file mode 100644 index 0000000..7734aad --- /dev/null +++ b/roles/audio/default.nix @@ -0,0 +1,32 @@ +{ lib, config, pkgs, ... }: + +with lib; + +let + cfg = config.roles.audio; +in +{ + options.roles.audio = { + enable = mkEnableOption "Enable the audio role"; + }; + + config = + { + environment.systemPackages = with pkgs; [ + paprefs + pavucontrol + pulsemixer + ]; + + services.pipewire = { + enable = true; + pulse.enable = true; + }; + hardware.pulseaudio.package = pkgs.pulseaudioFull; + hardware.pulseaudio.extraConfig = " + load-module module-combine-sink + load-module module-switch-on-connect + "; + }; + +} diff --git a/roles/bluetooth/default.nix b/roles/bluetooth/default.nix index a45d19e..a940235 100644 --- a/roles/bluetooth/default.nix +++ b/roles/bluetooth/default.nix @@ -21,12 +21,6 @@ in }; services.blueman.enable = true; - - hardware.pulseaudio.package = pkgs.pulseaudioFull; - hardware.pulseaudio.extraConfig = " - load-module module-combine-sink - load-module module-switch-on-connect - "; }; } diff --git a/roles/default.nix b/roles/default.nix index 7bdb84c..cd55e7b 100644 --- a/roles/default.nix +++ b/roles/default.nix @@ -7,6 +7,7 @@ let in { imports = [ + ./audio ./bluetooth ./desktop ./kodi @@ -38,11 +39,6 @@ in # Enable the OpenSSH daemon. services.openssh.enable = true; - services.pipewire = { - enable = true; - pulse.enable = true; - }; - environment.systemPackages = with pkgs; [ vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. git