The root of everyting. Defines the inputs and outputs of the project. Also applies misc overlays and adds config-wide modules. See Nix Flakes for more information.
Hosts
Host
Machine type
Purpose
Tsuki
Dell Poweredge r710 server
Data storage / Build server / Selfhosted services. This server hosts a wide variety of services, including websites, matrix server, git repos, CI/CD and more. This is probably the most interesting machine to pick config from
Kasei
AMD Zen 2 CPU / Nvidia GPU - desktop computer
Semi-daily driver. This is my main computer at home. Most of the configuration written in /home is made specifically for this computer, since Eisei is out of service at the moment.
Eisei
HP Laptop
At the moment, this laptop is not in use. I've found that I'm not able to use NixOS quickly enough in a university environment where I need to rapidly install software and maintain project configurations (Makefile, Maven, django, npm, etc...) for several subjects. In addition to the configurations, some of the software is not available on NixOS. As a result, I would the be forced to package or FHS a lot of stuff in order to do anything productive. I might return to using NixOS on my laptop in the future.
home-manager configuration
Path
Purpose
/home/config
Configuration for everything that is not a program, nor a service, and are big enough to warrant their own file or directory.
/home/modules
Custom home-manager modules.
/home/packages.nix
A list of packages that should be included in the environment.
/home/programs
Configuration for programs that have their own home-manager modules.
/home/services
Configuration for services/daemons that are user-specific.
/home/shell.nix
Shell-agnostic configuration. This includes aliases, envvars, functions, etc.