mirror of
https://github.com/nix-community/home-manager
synced 2024-11-15 07:39:46 +01:00
a842f812ef
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).
48 lines
1,005 B
Nix
48 lines
1,005 B
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
programs.sapling = {
|
|
enable = true;
|
|
userName = "John Doe";
|
|
userEmail = "johndoe@example.com";
|
|
aliases = {
|
|
cm = "commit";
|
|
d = "diff --exclude=*.lock";
|
|
s = "status";
|
|
view = "!$HG config paths.default | xargs open";
|
|
};
|
|
extraConfig = {
|
|
pager.pager = "delta";
|
|
gpg.key = "not-an-actual-key";
|
|
};
|
|
};
|
|
|
|
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" ''
|
|
[alias]
|
|
cm=commit
|
|
d=diff --exclude=*.lock
|
|
s=status
|
|
view=!$HG config paths.default | xargs open
|
|
|
|
[gpg]
|
|
key=not-an-actual-key
|
|
|
|
[pager]
|
|
pager=delta
|
|
|
|
[ui]
|
|
username=John Doe <johndoe@example.com>
|
|
'';
|
|
in ''
|
|
assertFileExists home-files/${configfile}
|
|
assertFileContent home-files/${configfile} ${expected}
|
|
'';
|
|
}
|