diff --git a/modules/services/easyeffects.nix b/modules/services/easyeffects.nix index ca15217cc1e5..92f206f3b524 100644 --- a/modules/services/easyeffects.nix +++ b/modules/services/easyeffects.nix @@ -101,7 +101,7 @@ in home.packages = with pkgs; lib.optional olderThan8 at-spi2-core ++ [ cfg.package ]; # Only include if easyeffects version is below 8.0.0 - xdg.dataFile = lib.mkIf (cfg.extraPresets != { }) ( + xdg.dataFile = lib.mkIf (cfg.extraPresets != null && cfg.extraPresets != { }) ( lib.mapAttrs' ( k: v: # Assuming only one of either input or output block is defined, having both in same file not seem to be supported by the application since it separates it by folder diff --git a/tests/modules/services/easyeffects/default.nix b/tests/modules/services/easyeffects/default.nix index 882b5aa48d97..a82a2000e6e7 100644 --- a/tests/modules/services/easyeffects/default.nix +++ b/tests/modules/services/easyeffects/default.nix @@ -3,4 +3,5 @@ lib.optionalAttrs pkgs.stdenv.hostPlatform.isLinux { easyeffects-service = ./service.nix; easyeffects-example-preset = ./example-preset.nix; + easyeffects-null-presets = ./null-presets.nix; } diff --git a/tests/modules/services/easyeffects/null-presets.nix b/tests/modules/services/easyeffects/null-presets.nix new file mode 100644 index 000000000000..b1026601420b --- /dev/null +++ b/tests/modules/services/easyeffects/null-presets.nix @@ -0,0 +1,13 @@ +{ + services.easyeffects = { + enable = true; + extraPresets = null; + }; + + test.stubs.easyeffects = { }; + + nmt.script = '' + assertPathNotExists home-files/.local/share/easyeffects/input + assertPathNotExists home-files/.local/share/easyeffects/output + ''; +}