Working on modularizing stuff, again
This commit is contained in:
parent
b698ce3485
commit
9ba5f8fdf0
32 changed files with 1481 additions and 88 deletions
146
modules/shell/toolset/btop.nix
Normal file
146
modules/shell/toolset/btop.nix
Normal file
|
@ -0,0 +1,146 @@
|
|||
{ config, options, lib, pkgs, ... }:
|
||||
let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
in
|
||||
{
|
||||
options.modules.shell.toolset.btop = let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
in { enable = mkEnableOption "system-monitor"; };
|
||||
|
||||
config = mkIf config.modules.shell.toolset.btop.enable {
|
||||
hm.programs.btop = let
|
||||
inherit (config.modules.themes) active;
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
settings = {
|
||||
force_tty = false;
|
||||
vim_keys = true; # Directional keys: "h,j,k,l,g,G"
|
||||
update_ms = 1500; # ms (s^{-3})
|
||||
temp_scale = "celsius";
|
||||
base_10_sizes = false;
|
||||
show_cpu_freq = true;
|
||||
clock_format = "%H:%M";
|
||||
background_update = true;
|
||||
disks_filter = "exclude=/boot";
|
||||
|
||||
color_theme = "${active}";
|
||||
rounded_corners = true;
|
||||
theme_background = false;
|
||||
truecolor = true;
|
||||
presets = concatStringsSep "," [
|
||||
"cpu:1:default"
|
||||
"proc:0:default cpu:0:default"
|
||||
"mem:0:default"
|
||||
"net:0:default cpu:0:block"
|
||||
"net:0:tty"
|
||||
];
|
||||
graph_symbol = "braille";
|
||||
graph_symbol_cpu = "default";
|
||||
graph_symbol_mem = "default";
|
||||
graph_symbol_net = "default";
|
||||
graph_symbol_proc = "default";
|
||||
shown_boxes = "proc cpu mem net";
|
||||
|
||||
proc_sorting = "cpu lazy";
|
||||
proc_reversed = false;
|
||||
proc_tree = false;
|
||||
proc_colors = true;
|
||||
proc_gradient = true;
|
||||
proc_per_core = true;
|
||||
proc_mem_bytes = true;
|
||||
proc_info_smaps = false;
|
||||
proc_left = false;
|
||||
|
||||
cpu_graph_upper = "total";
|
||||
cpu_graph_lower = "total";
|
||||
cpu_single_graph = false;
|
||||
cpu_bottom = false;
|
||||
show_uptime = true;
|
||||
check_temp = true;
|
||||
cpu_sensor = "Auto";
|
||||
show_coretemp = true;
|
||||
cpu_core_map = "";
|
||||
custom_cpu_name = "";
|
||||
|
||||
mem_graphs = true;
|
||||
mem_below_net = false;
|
||||
|
||||
show_swap = true;
|
||||
swap_disk = true;
|
||||
show_disks = true;
|
||||
only_physical = true;
|
||||
use_fstab = false; # Enable -> disables `only_physical`
|
||||
disk_free_priv = false;
|
||||
show_io_stat = true;
|
||||
|
||||
io_mode = false;
|
||||
io_graph_combined = false;
|
||||
io_graph_speeds = "";
|
||||
|
||||
net_download = 100;
|
||||
net_upload = 100;
|
||||
net_auto = true;
|
||||
net_sync = false;
|
||||
net_iface = "br0";
|
||||
show_battery = true;
|
||||
selected_battery = "Auto";
|
||||
log_level = "DEBUG";
|
||||
};
|
||||
};
|
||||
|
||||
home.configFile.btop-theme = let
|
||||
inherit (config.modules.themes) active;
|
||||
in
|
||||
mkIf (active != null) {
|
||||
target = "btop/themes/${active}.theme";
|
||||
text = let
|
||||
inherit (config.modules.themes.colors.main) bright types;
|
||||
in ''
|
||||
theme[main_bg]="${types.bg}"
|
||||
theme[main_fg]="${types.fg}"
|
||||
theme[title]="${types.fg}"
|
||||
theme[hi_fg]="${types.highlight}"
|
||||
theme[selected_bg]="${types.border}"
|
||||
theme[selected_fg]="${types.bg}"
|
||||
theme[inactive_fg]="${bright.black}"
|
||||
theme[graph_text]="${bright.yellow}"
|
||||
theme[meter_bg]="${bright.black}"
|
||||
theme[proc_misc]="${bright.yellow}"
|
||||
theme[cpu_box]="${bright.cyan}"
|
||||
theme[mem_box]="${bright.green}"
|
||||
theme[net_box]="${bright.magenta}"
|
||||
theme[proc_box]="${bright.yellow}"
|
||||
theme[div_line]="${bright.black}"
|
||||
theme[temp_start]="${bright.yellow}"
|
||||
theme[temp_mid]="${types.panelbg}"
|
||||
theme[temp_end]="${bright.red}"
|
||||
theme[cpu_start]="${bright.cyan}"
|
||||
theme[cpu_mid]="${types.border}"
|
||||
theme[cpu_end]="${bright.green}"
|
||||
theme[free_start]="${bright.green}"
|
||||
theme[free_mid]="${bright.green}"
|
||||
theme[free_end]="${bright.green}"
|
||||
theme[cached_start]="${bright.yellow}"
|
||||
theme[cached_mid]="${bright.yellow}"
|
||||
theme[cached_end]="${bright.magenta}"
|
||||
theme[available_start]="${bright.yellow}"
|
||||
theme[available_mid]="${bright.yellow}"
|
||||
theme[available_end]="${bright.yellow}"
|
||||
theme[used_start]="${types.panelbg}"
|
||||
theme[used_mid]="${types.panelbg}"
|
||||
theme[used_end]="${bright.red}"
|
||||
theme[download_start]="${bright.blue}"
|
||||
theme[download_mid]="${bright.blue}"
|
||||
theme[download_end]="${bright.magenta}"
|
||||
theme[upload_start]="${bright.blue}"
|
||||
theme[upload_mid]="${bright.blue}"
|
||||
theme[upload_end]="${bright.magenta}"
|
||||
theme[process_start]="${bright.cyan}"
|
||||
theme[process_mid]="${types.border}"
|
||||
theme[process_end]="${bright.green}"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue