mergiraf: add jujutsu integration
This commit is contained in:
parent
ddf76d1618
commit
1742b5cb6a
3 changed files with 49 additions and 9 deletions
|
|
@ -27,17 +27,21 @@ in
|
|||
config = mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
|
||||
programs.git = {
|
||||
attributes = [ "* merge=mergiraf" ];
|
||||
settings = {
|
||||
merge = {
|
||||
mergiraf = {
|
||||
name = "mergiraf";
|
||||
driver = "${mergiraf} merge --git %O %A %B -s %S -x %X -y %Y -p %P -l %L";
|
||||
programs = {
|
||||
git = {
|
||||
attributes = [ "* merge=mergiraf" ];
|
||||
settings = {
|
||||
merge = {
|
||||
mergiraf = {
|
||||
name = "mergiraf";
|
||||
driver = "${mergiraf} merge --git %O %A %B -s %S -x %X -y %Y -p %P -l %L";
|
||||
};
|
||||
conflictStyle = "diff3";
|
||||
};
|
||||
conflictStyle = "diff3";
|
||||
};
|
||||
};
|
||||
|
||||
jujutsu.settings.ui.merge-editor = "mergiraf";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1,4 @@
|
|||
{ mergiraf-basic-configuration = ./basic-configuration.nix; }
|
||||
{
|
||||
mergiraf-basic-configuration = ./basic-configuration.nix;
|
||||
mergiraf-jujutsu-integration = ./jujutsu-integration.nix;
|
||||
}
|
||||
|
|
|
|||
33
tests/modules/programs/mergiraf/jujutsu-integration.nix
Normal file
33
tests/modules/programs/mergiraf/jujutsu-integration.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.jujutsu;
|
||||
packageVersion = lib.getVersion cfg.package;
|
||||
|
||||
# jj v0.29+ deprecated support for "~/Library/Application Support" on Darwin.
|
||||
configDir =
|
||||
if pkgs.stdenv.isDarwin && !(lib.versionAtLeast packageVersion "0.29.0") then
|
||||
"Library/Application Support"
|
||||
else
|
||||
".config";
|
||||
in
|
||||
{
|
||||
programs.jujutsu = {
|
||||
enable = true;
|
||||
package = config.lib.test.mkStubPackage { };
|
||||
};
|
||||
programs.mergiraf.enable = true;
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists 'home-files/${configDir}/jj/config.toml'
|
||||
assertFileContent 'home-files/${configDir}/jj/config.toml' \
|
||||
${builtins.toFile "expected.toml" ''
|
||||
[ui]
|
||||
merge-editor = "mergiraf"
|
||||
''}
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue