2024-05-22 14:29:45 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
lib,
|
2024-11-01 20:54:33 +01:00
|
|
|
pkgs,
|
2024-05-22 14:29:45 +02:00
|
|
|
...
|
2024-11-01 20:54:33 +01:00
|
|
|
}: let
|
2025-04-09 15:31:18 +02:00
|
|
|
inherit (lib.options) mkEnableOption;
|
|
|
|
inherit (lib.modules) mkIf;
|
|
|
|
|
2024-05-15 00:14:59 +02:00
|
|
|
cfg = config.modules.programs.btop;
|
2024-11-01 20:54:33 +01:00
|
|
|
|
|
|
|
btop-settings = pkgs.writeTextDir "btop/btop.conf" ''
|
|
|
|
truecolor = True
|
|
|
|
vim_keys = True
|
|
|
|
rounded_corners = True
|
|
|
|
update_ms = 100
|
|
|
|
graph_symbol = "braille"
|
|
|
|
cpu_single_graph = True
|
|
|
|
clock_format = "%X"
|
|
|
|
use_fstab = True
|
|
|
|
io_mode = True
|
|
|
|
net_sync = True
|
|
|
|
net_iface = "enp4s0"
|
|
|
|
log_level = "ERROR"
|
|
|
|
'';
|
|
|
|
|
|
|
|
btop-wrapped = pkgs.symlinkJoin {
|
|
|
|
name = "btop-wrapped";
|
|
|
|
paths = [pkgs.btop];
|
2025-04-16 22:34:25 +02:00
|
|
|
nativeBuildInputs = [pkgs.makeWrapper];
|
2024-11-01 20:54:33 +01:00
|
|
|
postBuild = ''
|
|
|
|
wrapProgram $out/bin/btop --set XDG_CONFIG_HOME "${btop-settings}"
|
|
|
|
'';
|
|
|
|
};
|
2024-04-10 17:39:26 +02:00
|
|
|
in {
|
2024-05-15 00:14:59 +02:00
|
|
|
options.modules.programs.btop.enable = mkEnableOption "btop";
|
|
|
|
config = mkIf cfg.enable {
|
2024-11-01 20:54:33 +01:00
|
|
|
environment.systemPackages = [btop-wrapped];
|
2024-05-15 00:14:59 +02:00
|
|
|
};
|
2024-04-10 17:39:26 +02:00
|
|
|
}
|