No description
Find a file
Riley Apeldoorn 75603bd327 Refactor the shared/core namespace
- Move trivial modules to `services.nix`
- Gather user-related config in `users.nix`
- Move loading of shared home-manager config into `shared/core`
2023-06-17 20:48:22 +02:00
script Add support for volume keys 2023-06-06 17:14:33 +02:00
secret Allow backblaze secrets to be accessed by lime 2023-06-17 13:26:15 +02:00
shared Refactor the shared/core namespace 2023-06-17 20:48:22 +02:00
system A bunch of random stuff 2023-06-17 20:09:52 +02:00
themes Add color theme 2023-05-21 22:09:59 +00:00
flake.lock Update locks 2023-06-17 12:51:00 +02:00
flake.nix Refactor the shared/core namespace 2023-06-17 20:48:22 +02:00
README.md Decommission odin 2023-06-06 16:19:47 +02:00
secrets.nix Allow backblaze secrets to be accessed by lime 2023-06-17 13:26:15 +02:00
switch.sh Allow unfree packages in switch script 2023-05-25 19:44:28 +02:00

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.