diff --git a/config/btop.conf b/config/btop.conf new file mode 100644 index 0000000..0f1649d --- /dev/null +++ b/config/btop.conf @@ -0,0 +1,248 @@ +#? Config file for btop v. 1.4.0 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "/home/cswimr/.config/btop/themes/catppuccin_mocha.theme" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = False + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = True + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = False + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = True + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = True + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "block" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "mem net proc cpu" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 100 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +#* Reverse sorting order, True or False. +proc_reversed = False + +#* Show processes as a tree. +proc_tree = False + +#* Use the cpu graph colors in the process list. +proc_colors = True + +#* Use a darkening gradient in the process list. +proc_gradient = True + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = False + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = True + +#* Show cpu graph for each process. +proc_cpu_graphs = True + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = False + +#* Show proc box on left side of screen instead of right. +proc_left = False + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = False + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = False + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "Auto" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "Auto" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = True + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = False + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = False + +#* Shows the system uptime in the CPU box. +show_uptime = True + +#* Show cpu temperature. +check_temp = True + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = True + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = False + +#* Show CPU frequency. +show_cpu_freq = True + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%X" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = True + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user". +disks_filter = "exclude=/boot" + +#* Show graphs instead of meters for memory values. +mem_graphs = True + +#* Show mem box below net box instead of above. +mem_below_net = False + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = True + +#* If swap memory should be shown in memory box. +show_swap = True + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = True + +#* If mem box should be split to also show disks info. +show_disks = True + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = True + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = True + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = False + +#* Set to true to show available disk space for privileged users. +disk_free_priv = False + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = True + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = False + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = False + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = True + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = True + +#* Starts with the Network Interface specified here. +net_iface = "" + +#* Show battery stats in top right if battery is present. +show_battery = True + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = True + +#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "WARNING" + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = True + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = True + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/config/themes/README.md b/config/themes/README.md index be61716..4b08ec4 100644 --- a/config/themes/README.md +++ b/config/themes/README.md @@ -2,6 +2,10 @@ This directory contains themes for applications. +## btop++ + +The btop++ theme provided in this repository is the Catppuccin Mocha theme from [catppuccin/btop](https://github.com/catppuccin/btop/releases/tag/1.0.0). + ## Glow The Glow theme provided in this repository is the Catppuccin Mocha theme from [catppuccin/glamour](https://github.com/catppuccin/glamour/blob/f410083af1e9b2418bcd73dbbbc987461d4aa292/themes/catppuccin-mocha.json). diff --git a/config/themes/btop.theme b/config/themes/btop.theme new file mode 100644 index 0000000..6915504 --- /dev/null +++ b/config/themes/btop.theme @@ -0,0 +1,83 @@ +# Main background, empty for terminal default, need to be empty if you want transparent background +theme[main_bg]="#1E1E2E" + +# Main text color +theme[main_fg]="#CDD6F4" + +# Title color for boxes +theme[title]="#CDD6F4" + +# Highlight color for keyboard shortcuts +theme[hi_fg]="#89B4FA" + +# Background color of selected item in processes box +theme[selected_bg]="#45475A" + +# Foreground color of selected item in processes box +theme[selected_fg]="#89B4FA" + +# Color of inactive/disabled text +theme[inactive_fg]="#7F849C" + +# Color of text appearing on top of graphs, i.e uptime and current network graph scaling +theme[graph_text]="#F5E0DC" + +# Background color of the percentage meters +theme[meter_bg]="#45475A" + +# Misc colors for processes box including mini cpu graphs, details memory graph and details status text +theme[proc_misc]="#F5E0DC" + +# CPU, Memory, Network, Proc box outline colors +theme[cpu_box]="#cba6f7" #Mauve +theme[mem_box]="#a6e3a1" #Green +theme[net_box]="#eba0ac" #Maroon +theme[proc_box]="#89b4fa" #Blue + +# Box divider line and small boxes line color +theme[div_line]="#6C7086" + +# Temperature graph color (Green -> Yellow -> Red) +theme[temp_start]="#a6e3a1" +theme[temp_mid]="#f9e2af" +theme[temp_end]="#f38ba8" + +# CPU graph colors (Teal -> Lavender) +theme[cpu_start]="#94e2d5" +theme[cpu_mid]="#74c7ec" +theme[cpu_end]="#b4befe" + +# Mem/Disk free meter (Mauve -> Lavender -> Blue) +theme[free_start]="#cba6f7" +theme[free_mid]="#b4befe" +theme[free_end]="#89b4fa" + +# Mem/Disk cached meter (Sapphire -> Lavender) +theme[cached_start]="#74c7ec" +theme[cached_mid]="#89b4fa" +theme[cached_end]="#b4befe" + +# Mem/Disk available meter (Peach -> Red) +theme[available_start]="#fab387" +theme[available_mid]="#eba0ac" +theme[available_end]="#f38ba8" + +# Mem/Disk used meter (Green -> Sky) +theme[used_start]="#a6e3a1" +theme[used_mid]="#94e2d5" +theme[used_end]="#89dceb" + +# Download graph colors (Peach -> Red) +theme[download_start]="#fab387" +theme[download_mid]="#eba0ac" +theme[download_end]="#f38ba8" + +# Upload graph colors (Green -> Sky) +theme[upload_start]="#a6e3a1" +theme[upload_mid]="#94e2d5" +theme[upload_end]="#89dceb" + +# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve) +theme[process_start]="#74C7EC" +theme[process_mid]="#89DCEB" +theme[process_end]="#cba6f7" diff --git a/home-manager/cswimr.nix b/home-manager/cswimr.nix index 60a7950..0de1cf2 100755 --- a/home-manager/cswimr.nix +++ b/home-manager/cswimr.nix @@ -9,6 +9,10 @@ config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/fastfetch.jsonc"; ".psqlrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/.psqlrc"; + ".config/btop/btop.conf".source = + config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/btop.conf"; + ".config/btop/themes/catppuccin_mocha.theme".source = + config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/themes/btop.theme"; ".config/glow/glow.yml".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/config/glow.yml"; ".config/glow/theme.json".source =