mirror of
https://github.com/nix-community/home-manager.git
synced 2025-03-09 10:16:55 +00:00
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.
77 lines
1.2 KiB
Nix
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}
|
|
'';
|
|
}
|