42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
# nix
|
|
|
|
NixOS dotfiles and configuration for various hosts and users.
|
|
|
|
## Structure
|
|
|
|
- [`flake.lock`](./flake.lock) and [`flake.nix`](./flake.nix): Core Nix flake files defining the repository's dependencies and entry points.
|
|
|
|
- [`hosts/`](./hosts): All host-specific configurations.
|
|
- [`common/`](./hosts/common): Shared configuration definitions.
|
|
- [`shells/`](./hosts/common/shells): Nix dev shells.
|
|
- [`configs/`](./hosts/common/configs): System configurations applicable to all hosts.
|
|
- [`system/`](./hosts/common/configs/system): System-level configurations and scripts.
|
|
- [`user/`](./hosts/common/configs/user): Per-user options.
|
|
- [`console/`](./hosts/common/configs/user/console): Console-related settings.
|
|
- [`gui/`](./hosts/common/configs/user/gui): GUI-related settings.
|
|
- `<name>/`: Individual host configurations.
|
|
|
|
- `secrets/<namespace>/`: Global secrets for individual namespaces that apply across all hosts.
|
|
|
|
- [`lib/`](./lib): Nix library function definitions and utilities.
|
|
- [`scripts/`](./lib/scripts): Utility scripts for managing the repository.
|
|
- [`add-host.sh`](./lib/scripts/add-host.sh): Instantiate the keys for a new host configuration.
|
|
- [`remove-host.sh`](./lib/scripts/remove-host.sh): Remove references to a host.
|
|
- [`update-keys.sh`](./lib/scripts/update-keys.sh): Update the encryption keys in all relevant files using `sops.yaml` configurations.
|
|
- [`update.sh`](./lib/scripts/update.sh): Update flake and all git submodules.
|
|
- [`install.sh`](./lib/scripts/install.sh): Install or repair a selected NixOS host.
|
|
|
|
- [`submodules/`](./submodules): Flake forks used in the repository, such as [`nixpkgs`](https://github.com/NixOS/nixpkgs) and [`home-manager`](https://github.com/nix-community/home-manager).
|
|
|
|
Any `options.nix` files create custom option definitions when present.
|
|
|
|
## Hosts
|
|
|
|
Below is a table of all hosts, with links to their respective README files, which may provide further details and/or post-installation checklists.
|
|
|
|
| Host | README |
|
|
|-------------|----------------------------------------------------------|
|
|
| `installer` | [hosts/installer/README.md](./hosts/installer/README.md) |
|
|
| `eirene` | [hosts/eirene/README.md](./hosts/eirene/README.md) |
|
|
| `elara` | [hosts/elara/README.md](./hosts/elara/README.md) |
|