{ pkgs , lib , config , ... }: with lib; mkIf config.passthrough.gui { programs.i3status = { enable = true; enableDefault = false; general.colors = true; general.interval = 1; modules = { "ethernet _first_" = { position = 1; settings = { format_up = "%ip at %speed"; format_down = ""; }; }; "wireless _first_" = { position = 2; settings = { format_up = ''%ip at %bitrate (\"%essid\"%quality @ %frequency)''; format_down = ""; }; }; "disk /nix/persist" = { position = 3; settings = { format = "%avail (%percentage_avail)"; threshold_type = "percentage_free"; low_threshold = 25; }; }; memory = { position = 4; settings = { format = "%used / %total"; threshold_degraded = "10%"; threshold_critical = "5%"; format_degraded = ">>> %used / %total <<<"; }; }; load = { position = 5; settings = { format = "%1min %5min %15min"; max_threshold = removeSuffix "\n" (builtins.readFile (pkgs.runCommandLocal "nproc" { } "nproc > $out")); }; }; "battery all" = { position = 6; settings = { format = "%status%percentage @ %consumption ~ %remaining"; format_down = ""; status_chr = "^"; status_full = ""; status_unk = "?"; status_bat = ""; last_full_capacity = true; threshold_type = "percentage"; low_threshold = "15"; }; }; "tztime local" = { position = 127; settings = { format = "%Y-%m-%d %H:%M:%S"; }; }; }; }; }