My personal NixOS configuration for my desktops and servers.
- Nix 83.6%
- Lua 12.5%
- Shell 2.7%
- JavaScript 1.1%
- Just 0.1%
| .woodpecker | ||
| dns | ||
| options | ||
| packages/vim | ||
| planets | ||
| scripts | ||
| secrets | ||
| wallpapers | ||
| .gitignore | ||
| .sops.yaml | ||
| avatar.png | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| README.md | ||
| TODO.md | ||
| universe.nix | ||
nixos
This is my personal NixOS configuration for my desktops and servers.
Important
I do not recommend anyone to use it, given that it is highly personalised to my own needs.
Why publishing?
- Making this repository public allows me to setup devices easier since I don't need to manage credentials.
- Public Nix configs allow new users to get inspired by different ideas and configuration methods.
Terminology
Planet
The term "planet" refers to a single node in my "universe" (cluster) with its own
set of rules, e.g. hardware-configuration, custom services, etc.
Universe
The term "universe" refers to the cluster of nodes. The universes comprises universal rules, like shell aliases, users, domain, etc.
Synopsis
.
├──. dns
│ └── dns records configured via dnscontrol
├──. options
│ ├── universe
│ │ └── universal configuration applied to all hosts
│ └── planet
│ └── host-specific configuration that needs to be toggled
├──. packages
│ └── custom packages and vim configuration
├──. planets
│ └── host-specific entry configurations
├──. scripts
│ └── maintenance and utility scripts
├──. secrets
│ └── encrypted sops-nix secrets
├──. wallpapers
│ └── wallpapers that are randomly chosen on desktops
└── universe.nix
└── universally applied values, like username, domain, etc.
Credits
This configuration takes advantage of some other repositories and projects, including: