{ 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"; };
      };
    };
  };
}
