This has suffered several structural modifications throughout my experience learning Nix. Inspiration mostly from:
home
- top-level home-manager modules (per-user)
homeManagerModules
- modularised home-manager configurations for apps, terminal and shells
profiles
- not the most ideally named module, but it contains groups of packages that I pretty much use as bundles
hosts
- top-level NixOS modules (per-host)
nixosModules
- modularised NixOS configurations for apps, services and desktops
- contains some
less modularcommon configuration
overlays
- contains overlays for nixpkgs:
- local - packages not in nixpkgs, declared locally in
packages
- unstable - the unstable branch of nixpkgs
- modifications - overrides of nixpkgs packages
- local - packages not in nixpkgs, declared locally in
- contains overlays for nixpkgs:
packages
- local packages
users
- user account declarations
- Overriding
noto-fonts
(and probably other font packages) forces a rebuild oflibreoffice
. This does theoretically modify the closure, however it is extremely inconvenient.