about summary refs log tree commit diff
path: root/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2024-03-22 16:41:32 +0100
committerAlyssa Ross <hi@alyssa.is>2024-03-22 16:41:32 +0100
commite97457545cea0b2ca421da257c83d8f1ef451d85 (patch)
treef36109d5da79674a286633b61c09250ed64e61d0 /modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix
parent9f0ef3c2fc9ac63e2077663e4dd2953db59347b4 (diff)
parentbdc68b494d6a26c9457f4841ab1a6109b12a33e6 (diff)
downloadnixlib-e97457545cea0b2ca421da257c83d8f1ef451d85.tar
nixlib-e97457545cea0b2ca421da257c83d8f1ef451d85.tar.gz
nixlib-e97457545cea0b2ca421da257c83d8f1ef451d85.tar.bz2
nixlib-e97457545cea0b2ca421da257c83d8f1ef451d85.tar.lz
nixlib-e97457545cea0b2ca421da257c83d8f1ef451d85.tar.xz
nixlib-e97457545cea0b2ca421da257c83d8f1ef451d85.tar.zst
nixlib-e97457545cea0b2ca421da257c83d8f1ef451d85.zip
Merge https://github.com/tpwrules/nixos-apple-silicon
Diffstat (limited to 'modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix')
-rw-r--r--modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix8
1 files changed, 5 insertions, 3 deletions
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix
index 38e412b9e174..d76e7138d4c9 100644
--- a/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix
+++ b/modules/nixos-apple-silicon/apple-silicon-support/modules/sound/default.nix
@@ -5,13 +5,13 @@
     # disable pulseaudio as the Asahi sound infrastructure can't use it.
     # if we disable it only if setupAsahiSound is enabled, then infinite
     # recursion results as pulseaudio enables config.sound by default.
-    { config.hardware.pulseaudio.enable = false; }
+    { config.hardware.pulseaudio.enable = (!config.hardware.asahi.enable); }
   ];
 
   options.hardware.asahi = {
     setupAsahiSound = lib.mkOption {
       type = lib.types.bool;
-      default = config.sound.enable;
+      default = config.sound.enable && config.hardware.asahi.enable;
       description = ''
         Set up the Asahi DSP components so that the speakers and headphone jack
         work properly and safely.
@@ -20,6 +20,8 @@
   };
 
   config = let
+    cfg = config.hardware.asahi;
+
     asahi-audio = pkgs.asahi-audio; # the asahi-audio we use
 
     lsp-plugins = pkgs.lsp-plugins; # the lsp-plugins we use
@@ -39,7 +41,7 @@
     newHotness = builtins.hasAttr "configPackages" options.services.pipewire;
 
     lv2Path = lib.makeSearchPath "lib/lv2" [ lsp-plugins pkgs.bankstown-lv2 ];
-  in lib.mkIf config.hardware.asahi.setupAsahiSound (lib.mkMerge [
+  in lib.mkIf (cfg.setupAsahiSound && cfg.enable) (lib.mkMerge [
     {
       # enable pipewire to run real-time and avoid audible glitches
       security.rtkit.enable = true;