{ lib, config, pkgs, ... }: let cfg = config.shell.btop; in { options = { shell.btop.enable = lib.mkEnableOption "btop, a system monitor"; }; config = lib.mkIf cfg.enable { programs.btop = { enable = true; settings = { color_theme = "${pkgs.btop}/share/btop/themes/adapta.theme"; theme_background = true; rounded_corners = true; graph_symbol = "braille"; shown_boxes = "proc cpu mem net"; update_ms = 1000; proc_sorting = "cpu lazy"; proc_colors = true; proc_gradient = true; proc_per_core = true; proc_mem_bytes = true; cpu_graph_upper = "total"; cpu_single_graph = true; show_uptime = true; check_temp = true; cpu_sensor = "Auto"; show_coretemp = true; temp_scale = "celsius"; base_10_sizes = false; show_cpu_freq = true; clock_format = "%H:%M"; background_update = true; mem_graphs = true; show_swap = true; show_io_stat = true; net_download = 128; net_upload = 128; net_auto = false; show_battery = true; selected_battery = "Auto"; }; }; }; }