Migrate htop configuration to home-manager

There is a module for htop, so use that one instead of home.file.
The cool thing is: It has "constants" for some strange integer values.
So nix version is actually readable while the generated config is
strange.

That's a cool pro of nix files.
This commit is contained in:
Daniel Siepmann 2022-02-02 22:52:40 +01:00
parent dc612f584e
commit 459169b9b8
Signed by: Daniel Siepmann
GPG key ID: 33D6629915560EF4
2 changed files with 59 additions and 3 deletions

View file

@ -19,6 +19,9 @@
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Install packages
# Some are installed via `programs` below, as they are also configured.
# Some packages don't have a module for configuration, and are configured via `home.file` below.
home.packages = [
pkgs.nix
pkgs.cacert
@ -29,9 +32,6 @@
pkgs.dunst
pkgs.i3lock-color
# System monitoring
pkgs.htop
# Dev tools
pkgs.litecli
pkgs.mycli
@ -51,6 +51,9 @@
git = import ./home/programs/git.nix {
inherit pkgs;
};
htop = import ./home/programs/htop.nix {
inherit config;
};
};
home.file = {

53
home/programs/htop.nix Normal file
View file

@ -0,0 +1,53 @@
{ config }:
{
enable = true;
settings = {
delay = 15;
color_scheme = 0;
tree_view = 0;
fields = with config.lib.htop.fields; [
PID
USER
PRIORITY
NICE
M_SIZE
M_RESIDENT
M_SHARE
STATE
PERCENT_CPU
PERCENT_MEM
TIME
COMM
];
highlight_base_name = 0;
highlight_megabytes = 1;
highlight_threads = 1;
show_thread_names = 0;
show_program_path = 1;
hide_threads = 0;
hide_kernel_threads = 1;
hide_userland_threads = 0;
sort_key = 47;
sort_direction = 1;
} // (with config.lib.htop; leftMeters [
(bar "LeftCPUs")
(bar "Memory")
(bar "Swap")
(text "Zram")
(text "Systemd")
]) // (with config.lib.htop; rightMeters [
(bar "RightCPUs")
(text "Tasks")
(text "LoadAverage")
(text "Uptime")
(text "Battery")
]);
}