This repository holds my NixOS configuration. It is fully reproducible, flakes based and uses home-manager for user configurations. Feel free to utilize it in its entirety or borrow specific components for your own configuration!
Warning
This readme is very likely out-dated at at any given time. This is for two reasons. The first is that Nix, as a language, suffers from an apparent need to be frequently refractored. The second reason is that this is my personal configuration, and it is under constant revision.
As with all Nix code (and with software in general), the ultimate form of documentation is the source code itself.
You can also find the full documentation in the docs folder.
- ❄️ Flakes for precise dependency management of the entire system.
- 🏡 Home Manager to configure all used software for the user.
- 📁 Config file structure and modules with options.
.
├── nixos
│ ├── hosts.nix # hosts configuration
│ ├── flake.nix # configuration entry point
│ ├── home # entry point for creating a home manager user
│ │ ├── modules # home-manager modules organized in categories
│ │ ├── bin # binaries from scripts
│ │ └── users # specific users configurations for home manager
| | └── modules # specific user modules
│ ├── systems # system configuration
│ │ ├── modules # system modules organized in categories
│ │ └── machines # machines specific configurations
│ | └── modules # machine specific modules
│ ├── lib # helper functions and variables
│ ├── pkgs # self sealed packages
│ ├── modules # nix common modules for all users and machines
│ └── overlays # common overlays
├── dotfiles # dotfiles for various programs symlinked to home folder using dotbot
├── scripts # various scripts
└── assets # assets used in the readme
The showcased images do not reflect the latest version of the system's appearance. The final setup may vary slightly.