diff --git a/nixos/modules/services/audio/alsa.nix b/nixos/modules/services/audio/alsa.nix index 9a70d9edfa72..d49c2676f7df 100644 --- a/nixos/modules/services/audio/alsa.nix +++ b/nixos/modules/services/audio/alsa.nix @@ -9,6 +9,8 @@ let soundState = "/var/lib/alsa/asound.state"; + configPath = "asound.conf"; + in { @@ -35,6 +37,17 @@ in ''; }; + extraConfig = mkOption { + type = types.lines; + default = ''''; + example = '' + defaults.pcm.!card 3 + ''; + description = '' + Set addition configuration for system-wide alsa. + ''; + }; + }; }; @@ -46,6 +59,11 @@ in environment.systemPackages = [ alsaUtils ]; + environment.etc = [ { source = config.sound.extraConfig; + target = configPath; + } + ]; + # ALSA provides a udev rule for restoring volume settings. services.udev.packages = [ alsaUtils ];