diff --git a/home/hosts/andromache/default.nix b/home/hosts/andromache/default.nix index 550e576b..5eecaf7d 100644 --- a/home/hosts/andromache/default.nix +++ b/home/hosts/andromache/default.nix @@ -58,6 +58,7 @@ git.github.enable = true; shell.bash.aliases.lang-js = true; shell.bash.addBinToPath = true; + audio.enable = true; devenv.enable = true; keepassxc.enable = true; direnv.enable = true; diff --git a/home/hosts/astyanax/default.nix b/home/hosts/astyanax/default.nix index 03e3d76f..6809688e 100644 --- a/home/hosts/astyanax/default.nix +++ b/home/hosts/astyanax/default.nix @@ -55,6 +55,7 @@ shell.bash.aliases.lang-js = true; shell.bash.addBinToPath = true; my.yubikey.enable = true; + audio.enable = true; devenv.enable = true; keepassxc.enable = true; direnv.enable = true; diff --git a/home/modules/audio/default.nix b/home/modules/audio/default.nix index e1053cdc..4e6ed093 100644 --- a/home/modules/audio/default.nix +++ b/home/modules/audio/default.nix @@ -1,7 +1,19 @@ -{ osConfig, pkgs, ... }: - { - home.packages = with pkgs; [ pulsemixer ]; + config, + lib, + pkgs, + osConfig, + ... +}: - services.mpris-proxy.enable = osConfig.hardware.bluetooth.enable or false; +let + cfg = config.audio; +in +{ + options.audio.enable = lib.mkEnableOption "audio"; + + config = lib.mkIf cfg.enable { + home.packages = with pkgs; [ pulsemixer ]; + services.mpris-proxy.enable = osConfig.hardware.bluetooth.enable or false; + }; } diff --git a/modules/audio/default.nix b/modules/audio/default.nix index 9779f715..b6f36174 100644 --- a/modules/audio/default.nix +++ b/modules/audio/default.nix @@ -1,17 +1,21 @@ -{ ... }: +{ lib, config, ... }: +let + cfg = config.audio; +in { - imports = [ - ./audio-automation.nix - ]; + imports = [ ./audio-automation.nix ]; - config = { + options.audio.enable = lib.mkEnableOption "audio"; + + config = lib.mkIf cfg.enable { nixpkgs.allowedUnfree = [ "spotify" "spotify-unwrapped" ]; security.rtkit.enable = true; + services = { pulseaudio.enable = false; pipewire = {