home-manager/tests/modules/programs/i3status-rust/with-multiple-bars.nix

100 lines
2.2 KiB
Nix

{ config, lib, pkgs, ... }:
{
config = {
programs.i3status-rust = {
enable = true;
bars = {
top = {
blocks = [
{
block = "disk_space";
info_type = "available";
interval = 60;
warning = 20.0;
alert = 10.0;
}
{
block = "memory";
format_mem = " $icon $Mug ($Mup) ";
format_swap = " $icon $SUp ";
}
];
};
bottom = {
blocks = [
{
block = "cpu";
interval = 1;
format = " $icon $barchart ";
}
{
block = "load";
interval = 1;
format = " $icon $1m $5m ";
}
];
icons = "awesome5";
theme = "gruvbox-dark";
};
};
};
test.stubs.i3status-rust = { version = "0.30.0"; };
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" ''
[[block]]
block = "disk_space"
alert = 10
info_type = "available"
interval = 60
warning = 20
[[block]]
block = "memory"
format_mem = " $icon $Mug ($Mup) "
format_swap = " $icon $SUp "
[icons]
icons = "none"
[theme]
theme = "plain"
''
}
assertFileExists home-files/.config/i3status-rust/config-bottom.toml
assertFileContent \
home-files/.config/i3status-rust/config-bottom.toml \
${
pkgs.writeText "i3status-rust-expected-config" ''
[[block]]
block = "cpu"
format = " $icon $barchart "
interval = 1
[[block]]
block = "load"
format = " $icon $1m $5m "
interval = 1
[icons]
icons = "awesome5"
[theme]
theme = "gruvbox-dark"
''
}
'';
};
}