Skip to content

Commit 8c9b545

Browse files
authored
swaync: use x-restart-triggers for reload (#6764)
Use x-restart-triggers to reload on file change, since users with impermanence setups were running into issues with onChange and calling the `swaync-client` to handle the hot reload.
1 parent ef3b2a6 commit 8c9b545

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

modules/services/swaync.nix

+7-6
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,13 @@ in {
8282
home.packages = [ cfg.package pkgs.at-spi2-core ];
8383

8484
xdg.configFile = {
85-
"swaync/config.json" = {
86-
source = jsonFormat.generate "config.json" cfg.settings;
87-
onChange = "${lib.getExe' cfg.package "swaync-client"} --reload-config";
88-
};
85+
"swaync/config.json".source =
86+
jsonFormat.generate "config.json" cfg.settings;
8987
"swaync/style.css" = lib.mkIf (cfg.style != null) {
90-
9188
source = if builtins.isPath cfg.style || lib.isStorePath cfg.style then
9289
cfg.style
9390
else
9491
pkgs.writeText "swaync/style.css" cfg.style;
95-
onChange = "${lib.getExe' cfg.package "swaync-client"} --reload-css";
9692
};
9793
};
9894

@@ -103,6 +99,11 @@ in {
10399
PartOf = [ config.wayland.systemd.target ];
104100
After = [ config.wayland.systemd.target ];
105101
ConditionEnvironment = "WAYLAND_DISPLAY";
102+
X-Restart-Triggers = lib.mkMerge [
103+
[ config.xdg.configFile."swaync/config.json".source ]
104+
(lib.mkIf (cfg.style != null)
105+
[ config.xdg.configFile."swaync/style.css".source ])
106+
];
106107
};
107108

108109
Service = {

tests/modules/services/swaync/swaync.nix

+5-1
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@
1010
};
1111

1212
nmt.script = ''
13+
serviceFile=home-files/.config/systemd/user/swaync.service
14+
serviceFile=$(normalizeStorePaths $serviceFile)
15+
1316
assertFileContent \
14-
home-files/.config/systemd/user/swaync.service \
17+
$serviceFile \
1518
${
1619
builtins.toFile "swaync.service" ''
1720
[Install]
@@ -29,6 +32,7 @@
2932
Description=Swaync notification daemon
3033
Documentation=https://github.com/ErikReider/SwayNotificationCenter
3134
PartOf=graphical-session.target
35+
X-Restart-Triggers=/nix/store/00000000000000000000000000000000-config.json
3236
''
3337
}
3438
'';

0 commit comments

Comments
 (0)