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