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 import re-usable parts of the configuration as
needed. Deployment and management is done with clan, and
secrets are stored in passage, which
uses age for encryption.
The current hosts are:
| Configuration | Type | Location | Description |
|---|---|---|---|
| kartoffel | Desktop | local | Main desktop workstation |
| kiwi | Laptop | local | Framework 13 (AMD AI 300 series) |
| limette | Laptop | local | Notebook |
| fichte | Laptop | local | ThinkPad T490 |
| tanne | Laptop | local | ThinkPad T480s |
| uconsole | Handheld | local | Clockwork uConsole (RPi CM4) |
| birne | Server | local | Local NAS |
| porree | Server | netcup.de | Server for pablo.tools |
| kfbox | Server | netcup.de | Server for 0cx.de |
| clementine | Server | netcup.de | Server for megaclan3000.de |
| traube | Server | local | aarch64 server |
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!