{ config, ... }:

{
  programs.i3status = {
    enable = true;
    enableDefault = false;

    general = {
      colors = true;
      color_good = "#e0e0e0";
      color_degraded = "#d7ae00";
      color_bad = "#f69d6a";
      interval = 1;
    };

    package = config.lib.test.mkStubPackage { };

    modules = {
      "volume master" = {
        position = 1;
        settings = {
          format = "♪ %volume";
          format_muted = "♪ muted (%volume)";
          device = "pulse:1";
        };
      };
      "disk /" = {
        position = 2;
        settings = {
          format = "/ %avail";
        };
      };
    };
  };

  nmt.script = ''
    assertFileContent \
      home-files/.config/i3status/config \
      ${builtins.toFile "i3status-expected-config" ''
        general {
          color_bad = "#f69d6a"
          color_degraded = "#d7ae00"
          color_good = "#e0e0e0"
          colors = true
          interval = 1
        }

        order += "volume master"
        order += "disk /"
        disk / {
          format = "/ %avail"
        }

        volume master {
          device = "pulse:1"
          format = "♪ %volume"
          format_muted = "♪ muted (%volume)"
        }
      ''}
  '';
}
