You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Riley Apeldoorn ca5ee9ed20 Fix swaylock on work machine 2 months ago
script Add yeet script 6 months ago
secret Add deemix + config 6 months ago
shared Fix swaylock on work machine 2 months ago
system Enable steam and bluetooth on lime 3 months ago
themes Add color theme 9 months ago
README.md Decommission `odin` 9 months ago
flake.lock Update nixpkgs 5 months ago
flake.nix Fix swaylock on work machine 2 months ago
secrets.nix Add deemix + config 6 months ago
switch.sh Allow unfree packages in switch script 9 months ago

README.md

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.