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:
parent
a12a837d99
commit
0a3fb53ee2
4 changed files with 56 additions and 0 deletions
|
|
@ -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}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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}"
|
||||||
|
''}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
programs.delta = {
|
||||||
|
enable = true;
|
||||||
|
enableJujutsuIntegration = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
nmt.script = ''
|
||||||
|
assertPathNotExists home-files/.config/jj/config.toml
|
||||||
|
'';
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue