105 lines
2.8 KiB
Nix
105 lines
2.8 KiB
Nix
# ABOUTME: Btop system monitor configuration with nix-colors theming
|
|
# ABOUTME: Creates a custom theme file and configures btop settings
|
|
|
|
{ config, pkgs, ... }:
|
|
let
|
|
cfg = import ./config.nix;
|
|
palette = config.colorScheme.palette;
|
|
in
|
|
{
|
|
home.file.".config/btop/themes/${cfg.theme}.theme".text = ''
|
|
# Main text color
|
|
theme[main_fg]="${palette.base05}"
|
|
|
|
# Title color for boxes
|
|
theme[title]="${palette.base05}"
|
|
|
|
# Highlight color for keyboard shortcuts
|
|
theme[hi_fg]="${palette.base0D}"
|
|
|
|
# Background color of selected item in processes box
|
|
theme[selected_bg]="${palette.base01}"
|
|
|
|
# Foreground color of selected item in processes box
|
|
theme[selected_fg]="${palette.base05}"
|
|
|
|
# Color of inactive/disabled text
|
|
theme[inactive_fg]="${palette.base04}"
|
|
|
|
# Misc colors for processes box
|
|
theme[proc_misc]="${palette.base0D}"
|
|
|
|
# Box outline colors
|
|
theme[cpu_box]="${palette.base0B}"
|
|
theme[mem_box]="${palette.base09}"
|
|
theme[net_box]="${palette.base0E}"
|
|
theme[proc_box]="${palette.base0C}"
|
|
|
|
# Box divider line
|
|
theme[div_line]="${palette.base04}"
|
|
|
|
# Temperature graph colors
|
|
theme[temp_start]="${palette.base0B}"
|
|
theme[temp_mid]="${palette.base0A}"
|
|
theme[temp_end]="${palette.base08}"
|
|
|
|
# CPU graph colors
|
|
theme[cpu_start]="${palette.base0B}"
|
|
theme[cpu_mid]="${palette.base0A}"
|
|
theme[cpu_end]="${palette.base08}"
|
|
|
|
# Mem/Disk meters
|
|
theme[free_start]="${palette.base0B}"
|
|
theme[cached_start]="${palette.base0A}"
|
|
theme[available_start]="${palette.base09}"
|
|
theme[used_start]="${palette.base08}"
|
|
|
|
# Network graph colors
|
|
theme[download_start]="${palette.base0E}"
|
|
theme[download_mid]="${palette.base0D}"
|
|
theme[download_end]="${palette.base0C}"
|
|
theme[upload_start]="${palette.base0E}"
|
|
theme[upload_mid]="${palette.base0D}"
|
|
theme[upload_end]="${palette.base0C}"
|
|
'';
|
|
|
|
programs.btop = {
|
|
enable = true;
|
|
settings = {
|
|
color_theme = cfg.theme;
|
|
theme_background = false;
|
|
truecolor = true;
|
|
force_tty = false;
|
|
vim_keys = true;
|
|
rounded_corners = true;
|
|
graph_symbol = "braille";
|
|
shown_boxes = "cpu mem net proc";
|
|
update_ms = 2000;
|
|
proc_sorting = "cpu lazy";
|
|
proc_colors = true;
|
|
proc_gradient = false;
|
|
proc_per_core = false;
|
|
proc_mem_bytes = true;
|
|
proc_cpu_graphs = true;
|
|
show_uptime = true;
|
|
check_temp = true;
|
|
show_coretemp = true;
|
|
temp_scale = "celsius";
|
|
show_cpu_freq = true;
|
|
clock_format = "%X";
|
|
background_update = true;
|
|
mem_graphs = true;
|
|
show_swap = true;
|
|
swap_disk = true;
|
|
show_disks = true;
|
|
only_physical = true;
|
|
use_fstab = true;
|
|
show_io_stat = true;
|
|
net_auto = true;
|
|
net_sync = true;
|
|
show_battery = true;
|
|
log_level = "WARNING";
|
|
};
|
|
};
|
|
}
|