htop: fix htoprc when fields is not explicitly set
When the 'fields' setting is not set in htoprc, the htop program won't read any of the settings. Provide a default value for fields in case it's not explicitly set by the user.
This commit is contained in:
parent
447f80f676
commit
e60dca7bb3
|
@ -145,9 +145,27 @@ in {
|
||||||
|
|
||||||
home.packages = [ pkgs.htop ];
|
home.packages = [ pkgs.htop ];
|
||||||
|
|
||||||
xdg.configFile."htop/htoprc" = mkIf (cfg.settings != { }) {
|
xdg.configFile."htop/htoprc" = let
|
||||||
text = concatStringsSep "\n" (mapAttrsToList formatOption cfg.settings)
|
defaults = {
|
||||||
+ "\n";
|
fields = with fields; [
|
||||||
|
PID
|
||||||
|
USER
|
||||||
|
PRIORITY
|
||||||
|
NICE
|
||||||
|
M_SIZE
|
||||||
|
M_RESIDENT
|
||||||
|
M_SHARE
|
||||||
|
STATE
|
||||||
|
PERCENT_CPU
|
||||||
|
PERCENT_MEM
|
||||||
|
TIME
|
||||||
|
COMM
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
in mkIf (cfg.settings != { }) {
|
||||||
|
text = concatStringsSep "\n"
|
||||||
|
(mapAttrsToList formatOption (defaults // cfg.settings)) + "\n";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
htop-empty-settings = ./empty-settings.nix;
|
htop-empty-settings = ./empty-settings.nix;
|
||||||
htop-example-settings = ./example-settings.nix;
|
htop-example-settings = ./example-settings.nix;
|
||||||
|
settings-without-fields = ./settings-without-fields.nix;
|
||||||
}
|
}
|
||||||
|
|
25
tests/modules/programs/htop/settings-without-fields.nix
Normal file
25
tests/modules/programs/htop/settings-without-fields.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
config = {
|
||||||
|
programs.htop.enable = true;
|
||||||
|
programs.htop.settings = { color_scheme = 6; };
|
||||||
|
|
||||||
|
# Test that the 'fields' key is written in addition to the customized
|
||||||
|
# settings or htop won't read the options.
|
||||||
|
nmt.script = ''
|
||||||
|
htoprc=home-files/.config/htop/htoprc
|
||||||
|
assertFileExists $htoprc
|
||||||
|
assertFileContent $htoprc \
|
||||||
|
${
|
||||||
|
builtins.toFile "htoprc-expected" ''
|
||||||
|
color_scheme=6
|
||||||
|
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||||
|
''
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue