My NixOS config for my system.
sudo nixos-rebuild switch --flake .#nixos
nh os switch .
nh os switch . --update
nh clean all --ask
sudo nixos-rebuild switch --flake .#nixos --install-bootloader
.
├── flake.nix # The entry point for the config
├── flake.lock
├── hosts/ # Machine-specific configurations
│ └── desktop/ # A specific machine folder
│ ├── configuration.nix # System-level settings (NixOS)
│ └── hardware.nix # Result of nixos-generate-config
├── modules/ # Reusable pieces of code
│ ├── core/ # Stuff every machine needs (locale, nix-settings)
│ ├── home/ # Home Manager modules
│ │ ├── vscode.nix
│ │ ├── zsh.nix
│ │ └── default.nix # Bundle all home modules
│ └── nixos/ # Reusable NixOS-level modules (docker, steam, etc.)
└── home.nix # Main Home Manager entry point