1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-12-07 01:21:03 +01: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

@ -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";
};
};
};
};
}