aboutsummaryrefslogtreecommitdiff
path: root/home-manager/tests/modules/programs/qutebrowser/keybindings.nix
blob: e89e44b46d90c82bdcb7b6ebe3243ed66c780395 (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
{ config, lib, pkgs, ... }:

with lib;

{
  config = {
    programs.qutebrowser = {
      enable = true;

      enableDefaultBindings = false;

      keyBindings = {
        normal = {
          "<Ctrl-v>" = "spawn mpv {url}";
          ",l" = ''config-cycle spellcheck.languages ["en-GB"] ["en-US"]'';
        };
        prompt = { "<Ctrl-y>" = "prompt-yes"; };
      };
    };

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

    nmt.script = ''
      assertFileContent \
        home-files/.config/qutebrowser/config.py \
        ${
          pkgs.writeText "qutebrowser-expected-config.py" ''
            c.bindings.default = {}
            config.bind(",l", "config-cycle spellcheck.languages [\"en-GB\"] [\"en-US\"]", mode="normal")
            config.bind("<Ctrl-v>", "spawn mpv {url}", mode="normal")
            config.bind("<Ctrl-y>", "prompt-yes", mode="prompt")''
        }
    '';
  };
}