All deployable NixOS configurations can be found in the flake.nix
.
Each configuration in the flake.nix
plugs together
hardware
specific configurations from themachines
subdirectoryuser
specific configurations from thedotfiles
directorysystem
specific configurations from theenvironments
directory, which in turn plugs together configurations from theservices
, andoptions
directory
In the following sections I describe what each subdirectory should contain.
The machines
directory contains a subdirectory for every physical machine running NixOS.
Each of those machine directories contains the
- generated
hardware-configuration.nix
- hardware specific configurations like
bluetooth
andnetworking
The dotfiles
directory contains configurations for user
application configurations like nvim
, git
, etc. and the following files that combine these user
application configurations depending on the usage environment
.
common
unifies alluser
application configurations that can be used on any machine.desktop
unifies alluser
application configurations that can be used on machines with a desktop.work
containsuser
applications that are only used for work.
The environments
directory unifies system
related configurations from the services
, options
, etc. directory depending on the environment
common
unifies allsystem
configurations that can be used on any machine.desktop
unifies allsystem
configurations that can be used on machines with a desktop.work
containssystem
configurations that are only used for work.
This directory contains all system
configurations from the options
category.
This directory contains all system
configurations from the services
category.