- Nix 98.1%
- Shell 1.9%
Set users.users.<user>.linger = true on nexus so the systemd --user manager persists without an active login session, letting home-manager user timers (the 03:00 backup-forgejo.timer) fire unattended. Refs vnprc/forgejo-config#5 |
||
|---|---|---|
| hooks | ||
| hosts | ||
| modules | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| setup.sh | ||
profiles
Private vnprc machine profile definitions: the real NixOS and Home Manager
modules composed for each machine by the public allod/archetypes framework.
This repo exports the same profiles input contract as the public
allod/profiles example repo, but with the real vnprc fleet.
Ownership
This repo owns:
- per-machine NixOS modules under
hosts/<archetype>/<name>/configuration.nix - per-machine Home Manager modules under
hosts/<archetype>/<name>/home.nix - shared behavior modules under
modules/ - the
profilesinput contract:lib.profileDefinitions, optional per-machinelib.profileData, andhomeModules.preferences
This repo does not own:
- archetype composition, builders, shared framework modules,
vmFacts, and framework checks:allod/archetypes - VM facts, repository registry, IPs, MACs, and platforms:
vnprc/inventory - identity data, credential inventory, Forge users/hosts, token paths, and git
policy data:
vnprc/secrets
Inventory remains the only source of truth for machine platforms. This flake
consumes vnprc/inventory.lib.supportedPlatforms only to decide which check
systems to expose; it does not duplicate architecture strings.
Do not add this repo as an input to vnprc/secrets or vnprc/inventory.
The profiles Input Contract
flake.nix exports a literal attrset:
lib.profileDefinitions = {
<archetype> = {
<definition-name> = {
override ? false;
nixosModules ? [ <module> ... ];
homeModules ? [ <module> ... ];
};
};
};
lib.profileData = {
<machine-name> = { <builder-arg overrides> };
};
homeModules.preferences = <home-manager module>;
The public allod/archetypes framework validates archetype names and composes
these definitions with vnprc/secrets and vnprc/inventory.
Common Commands
nix flake check
nix eval .#lib.profileDefinitions --apply builtins.attrNames --json | jq .
History
This repo has fresh history. The private machine behavior was moved out of
vnprc/secrets so that vnprc/secrets can return to identity and credential
data only. The deprecated private framework-history mirror formerly named
vnprc/profiles is archival only; the active framework is allod/archetypes.