home-manager/tests/modules/programs/i3status-rust/with-multiple-bars.nix
Robert Helgesson 263f6e4523
i3status-rust: fix tests
Nix 2.12.0 slightly changed the JSON output format. This updates the
i3status-rust test cases to match.
2022-12-13 22:10:22 +01:00

102 lines
2.3 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
{
config = {
programs.i3status-rust = {
enable = true;
bars = {
top = {
blocks = [
{
block = "disk_space";
path = "/";
alias = "/";
info_type = "available";
unit = "GB";
interval = 60;
warning = 20.0;
alert = 10.0;
}
{
block = "memory";
display_type = "memory";
format_mem = "{Mug}GB ({Mup}%)";
format_swap = "{SUp}%";
}
];
};
bottom = {
blocks = [
{
block = "cpu";
interval = 1;
format = "{barchart}";
}
{
block = "load";
interval = 1;
format = "{1m} {5m}";
}
];
icons = "awesome5";
theme = "gruvbox-dark";
};
};
};
test.stubs.i3status-rust = { };
nmt.script = ''
assertFileExists home-files/.config/i3status-rust/config-top.toml
assertFileContent home-files/.config/i3status-rust/config-top.toml \
${
pkgs.writeText "i3status-rust-expected-config" ''
icons = "none"
theme = "plain"
[[block]]
alert = 10.0
alias = "/"
block = "disk_space"
info_type = "available"
interval = 60
path = "/"
unit = "GB"
warning = 20.0
[[block]]
block = "memory"
display_type = "memory"
format_mem = "{Mug}GB ({Mup}%)"
format_swap = "{SUp}%"
''
}
assertFileExists home-files/.config/i3status-rust/config-bottom.toml
assertFileContent \
home-files/.config/i3status-rust/config-bottom.toml \
${
pkgs.writeText "i3status-rust-expected-config" ''
icons = "awesome5"
theme = "gruvbox-dark"
[[block]]
block = "cpu"
format = "{barchart}"
interval = 1
[[block]]
block = "load"
format = "{1m} {5m}"
interval = 1
''
}
'';
};
}