infra/flake/den/templates/examples/modules/_example/ci/one-os-package-per-user.nix
2025-12-01 13:23:24 +07:00

41 lines
729 B
Nix

let
# Example: adds hello into each user. provides only to OS.
hello-package-for-user =
{
user,
host,
...
}:
{
${host.class} =
{ pkgs, ... }:
{
users.users.${user.userName}.packages = [ pkgs.hello ];
};
};
in
{
den.default.includes = [ hello-package-for-user ];
perSystem =
{
checkCond,
rockhopper,
lib,
...
}:
{
checks.alice-hello-enabled-by-default = checkCond "added hello at user packages" (
let
progs = rockhopper.config.users.users.alice.packages;
expr = map lib.getName progs;
expected = [ "hello" ];
in
expr == expected
);
};
}