Add Configuration Namespace

2025-12-18 18:29:56 +00:00
parent ea84197f09
commit 249f2f7eea

@@ -0,0 +1,56 @@
# Configuration Namespace
All Innovation Factory specific configuration options are namespaced
under `athenix.*` to avoid collisions with standard NixOS options.
## athenix.host
Host-level hardware and platform configuration.
Common options:
- `athenix.host.filesystem.device`
- `athenix.host.filesystem.swapSize`
- `athenix.host.buildMethods`
- `athenix.host.useHostPrefix`
- `athenix.host.wsl.user`
These options define how the system boots, installs, and builds artifacts.
## athenix.sw
Defines the software profile for a system.
Key options:
- `athenix.sw.type`
- `athenix.sw.kioskUrl`
- `athenix.sw.extraPackages`
- `athenix.sw.excludePackages`
- `athenix.sw.remoteBuild.*`
- `athenix.sw.python.enable`
System type controls which software stack is applied.
## athenix.users
User account definitions and enablement.
User options include:
- Shell and groups
- SSH keys
- Password hashes
- External user modules
Users are enabled per-host via `inventory.nix`.
## athenix.system
System-wide behaviors such as garbage collection and maintenance.
Typical configuration:
- Automatic GC
- Store optimization
- Retention policies
## athenix.forUser
Convenience option to enable a single user on a system in one line.