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:
parent
8bef8b7a0a
commit
d8b4ba070f
7 changed files with 58 additions and 0 deletions
|
@ -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
|
||||
|
|
31
modules/programs/mergiraf.nix
Normal file
31
modules/programs/mergiraf.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
|
13
tests/modules/programs/mergiraf/basic-configuration.nix
Normal file
13
tests/modules/programs/mergiraf/basic-configuration.nix
Normal 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
|
||||
}
|
||||
'';
|
||||
}
|
1
tests/modules/programs/mergiraf/default.nix
Normal file
1
tests/modules/programs/mergiraf/default.nix
Normal file
|
@ -0,0 +1 @@
|
|||
{ mergiraf-basic-configuration = ./basic-configuration.nix; }
|
|
@ -0,0 +1 @@
|
|||
* merge=mergiraf
|
9
tests/modules/programs/mergiraf/mergiraf-git.conf
Normal file
9
tests/modules/programs/mergiraf/mergiraf-git.conf
Normal 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"
|
Loading…
Add table
Reference in a new issue