My current (and everchanging) NixOS configuration Flake.
Installation steps are in Documentation/INSTALLING.md
- Multiple NixOS configurations, including desktop, laptop, and VM
- Install and partitioning scripts
- Impermanence
- Encrypted BTRFS partitions
- Secrets using git-crypt
- Network-deployable through deploy-rs
- Modularized configuration
- Wayland (sway) and XOrg (XMonad) desktops
Here is an overview of the repos' structure:
.
├── flake.nix
├── flake.lock
├── modules
├── overlays
├── packages
├── secrets
├── dotfiles
├── hosts
│ ├── default.nix
│ ├── configuration.nix
│ ├── home.nix
│ ├── luna
│ └── phobos
│ ├── default.nix
│ └── home.nix
└── hardware
├── laptop
├── chromebook
├── virtualbox
└── thinkpad
├── default.nix
├── disks.nix
└── hardware.nix
modules
: encapsulated NixOS modules used in parts of the configoverlays
: nixpkgs overlays used in the configpackages
: extra packages used in the configsecrets
: git-crypt encrypted secrets used in the configdotfiles
: actual dotfiles used in the confighosts
: the host-specific config. Contains folders representing each host with their own specific confighardware
: the hardware-specific config (eg. Disks & Partitions). Contains folders representing each hardware
This configuration was made to be modular and customizable; don't hesistate to adopt it and make it YOURS!