depot/third_party/home-manager/tests/modules/programs/htop/header_layout.nix
Default email 2eafb8192e Project import generated by Copybara.
GitOrigin-RevId: 176e455371a8371586e8a3ff0d56ee9f3ca2324e
2023-01-10 02:35:00 -07:00

42 lines
1.2 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
{
config = with config.lib.htop; {
programs.htop.enable = true;
programs.htop.settings = {
header_layout = "two_50_50";
column_meters_0 = [ "AllCPUs2" "Memory" "Swap" "Zram" ];
column_meters_modes_0 = [ modes.Bar modes.Bar modes.Bar modes.Text ];
column_meters_1 = [ "Tasks" "LoadAverage" "Uptime" "Systemd" ];
column_meters_modes_1 = [ modes.Text modes.Text modes.Text modes.Text ];
};
test.stubs.htop = { };
# Test that the 'fields' key is written in addition to the customized
# settings or htop won't read the options.
nmt.script = let
fields = if pkgs.stdenv.hostPlatform.isDarwin then
"0 48 17 18 38 39 2 46 47 49 1"
else
"0 48 17 18 38 39 40 2 46 47 49 1";
in ''
htoprc=home-files/.config/htop/htoprc
assertFileExists $htoprc
assertFileContent $htoprc \
${
builtins.toFile "htoprc-expected" ''
header_layout=two_50_50
column_meters_0=AllCPUs2 Memory Swap Zram
column_meters_1=Tasks LoadAverage Uptime Systemd
column_meters_modes_0=1 1 1 2
column_meters_modes_1=2 2 2 2
fields=${fields}
''
}
'';
};
}