1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-31 04:04:32 +00:00

mergiraf: init module (#6633)

This adds git integration for mergiraf. It sets up git to use mergiraf
to automatically resolve merge conflicts.
This commit is contained in:
Bob van der Linden 2025-03-25 21:37:24 +01:00 committed by GitHub
parent 8bef8b7a0a
commit d8b4ba070f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 58 additions and 0 deletions

View file

@ -170,6 +170,7 @@ let
./programs/mbsync.nix
./programs/mcfly.nix
./programs/mercurial.nix
./programs/mergiraf.nix
./programs/micro.nix
./programs/mise.nix
./programs/mods.nix

View file

@ -0,0 +1,31 @@
{ pkgs, config, lib, ... }:
let
inherit (lib)
mkEnableOption mkPackageOption types literalExpression mkIf maintainers;
cfg = config.programs.mergiraf;
mergiraf = "${cfg.package}/bin/mergiraf";
in {
meta.maintainers = [ maintainers.bobvanderlinden ];
options = {
programs.mergiraf = {
enable = mkEnableOption "mergiraf";
package = mkPackageOption pkgs "mergiraf" { };
};
};
config = mkIf cfg.enable {
home.packages = [ cfg.package ];
programs.git = {
attributes = [ "* merge=mergiraf" ];
extraConfig = {
merge.mergiraf = {
name = "mergiraf";
driver =
"${mergiraf} merge --git %O %A %B -s %S -x %X -y %Y -p %P -l %L";
};
};
};
};
}

View file

@ -131,6 +131,7 @@ let
"lsd"
"lieer"
"mbsync"
"mergiraf"
"micro"
"mise"
"mpv"
@ -341,6 +342,7 @@ in import nmtSrc {
./modules/programs/lieer
./modules/programs/man
./modules/programs/mbsync
./modules/programs/mergiraf
./modules/programs/micro
./modules/programs/mise
./modules/programs/mods

View file

@ -0,0 +1,13 @@
{ config, lib, ... }:
{
programs.git.enable = true;
programs.mergiraf.enable = true;
nmt.script = ''
assertFileContent "home-files/.config/git/config" ${./mergiraf-git.conf}
assertFileContent "home-files/.config/git/attributes" ${
./mergiraf-git-attributes.conf
}
'';
}

View file

@ -0,0 +1 @@
{ mergiraf-basic-configuration = ./basic-configuration.nix; }

View file

@ -0,0 +1 @@
* merge=mergiraf

View file

@ -0,0 +1,9 @@
[gpg]
format = "openpgp"
[gpg "openpgp"]
program = "@gnupg@/bin/gpg"
[merge "mergiraf"]
driver = "@mergiraf@/bin/mergiraf merge --git %O %A %B -s %S -x %X -y %Y -p %P -l %L"
name = "mergiraf"