82 lines
3.6 KiB
Nix
82 lines
3.6 KiB
Nix
{ pkgs, lib, ... }:
|
|
|
|
{
|
|
programs.btop = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
# Theme and Visual Settings (Gruvbox Dark to match nvim/tmux)
|
|
color_theme = "gruvbox_dark";
|
|
theme_background = false; # Transparent background
|
|
truecolor = true; # 24-bit color support
|
|
rounded_corners = true; # Modern rounded appearance
|
|
graph_symbol = "braille"; # High-resolution graph symbols
|
|
|
|
# Vim-style Navigation
|
|
vim_keys = true; # Enable h,j,k,l,g,G navigation
|
|
|
|
# Performance and Update Settings
|
|
update_ms = 1000; # Faster updates (1 second)
|
|
background_update = true; # Continue updating when not focused
|
|
|
|
# CPU Display Settings
|
|
cpu_single_graph = false; # Show per-core graphs
|
|
cpu_graph_upper = "total"; # Upper graph shows total usage
|
|
cpu_graph_lower = "total"; # Lower graph shows total usage
|
|
cpu_invert_lower = true; # Invert lower graph for better visualization
|
|
show_uptime = true; # Display system uptime
|
|
show_cpu_freq = true; # Show CPU frequency
|
|
check_temp = true; # Monitor CPU temperature
|
|
show_coretemp = true; # Display core temperatures
|
|
temp_scale = "celsius"; # Use Celsius for temperature
|
|
cpu_sensor = "Auto"; # Auto-detect temperature sensors
|
|
|
|
# Process Display Settings
|
|
proc_sorting = "cpu lazy"; # Sort by CPU usage, lazy update
|
|
proc_tree = false; # Show process hierarchy
|
|
proc_colors = true; # Colorize process list
|
|
proc_gradient = true; # Use gradient colors for processes
|
|
proc_per_core = false; # Don't show per-core process usage
|
|
proc_mem_bytes = true; # Show memory in bytes
|
|
show_init = false; # Hide init processes
|
|
|
|
# Memory Settings
|
|
mem_graphs = true; # Show memory graphs
|
|
show_swap = true; # Display swap usage
|
|
swap_disk = true; # Show swap as disk usage
|
|
|
|
# Disk Settings
|
|
show_disks = true; # Display disk usage
|
|
use_fstab = false; # Don't use fstab for disk detection
|
|
disks_filter = ""; # No disk filtering
|
|
|
|
# Network Settings
|
|
net_download = 100; # Network download scale (Mbps)
|
|
net_upload = 100; # Network upload scale (Mbps)
|
|
net_auto = true; # Auto-scale network graphs
|
|
net_sync = false; # Don't sync download/upload scales
|
|
net_iface = ""; # Auto-detect network interface
|
|
|
|
# Battery Settings (MacBook Air)
|
|
show_battery = true; # Show battery status
|
|
|
|
# GPU Settings (system-specific)
|
|
show_gpu_info = "Auto"; # Auto-detect GPU (works on Linux with Intel/AMD/NVIDIA)
|
|
nvml_measure_pcie_speeds = false; # NVIDIA-specific, disabled for compatibility
|
|
gpu_mirror_graph = true; # Mirror GPU graph when available
|
|
|
|
# Layout Settings (platform-aware)
|
|
# Note: GPU box only shown on Linux where GPU monitoring is fully supported
|
|
# Darwin has limited GPU support (basic metrics only)
|
|
shown_boxes = "cpu mem net proc gpu";
|
|
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty";
|
|
|
|
# Clock Display
|
|
draw_clock = "%X"; # Display time in HH:MM:SS format
|
|
|
|
# Miscellaneous
|
|
force_tty = false; # Don't force TTY mode
|
|
custom_cpu_name = ""; # Use detected CPU name
|
|
};
|
|
};
|
|
}
|