home-manager/tests/modules/programs/qutebrowser/keybindings.nix
seylerius 89adfc9f01
qutebrowser: unwrap list from keybinding removal
The option to remove the default keybindings by setting the
`programs.qutebrowser.enableDefaultKeybindings` variable to `false`
had a list wrapped around the `config.py` line. This would cause a
type coercion error.

PR #1410
2020-07-27 16:48:38 +02:00

40 lines
983 B
Nix

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