diff --git a/hosts/nixos/configuration.nix b/hosts/nixos/configuration.nix index f11859e..424f867 100644 --- a/hosts/nixos/configuration.nix +++ b/hosts/nixos/configuration.nix @@ -52,23 +52,6 @@ services.envfs.enable = true; - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - nix.settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; diff --git a/hosts/snowhawk/configuration.nix b/hosts/snowhawk/configuration.nix index 0858fd7..dff55b3 100644 --- a/hosts/snowhawk/configuration.nix +++ b/hosts/snowhawk/configuration.nix @@ -39,20 +39,6 @@ services.envfs.enable = true; - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # jack.enable = true; - - media-session.enable = true; - }; - nix.settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; diff --git a/hosts/sprite/configuration.nix b/hosts/sprite/configuration.nix index f11859e..424f867 100644 --- a/hosts/sprite/configuration.nix +++ b/hosts/sprite/configuration.nix @@ -52,23 +52,6 @@ services.envfs.enable = true; - # Enable sound with pipewire. - sound.enable = true; - hardware.pulseaudio.enable = false; - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - #jack.enable = true; - - # use the example session manager (no others are packaged yet so this is enabled by default, - # no need to redefine it in your config for now) - #media-session.enable = true; - }; - nix.settings = { experimental-features = [ "nix-command" "flakes" ]; auto-optimise-store = true; diff --git a/modules/audio.nix b/modules/audio.nix new file mode 100644 index 0000000..65f4450 --- /dev/null +++ b/modules/audio.nix @@ -0,0 +1,27 @@ +{ lib, config, ... }: + +let + cfg = config.snowhawk.audio; +in +{ + options.snowhawk.audio = { + enable = lib.mkEnableOption "audio"; + }; + + config = lib.mkIf cfg.enable { + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # jack.enable = true; + + media-session.enable = true; + }; + }; +} + diff --git a/modules/default.nix b/modules/default.nix index 10992b0..5c89cb2 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -4,6 +4,7 @@ imports = [ ./dwm.nix ./i18n.nix + ./audio.nix ]; snowhawk.i18n.enable = lib.mkDefault true;