diff --git a/framework/13-inch/common/audio.nix b/framework/13-inch/common/audio.nix index 1d837fea7..68e8c2442 100644 --- a/framework/13-inch/common/audio.nix +++ b/framework/13-inch/common/audio.nix @@ -37,11 +37,23 @@ in This option is enabled by default, because keeping the raw speaker device can lead to volume conflicts. ''; }; + + rawDeviceName = lib.mkOption { + type = lib.types.string; + default = "alsa_output.pci-0000_c1_00.6.analog-stereo"; + description = '' + The name of the raw speaker device. This will vary by device. + You can get this by running `pw-dump | grep -C 20 pci-0000`. + Some models that we tried: + - AMD 7040: alsa_output.pci-0000_c1_00.6.analog-stereo + - Intel 13th gen: alsa_output.pci-0000_00_1f.3.analog-stereo + ''; + }; }; }; config = lib.mkIf cfg.enable (let - outputName = "alsa_output.pci-0000_c1_00.6.analog-stereo"; + outputName = cfg.rawDeviceName; prettyName = "Framework Speakers"; # These are pre-made decibel to linear value conversions, since Nix doesn't have pow().