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!