mirror of
https://github.com/nix-community/home-manager
synced 2024-11-30 06:59:45 +01:00
htop: fix darwin defaults
M_SHARE is not a valid column on Darwin. It seems that previously htop ignored unknown columns, but the current version does not display all subsequent columns.
This commit is contained in:
parent
cb9f03d519
commit
e6869735d2
3 changed files with 34 additions and 18 deletions
|
@ -3,6 +3,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
inherit (pkgs.stdenv.hostPlatform) isDarwin;
|
||||||
|
|
||||||
cfg = config.programs.htop;
|
cfg = config.programs.htop;
|
||||||
|
|
||||||
|
@ -73,6 +74,21 @@ let
|
||||||
M_PSSWP = 120;
|
M_PSSWP = 120;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
defaultFields = with fields; [
|
||||||
|
PID
|
||||||
|
USER
|
||||||
|
PRIORITY
|
||||||
|
NICE
|
||||||
|
M_SIZE
|
||||||
|
M_RESIDENT
|
||||||
|
M_SHARE
|
||||||
|
STATE
|
||||||
|
PERCENT_CPU
|
||||||
|
PERCENT_MEM
|
||||||
|
TIME
|
||||||
|
COMM
|
||||||
|
];
|
||||||
|
|
||||||
modes = {
|
modes = {
|
||||||
Bar = 1;
|
Bar = 1;
|
||||||
Text = 2;
|
Text = 2;
|
||||||
|
@ -154,20 +170,10 @@ in {
|
||||||
|
|
||||||
xdg.configFile."htop/htoprc" = let
|
xdg.configFile."htop/htoprc" = let
|
||||||
defaults = {
|
defaults = {
|
||||||
fields = with fields; [
|
fields = if isDarwin then
|
||||||
PID
|
remove fields.M_SHARE defaultFields
|
||||||
USER
|
else
|
||||||
PRIORITY
|
defaultFields;
|
||||||
NICE
|
|
||||||
M_SIZE
|
|
||||||
M_RESIDENT
|
|
||||||
M_SHARE
|
|
||||||
STATE
|
|
||||||
PERCENT_CPU
|
|
||||||
PERCENT_MEM
|
|
||||||
TIME
|
|
||||||
COMM
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
before = optionalAttrs (cfg.settings ? header_layout) {
|
before = optionalAttrs (cfg.settings ? header_layout) {
|
||||||
|
|
|
@ -17,7 +17,12 @@ with lib;
|
||||||
|
|
||||||
# Test that the 'fields' key is written in addition to the customized
|
# Test that the 'fields' key is written in addition to the customized
|
||||||
# settings or htop won't read the options.
|
# settings or htop won't read the options.
|
||||||
nmt.script = ''
|
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
|
htoprc=home-files/.config/htop/htoprc
|
||||||
assertFileExists $htoprc
|
assertFileExists $htoprc
|
||||||
assertFileContent $htoprc \
|
assertFileContent $htoprc \
|
||||||
|
@ -28,7 +33,7 @@ with lib;
|
||||||
column_meters_1=Tasks LoadAverage Uptime Systemd
|
column_meters_1=Tasks LoadAverage Uptime Systemd
|
||||||
column_meters_modes_0=1 1 1 2
|
column_meters_modes_0=1 1 1 2
|
||||||
column_meters_modes_1=2 2 2 2
|
column_meters_modes_1=2 2 2 2
|
||||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
fields=${fields}
|
||||||
''
|
''
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -11,14 +11,19 @@ with lib;
|
||||||
|
|
||||||
# Test that the 'fields' key is written in addition to the customized
|
# Test that the 'fields' key is written in addition to the customized
|
||||||
# settings or htop won't read the options.
|
# settings or htop won't read the options.
|
||||||
nmt.script = ''
|
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
|
htoprc=home-files/.config/htop/htoprc
|
||||||
assertFileExists $htoprc
|
assertFileExists $htoprc
|
||||||
assertFileContent $htoprc \
|
assertFileContent $htoprc \
|
||||||
${
|
${
|
||||||
builtins.toFile "htoprc-expected" ''
|
builtins.toFile "htoprc-expected" ''
|
||||||
color_scheme=6
|
color_scheme=6
|
||||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
fields=${fields}
|
||||||
''
|
''
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue