aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/home-manager/tests/modules/services/window-managers/i3/i3-keybindings.nix
blob: 0458b8744a46aa2a36d0ac7cd5f07f0c25abf126 (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
{ config, lib, ... }:

with lib;

{
  config = {
    xsession.windowManager.i3 = {
      enable = true;

      config.keybindings =
        let modifier = config.xsession.windowManager.i3.config.modifier;
        in lib.mkOptionDefault {
          "${modifier}+Left" = "overridden-command";
          "${modifier}+Right" = null;
          "${modifier}+Invented" = "invented-key-command";
        };
    };

    nixpkgs.overlays = [
      (self: super: {
        dmenu = super.dmenu // { outPath = "@dmenu@"; };
        i3 = super.writeScriptBin "i3" "" // { outPath = "@i3@"; };
        i3-gaps = super.writeScriptBin "i3-gaps" "" // {
          outPath = "@i3-gaps@";
        };
        i3status = super.i3status // { outPath = "@i3status@"; };
      })
    ];

    nmt.script = ''
      assertFileExists home-files/.config/i3/config
      assertFileContent home-files/.config/i3/config \
        ${./i3-keybindings-expected.conf}
    '';
  };
}