# Infrastructure Hello this is my new and improved Nix infrastructure. ## General layout There are three main directories: - `secret`, which contains secrets - `shared`, which contains shared config modules - `system`, which contains the configurations for specific machines I have some machines that don't run NixOS so I have separated the home-manager stuff (`home`) from the NixOS system-level stuff (`core`). For example, `strawberry` is a NixOS machine, so for this machine, there is both a `home.nix` for the home config of my user account, and a `core.nix` containing the system-level configuration of the machine. ### Shared configuration NixOS and home-manager modules are used to organize the config. A lot of config is shared between machines. This is stored within the `shared/` directory, under either `shared/core/` for system-level NixOS modules or `shared/home/` for home-manager modules. There's also a shared key used by the `nix` user of each machine, for which the public key is in `shared/data/`. This key is used to let other machines serve as remote builders.