1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-09 10:16:55 +00:00
home-manager/tests/modules/programs/lf/all-options.nix
Robert Helgesson 7a3f0b3b8d
tests: rework derivation stubbing
Instead of having to manually stub packages that should not be
downloaded we instead automatically stub all packages (except a small
list of whitelisted ones). Tests can re-introduce the real package by
using the `realPkgs` module argument.
2025-02-04 23:58:20 +01:00

77 lines
1.2 KiB
Nix

let
pvScript = builtins.toFile "pv.sh" "cat $1";
expected = builtins.toFile "settings-expected" ''
set icons
set noignorecase
set ratios "2:2:3"
set tabstop 4
cmd added :echo "foo"
cmd multiline :{{
push gg
echo "bar"
push i
}}
cmd removed
map aa should-be-added
map ab
cmap <c-a> should-be-added
cmap <c-b>
set previewer ${pvScript}
map i ${"$"}${pvScript} "$f" | less -R
# More config...
'';
in {
programs.lf = {
enable = true;
cmdKeybindings = {
"<c-a>" = "should-be-added";
"<c-b>" = null;
};
commands = {
added = '':echo "foo"'';
removed = null;
multiline = ''
:{{
push gg
echo "bar"
push i
}}'';
};
extraConfig = ''
# More config...
'';
keybindings = {
aa = "should-be-added";
ab = null;
};
previewer = {
keybinding = "i";
source = pvScript;
};
settings = {
ignorecase = false;
icons = true;
tabstop = 4;
ratios = [ 2 2 3 ];
};
};
nmt.script = ''
assertFileExists home-files/.config/lf/lfrc
assertFileContent home-files/.config/lf/lfrc ${expected}
'';
}