Files
home-manager/tests/modules/programs/diff-so-fancy/diff-so-fancy-migration.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

38 lines
1.8 KiB
Nix

{
lib,
options,
...
}:
{
programs.git = {
enable = true;
diff-so-fancy = {
enable = true;
markEmptyLines = false;
changeHunkIndicators = true;
};
};
test.asserts.warnings.expected = [
"The option `programs.git.diff-so-fancy.changeHunkIndicators' defined in ${lib.showFiles options.programs.git.diff-so-fancy.changeHunkIndicators.files} has been renamed to `programs.diff-so-fancy.settings.changeHunkIndicators'."
"The option `programs.git.diff-so-fancy.markEmptyLines' defined in ${lib.showFiles options.programs.git.diff-so-fancy.markEmptyLines.files} has been renamed to `programs.diff-so-fancy.settings.markEmptyLines'."
"The option `programs.git.diff-so-fancy.enable' defined in ${lib.showFiles options.programs.git.diff-so-fancy.enable.files} has been renamed to `programs.diff-so-fancy.enable'."
"`programs.diff-so-fancy.enableGitIntegration` automatic enablement is deprecated. Please explicitly set `programs.diff-so-fancy.enableGitIntegration = true`."
];
nmt.script = ''
# Git config should contain diff-so-fancy configuration (backward compatibility)
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'
'';
}