home-manager | ||
nixos | ||
overlays | ||
pkgs | ||
.gitattributes | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
local.key.asc | ||
preview.png | ||
README.md | ||
secrets.nix |
My Nix files, now organized in a flake.
Thanks for taking a look at my Nix* configs! While this is primarily organized for my use only, you may find each individual service file or user config to be a good starting point, or something to take and adapt into your own config.
Installation
Installing any of my flakes onto a system should be done after any initial install. I would opt to do a minimal install, but this is up to you.
After installing NixOS, backup your hardware-config.nix file, so you can adapt it to fit the format of nixos/hardware/machines
, then adjusting the other referenced files in the flake.nix file to reference your specific computer.
An initial install will have to be ran as nixos-rebuild switch --flake /etc/nixos/.#HOSTNAME
, where HOSTNAME is a hostname defined in your flake. You may also have to enable "experimental" features with a flag, such as nix-command and flakes.
Home-Manager is handled separately, despite being in the same folder. A rebuild of a user's home would have to be done with home-manager switch --flake /etc/nixos
. This will pull the config as defined in the flake as USER@HOSTNAME
, where USER is the user running the home-manager
command.
My config heavily references a gnupg-protected secrets file. These will have to be adapted and rewritten if anyone is to use my config for themselves.
For my use, to unlock secrets, use this command:
gpg --pinentry-mode loopback --decrypt local.key.asc | git-crypt unlock -
Made with love ❤️