diff --git a/modules/programs/vicinae.nix b/modules/programs/vicinae.nix index 7f27e41b..61d7bbb1 100644 --- a/modules/programs/vicinae.nix +++ b/modules/programs/vicinae.nix @@ -13,6 +13,7 @@ let packageVersion = if cfg.package != null then lib.getVersion cfg.package else null; themeIsToml = lib.versionAtLeast packageVersion "0.15.0"; versionPost0_17 = lib.versionAtLeast packageVersion "0.17.0"; + settingsPath = if versionPost0_17 then "vicinae/settings.json" else "vicinae/vicinae.json"; in { meta.maintainers = [ lib.maintainers.leiserfg ]; @@ -228,7 +229,6 @@ in source = themeFormat.generate "vicinae-${name}-theme" theme; } ) cfg.themes; - settingsPath = if versionPost0_17 then "vicinae/settings.json" else "vicinae/vicinae.json"; in { configFile = { @@ -266,6 +266,9 @@ in USE_LAYER_SHELL=${if cfg.useLayerShell then toString 1 else toString 0} '' ); + X-Restart-Triggers = lib.mkIf (cfg.settings != { }) [ + config.xdg.configFile.${settingsPath}.source + ]; }; Install = lib.mkIf cfg.systemd.autoStart { WantedBy = [ cfg.systemd.target ]; diff --git a/tests/modules/programs/vicinae/example-settings.nix b/tests/modules/programs/vicinae/example-settings.nix index 01224052..25de8b7b 100644 --- a/tests/modules/programs/vicinae/example-settings.nix +++ b/tests/modules/programs/vicinae/example-settings.nix @@ -90,6 +90,8 @@ assertFileExists "home-files/.local/share/vicinae/themes/catppuccin-mocha.toml" assertFileExists "home-files/.local/share/vicinae/extensions/cdnjs/package.json" assertFileExists "home-files/.local/share/vicinae/extensions/test-extension/package.json" - assertFileContent "home-files/.config/systemd/user/vicinae.service" ${./service.service} + + serviceFile=$(normalizeStorePaths "home-files/.config/systemd/user/vicinae.service") + assertFileContent $serviceFile ${./service.service} ''; } diff --git a/tests/modules/programs/vicinae/service.service b/tests/modules/programs/vicinae/service.service index abc25c78..d200d69b 100644 --- a/tests/modules/programs/vicinae/service.service +++ b/tests/modules/programs/vicinae/service.service @@ -7,6 +7,7 @@ KillMode=process Restart=always RestartSec=5 Type=simple +X-Restart-Triggers=/nix/store/00000000000000000000000000000000-vicinae-settings [Unit] After=graphical-session.target