home-manager/tests/modules/services/polybar/basic-configuration.nix
Robert Helgesson 32c336c767
polybar: fix restart trigger
The old trigger would actually never cause a restart since the path
doesn't change. With this change the trigger is now using the actual
configuration path in the Nix store, which depends on the content.

(cherry picked from commit 65700a4fd1)
2022-12-04 13:15:03 +01:00

59 lines
1.6 KiB
Nix

{ config, pkgs, ... }:
{
config = {
services.polybar = {
enable = true;
package = config.lib.test.mkStubPackage { };
script = "polybar bar &";
config = {
"bar/top" = {
monitor = "\${env:MONITOR:eDP1}";
width = "100%";
height = "3%";
radius = 0;
modules-center = "date";
};
"module/date" = {
type = "internal/date";
internal = 5;
date = "%d.%m.%y";
time = "%H:%M";
label = "%time% %date%";
};
};
settings = {
"module/volume" = {
type = "internal/pulseaudio";
format.volume = "<ramp-volume> <label-volume>";
label.muted.text = "🔇";
label.muted.foreground = "#666";
ramp.volume = [ "🔈" "🔉" "🔊" ];
click.right = "pavucontrol &";
};
};
extraConfig = ''
[module/date]
type = internal/date
interval = 5
date = "%d.%m.%y"
time = %H:%M
format-prefix-foreground = ''${colors.foreground-alt}
label = %time% %date%
'';
};
nmt.script = ''
serviceFile=home-files/.config/systemd/user/polybar.service
assertFileExists $serviceFile
assertFileRegex $serviceFile 'X-Restart-Triggers=/nix/store/.*-polybar.conf$'
assertFileRegex $serviceFile 'ExecStart=.*/bin/polybar-start'
assertFileExists home-files/.config/polybar/config.ini
assertFileContent home-files/.config/polybar/config.ini \
${./basic-configuration.conf}
'';
};
}