sapling: add module

Adds a program module for [Sapling](https://sapling-scm.com/).

Since Sapling itself is very similar in nature to Mercurial,
`modules/programs/mercurial.nix` was copied to make this module with
the ignore pieces removed (Sapling respects gitignore).
This commit is contained in:
Pierce Bartine 2023-05-08 10:40:07 -07:00 committed by Robert Helgesson
parent ebeeef94ab
commit efc177c15f
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
7 changed files with 170 additions and 0 deletions

View file

@ -0,0 +1,26 @@
{ pkgs, ... }:
{
programs.sapling = {
enable = true;
userName = "John Doe";
userEmail = "johndoe@example.com";
};
test.stubs.sapling = { };
nmt.script = let
configfile = if pkgs.stdenv.isDarwin then
"Library/Preferences/sapling/sapling.conf"
else
".config/sapling/sapling.conf";
expected = builtins.toFile "sapling.conf" ''
[ui]
username=John Doe <johndoe@example.com>
'';
in ''
assertFileExists home-files/${configfile}
assertFileContent home-files/${configfile} ${expected}
'';
}