All Module options are documented at: https://pinpox.github.io/nixos/
This repository includes all configurations for my NixOS machines. Feel free to use parts of it as you please, but keep it mind it is intended mostly for personal use. I've written posts about certain aspects of this setup on my personal blog.
The structure of this repository is meant to allow easy manual deployment while being
clan compatible.
Individual hosts are defined in /machines/<hostname> and will import re-usable
parts of the configuration as needed.
Deployment and management is done with clan. Secrets are stored in passage, a modern fork of pass that uses age for encryption.
| Configuration | Type | Location | VPN IP | Description |
|---|---|---|---|---|
| kartoffel | Desktop | local | 192.168.8.3 |
Desktop |
| limette | Desktop | local | 192.168.8.8 |
Notebook |
| kiwi | Desktop | local | - | Framework Laptop |
| fichte | Desktop | local | |
Notebook |
| tanne | Desktop | local | |
Notebook |
| birne | Server | local | 192.168.8.4 |
Local NAS |
| porree | Server | netcup.de | 192.168.8.1 |
Server for pablo.tools |
| kfbox | Server | netcup.de | 192.168.8.5 |
Server for 0cx.de |
Deployment is done via clan CLI provided via the flake's
default nix shell. I use direnv to automatically start it
when entering the repository's directory. Run direnv allow on the first time,
after that, deployment can be done via:
clan machines update <hostname>The configuration is organized as follows:
machines/<hostname>: Host-specific configurationsmodules: System-level NixOS moduleshome-manager/modules: User-level home-manager modules for specific applicationshome-manager/profiles: Profiles that combine multiple home-manager moduleshome-manager/packages: Custom packages for applications not present in nixpkgsclan-service-modules: Clan services
While contributions don't make much sense for a personal configuration repository, I'm always happy to get hints, tips and constructive criticism. If you find something that could be done in a better way, please let me know!