100 lines
2.8 KiB
Nix
100 lines
2.8 KiB
Nix
|
{ config, lib, ... }:
|
||
|
|
||
|
with lib;
|
||
|
|
||
|
let
|
||
|
cfg = config.custom.programs.htop;
|
||
|
in
|
||
|
{
|
||
|
options.custom.programs.htop.enable = mkOption { default = false; };
|
||
|
|
||
|
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
||
|
# https://github.com/htop-dev/htop
|
||
|
programs.htop = {
|
||
|
enable = true;
|
||
|
|
||
|
# https://nix-community.github.io/home-manager/options.xhtml#opt-programs.htop.settings
|
||
|
#!! Not up-to-date, some config is imperative
|
||
|
settings =
|
||
|
{
|
||
|
account_guest_in_cpu_meter = 1;
|
||
|
all_branches_collapsed = 0;
|
||
|
color_scheme = 0;
|
||
|
cpu_count_from_one = 1;
|
||
|
degree_fahrenheit = 0;
|
||
|
delay = 30;
|
||
|
detailed_cpu_time = 0;
|
||
|
enable_mouse = 1;
|
||
|
find_comm_in_cmdline = 0;
|
||
|
header_layout = "two_50_50";
|
||
|
header_margin = 1;
|
||
|
hide_function_bar = 0;
|
||
|
hide_kernel_threads = 1;
|
||
|
hide_running_in_container = 0;
|
||
|
hide_userland_threads = 1;
|
||
|
highlight_base_name = 1;
|
||
|
highlight_changes = 1;
|
||
|
highlight_changes_delay_secs = 3;
|
||
|
highlight_deleted_exe = 1;
|
||
|
highlight_megabytes = 1;
|
||
|
highlight_threads = 1;
|
||
|
screen_tabs = 1;
|
||
|
shadow_distribution_path_prefix = 0;
|
||
|
shadow_other_users = 0;
|
||
|
show_cpu_frequency = 0;
|
||
|
show_cpu_temperature = 0;
|
||
|
show_cpu_usage = 0;
|
||
|
show_merged_command = 0;
|
||
|
show_program_path = 0;
|
||
|
show_thread_names = 0;
|
||
|
sort_direction = -1;
|
||
|
sort_key = 46;
|
||
|
strip_exe_from_cmdline = 0;
|
||
|
tree_sort_direction = 1;
|
||
|
tree_sort_key = 0;
|
||
|
tree_view = 0;
|
||
|
tree_view_always_by_pid = 0;
|
||
|
update_process_names = 1;
|
||
|
|
||
|
#!! Variable max of 120
|
||
|
fields = with config.home-manager.users.${config.custom.username}.lib.htop.fields; [
|
||
|
PID
|
||
|
USER
|
||
|
PROCESSOR
|
||
|
PERCENT_CPU
|
||
|
PERCENT_MEM
|
||
|
IO_READ_RATE
|
||
|
IO_WRITE_RATE
|
||
|
125 # CWD
|
||
|
COMM
|
||
|
];
|
||
|
}
|
||
|
// (
|
||
|
with config.home-manager.users.${config.custom.username}.lib.htop;
|
||
|
leftMeters [
|
||
|
(bar "LeftCPUs4")
|
||
|
(text "Blank")
|
||
|
(bar "CPU")
|
||
|
(bar "MemorySwap")
|
||
|
(text "System")
|
||
|
(text "DateTime")
|
||
|
]
|
||
|
)
|
||
|
// (
|
||
|
with config.home-manager.users.${config.custom.username}.lib.htop;
|
||
|
rightMeters [
|
||
|
(bar "RightCPUs4")
|
||
|
(text "Blank")
|
||
|
(bar "NetworkIO")
|
||
|
(bar "DiskIO")
|
||
|
(text "Hostname")
|
||
|
(text "Uptime")
|
||
|
]
|
||
|
);
|
||
|
};
|
||
|
|
||
|
# https://github.com/nix-community/home-manager/issues/4947
|
||
|
xdg.configFile."htop/htoprc".force = true; # Force overwrite config file
|
||
|
};
|
||
|
}
|