aboutsummaryrefslogtreecommitdiff
path: root/home-manager/tests/modules/programs/i3status/with-custom.nix
blob: 4aa01773e4e3029bee92c97b819b006d1e41b409 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{ config, lib, pkgs, ... }:

with lib;

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

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

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

    nixpkgs.overlays = [
      (self: super: { i3status = pkgs.writeScriptBin "dummy-i3status" ""; })
    ];

    nmt.script = ''
      assertFileContent \
        home-files/.config/i3status/config \
        ${
          pkgs.writeText "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)"
            }
          ''
        }
    '';
  };
}