diff --git a/modules/services/darkman.nix b/modules/services/darkman.nix index d11f0324..b399dad8 100644 --- a/modules/services/darkman.nix +++ b/modules/services/darkman.nix @@ -52,6 +52,7 @@ in { settings = mkOption { type = types.submodule { freeformType = yamlFormat.type; }; + default = { }; example = literalExpression '' { lat = 52.3; @@ -96,7 +97,7 @@ in { Documentation = "man:darkman(1)"; PartOf = [ "graphical-session.target" ]; BindsTo = [ "graphical-session.target" ]; - X-Restart-Triggers = + X-Restart-Triggers = mkIf (cfg.settings != { }) [ "${config.xdg.configFile."darkman/config.yaml".source}" ]; }; diff --git a/tests/modules/services/darkman/default.nix b/tests/modules/services/darkman/default.nix index 6c03491b..d14067b0 100644 --- a/tests/modules/services/darkman/default.nix +++ b/tests/modules/services/darkman/default.nix @@ -1 +1,4 @@ -{ darkman-basic-configuration = ./basic-configuration.nix; } +{ + darkman-basic-configuration = ./basic-configuration.nix; + darkman-no-configuration = ./no-configuration.nix; +} diff --git a/tests/modules/services/darkman/no-configuration.nix b/tests/modules/services/darkman/no-configuration.nix new file mode 100644 index 00000000..1ab6346f --- /dev/null +++ b/tests/modules/services/darkman/no-configuration.nix @@ -0,0 +1,37 @@ +{ + services.darkman.enable = true; + + test.stubs = { + python = { }; + darkman = { }; + }; + + nmt.script = '' + serviceFile=$(normalizeStorePaths home-files/.config/systemd/user/darkman.service) + + assertFileExists $serviceFile + assertFileContent $serviceFile ${ + builtins.toFile "expected" '' + [Install] + WantedBy=graphical-session.target + + [Service] + BusName=nl.whynothugo.darkman + ExecStart=@darkman@/bin/dummy run + Restart=on-failure + Slice=background.slice + TimeoutStopSec=15 + Type=dbus + + [Unit] + BindsTo=graphical-session.target + Description=Darkman system service + Documentation=man:darkman(1) + PartOf=graphical-session.target + '' + } + assertPathNotExists home-files/.local/share/dark-mode.d/color-scheme-dark + assertPathNotExists home-files/.local/share/light-mode.d/color-scheme-light + ''; +} +