git: allow contents in git.includes
This commit is contained in:
parent
e0e8d5061d
commit
6da88339f5
3 changed files with 41 additions and 5 deletions
|
|
@ -29,3 +29,6 @@ path = ~/path/to/config.inc
|
|||
|
||||
[includeIf "gitdir:~/src/dir"]
|
||||
path = ~/path/to/conditional.inc
|
||||
|
||||
[includeIf "gitdir:~/src/dir"]
|
||||
path = @git_include_path@
|
||||
|
|
|
|||
|
|
@ -1,7 +1,24 @@
|
|||
{ config, lib, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
gitInclude = {
|
||||
user = {
|
||||
name = "John Doe";
|
||||
email = "user@example.org";
|
||||
};
|
||||
};
|
||||
|
||||
substituteExpected = path: pkgs.substituteAll {
|
||||
src = path;
|
||||
|
||||
git_include_path = pkgs.writeText "contents" (generators.toINI {} gitInclude);
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
config = {
|
||||
programs.git = mkMerge [
|
||||
|
|
@ -23,6 +40,10 @@ with lib;
|
|||
path = "~/path/to/conditional.inc";
|
||||
condition = "gitdir:~/src/dir";
|
||||
}
|
||||
{
|
||||
condition = "gitdir:~/src/dir";
|
||||
contents = gitInclude;
|
||||
}
|
||||
];
|
||||
signing = {
|
||||
gpgPath = "path-to-gpg";
|
||||
|
|
@ -43,7 +64,7 @@ with lib;
|
|||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/git/config
|
||||
assertFileContent home-files/.config/git/config ${./git-expected.conf}
|
||||
assertFileContent home-files/.config/git/config ${substituteExpected ./git-expected.conf}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue