1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00

delta: add jujutsu integration option

This commit is contained in:
Thierry Delafontaine 2025-10-27 11:13:17 +01:00 committed by Austin Horstman
parent a12a837d99
commit 0a3fb53ee2
4 changed files with 56 additions and 0 deletions

View file

@ -64,6 +64,16 @@ in
''; '';
}; };
enableJujutsuIntegration = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable jujutsu integration for delta.
When enabled, delta will be configured as jujutsus's pager, diff filter, and merge tool.
'';
};
finalPackage = mkOption { finalPackage = mkOption {
type = types.package; type = types.package;
readOnly = true; readOnly = true;
@ -123,5 +133,18 @@ in
delta = cfg.options; delta = cfg.options;
}; };
}) })
(lib.mkIf (cfg.enable && cfg.enableJujutsuIntegration) {
programs.jujutsu.settings = {
merge-tools.delta.diff-expected-exit-codes = [
0
1
];
ui = {
diff-formatter = ":git";
pager = "${lib.getExe cfg.package}";
};
};
})
]; ];
} }

View file

@ -3,5 +3,7 @@
delta-final-package = ./delta-final-package.nix; delta-final-package = ./delta-final-package.nix;
delta-with-git-integration = ./delta-with-git-integration.nix; delta-with-git-integration = ./delta-with-git-integration.nix;
delta-without-git-integration = ./delta-without-git-integration.nix; delta-without-git-integration = ./delta-without-git-integration.nix;
delta-with-jujutsu-integration = ./delta-with-jujutsu-integration.nix;
delta-without-jujutsu-integration = ./delta-without-jujutsu-integration.nix;
delta-migration = ./delta-migration.nix; delta-migration = ./delta-migration.nix;
} }

View file

@ -0,0 +1,21 @@
{ config, lib, ... }:
{
programs.delta = {
enable = true;
enableJujutsuIntegration = true;
};
programs.jujutsu.enable = true;
nmt.script = ''
assertFileExists home-files/.config/jj/config.toml
assertFileContent home-files/.config/jj/config.toml ${builtins.toFile "expected" ''
[merge-tools.delta]
diff-expected-exit-codes = [0, 1]
[ui]
diff-formatter = ":git"
pager = "${lib.getExe config.programs.delta.package}"
''}
'';
}

View file

@ -0,0 +1,10 @@
{
programs.delta = {
enable = true;
enableJujutsuIntegration = false;
};
nmt.script = ''
assertPathNotExists home-files/.config/jj/config.toml
'';
}