1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-09 10:16:55 +00:00
home-manager/tests/modules/programs/pistol/associations.nix
Robert Helgesson 7a3f0b3b8d
tests: rework derivation stubbing
Instead of having to manually stub packages that should not be
downloaded we instead automatically stub all packages (except a small
list of whitelisted ones). Tests can re-introduce the real package by
using the `realPkgs` module argument.
2025-02-04 23:58:20 +01:00

36 lines
935 B
Nix

{ pkgs, ... }:
{
programs.pistol = {
enable = true;
associations = [
{
mime = "application/json";
command = "bat %pistol-filename%";
}
{
mime = "application/*";
command = "hexyl %pistol-filename%";
}
{
fpath = ".*.md$";
command =
"sh: bat --paging=never --color=always %pistol-filename% | head -8";
}
];
};
nmt.script = let
expected = builtins.toFile "config-expected" ''
application/json bat %pistol-filename%
application/* hexyl %pistol-filename%
fpath .*.md$ sh: bat --paging=never --color=always %pistol-filename% | head -8'';
path = if pkgs.stdenv.hostPlatform.isDarwin then
"home-files/Library/Application Support/pistol/pistol.conf"
else
"home-files/.config/pistol/pistol.conf";
in ''
assertFileExists '${path}'
assertFileContent '${path}' '${expected}'
'';
}