Add External Configuration Modules
33
External-Configuration-Modules.md
Normal file
33
External-Configuration-Modules.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# External Configuration Modules
|
||||||
|
|
||||||
|
External modules allow system and user configuration to live in
|
||||||
|
separate Git repositories.
|
||||||
|
|
||||||
|
## System Modules
|
||||||
|
|
||||||
|
Used in `inventory.nix` to define complete host configurations.
|
||||||
|
|
||||||
|
```nix
|
||||||
|
devices."server" = builtins.fetchGit {
|
||||||
|
url = "https://git.example.edu/org/server-config";
|
||||||
|
rev = "abc123";
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## User Modules
|
||||||
|
|
||||||
|
Defined in `users.nix` and typically include both account options and
|
||||||
|
home-manager configuration.
|
||||||
|
|
||||||
|
Each external user module may contain:
|
||||||
|
- `user.nix` (required)
|
||||||
|
- `nixos.nix` (optional)
|
||||||
|
|
||||||
|
## Evaluation Order
|
||||||
|
|
||||||
|
1. User NixOS modules
|
||||||
|
2. Host type modules
|
||||||
|
3. Inventory overrides
|
||||||
|
4. External system modules
|
||||||
|
|
||||||
|
Later modules override earlier ones.
|
||||||
Reference in New Issue
Block a user