https://github.com/tetra-fox/nix-config
❄️ my nix(os) configuration
https://github.com/tetra-fox/nix-config
dotfiles homelab hyprland nix-flake nixos nixos-configuration quickshell
Last synced: 1 day ago
JSON representation
❄️ my nix(os) configuration
- Host: GitHub
- URL: https://github.com/tetra-fox/nix-config
- Owner: tetra-fox
- License: gpl-3.0
- Created: 2026-04-24T04:12:17.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-06-06T11:36:30.000Z (8 days ago)
- Last Synced: 2026-06-06T13:16:09.168Z (8 days ago)
- Topics: dotfiles, homelab, hyprland, nix-flake, nixos, nixos-configuration, quickshell
- Language: QML
- Homepage:
- Size: 10.3 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ❄️ nix-config
my needlessly complex nix(os) configuration
## 🧩 modules
programs and/or their `home-manager` configuration, auto-discovered from `modules/` by haumea and exposed as `modules..`
each module contains `system.nix`, `home.nix`, or both
files and directories prefixed with `_` are treated as internal (haumea convention)
### 🗂️ profiles
`modules/profiles/` holds opinionated bundles that compose individual modules into ready-to-use roles:
- `base` — universal baseline imported by every host (nix, sshd, zsh, systemd-boot, etc.)
- `workstation` — extends `base` with desktop / interactive-use modules (hyprland, fonts, dev tools, ...)
- `server` — extends `base` with headless / unattended-host modules
hosts import a profile rather than wiring up modules individually:
```nix
# hosts//default.nix
imports = [modules.profiles.workstation.system];
# hosts//home/default.nix
imports = [modules.profiles.workstation.home];
```
individual modules can still be imported directly (`modules..[system|home]`) when a host needs something outside the profile's bundle.
## 🛠️ quirks
machine-specific configuration that doesn't fit as a module - hardware config, drive mounts, peripheral workarounds
lives in `quirks//`
> [!NOTE]
> quirks are automatically imported for the matching host - if `quirks//` exists, `flake.nix` appends it to that host's module list with no per-host wiring
## 🗺️ topology
