2.home-manager/tests/modules/programs/diff-so-fancy/diff-so-fancy-with-git-integration.nix
Ihar Hrachyshka 3c7524c683
treewide: set git pager for specific commands, not for core.pager
Setting `core.pager` may result in issues like swallowed `git grep` results. 
To avoid this, apply pagers to specific commands where we expect `diff`-ish output only. 
Use a common helper to set pager for all modules that configure it.
2026-04-14 11:31:44 -05:00

27 lines
1.1 KiB
Nix

{
programs.diff-so-fancy = {
enable = true;
enableGitIntegration = true;
settings = {
markEmptyLines = false;
changeHunkIndicators = true;
stripLeadingSymbols = false;
};
};
programs.git.enable = true;
nmt.script = ''
assertFileExists home-files/.config/git/config
assertFileContains home-files/.config/git/config '[pager]'
assertFileRegex home-files/.config/git/config 'diff = .*/diff-so-fancy.*less'
assertFileRegex home-files/.config/git/config 'log = .*/diff-so-fancy.*less'
assertFileRegex home-files/.config/git/config 'show = .*/diff-so-fancy.*less'
assertFileContains home-files/.config/git/config '[interactive]'
assertFileRegex home-files/.config/git/config 'diffFilter = .*/diff-so-fancy --patch'
assertFileContains home-files/.config/git/config '[diff-so-fancy]'
assertFileContains home-files/.config/git/config 'markEmptyLines = false'
assertFileContains home-files/.config/git/config 'changeHunkIndicators = true'
assertFileContains home-files/.config/git/config 'stripLeadingSymbols = false'
'';
}