darcs: add defaults

This adds support for specifying default values for Darcs commands.
This commit is contained in:
toastal 2026-06-02 08:23:48 +00:00 committed by Robert Helgesson
parent f96f717a47
commit 7dbd305f8b
3 changed files with 36 additions and 0 deletions

View file

@ -37,6 +37,19 @@ in
];
description = "File patterns to ignore";
};
defaults = lib.mkOption {
type = lib.types.nullOr lib.types.lines;
default = "";
example = ''
ALL ignore-times
'';
description = ''
Default values for Darcs commands.
See <https://darcs.net/Using/Configuration#defaults> for details.
'';
};
};
};
@ -52,6 +65,9 @@ in
home.file.".darcs/boring".text = lib.concatMapStrings (x: x + "\n") cfg.boring;
})
(lib.mkIf (cfg.defaults != null) {
home.file.".darcs/defaults".text = cfg.defaults;
})
]
);
}

View file

@ -1,4 +1,5 @@
{
darcs-author = ./author.nix;
darcs-boring = ./boring.nix;
darcs-defaults = ./defaults.nix;
}

View file

@ -0,0 +1,19 @@
{
programs.darcs = {
enable = true;
defaults = ''
ALL ignore-times
send sign-as AAAAAAAAAAAAAAAA
push prehook darcs-hooks run pre-push
'';
};
nmt.script = ''
assertFileContent home-files/.darcs/defaults \
${builtins.toFile "expected-defaults" ''
ALL ignore-times
send sign-as AAAAAAAAAAAAAAAA
push prehook darcs-hooks run pre-push
''}
'';
}