{ 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 ''; in '' assertFileExists home-files/${configfile} assertFileContent home-files/${configfile} ${expected} ''; }