My unified nix flake for all configuration management.
.forgejo/workflows | ||
disko | ||
lib | ||
modules | ||
nixos | ||
overlays | ||
packages | ||
secrets | ||
templates | ||
.envrc | ||
.gitignore | ||
.sops.yaml | ||
flake.lock | ||
flake.nix | ||
readme.md | ||
safe-remote-upgrade.bash |
Nix
My grand, declarative, and unified application, service, environment, and machine configuration, secret, and package management in a single flake. ❤️ ❄️
NOTE: Everything in here is highly specific to my personal preference. I can't recommend you actually use this in any way, but hopefully some stuff in here is useful inspiration.
Quick Start
$ nixos-rebuild switch --flake git+https://git.lyte.dev/lytedev/nix#${FLAKE_ATTR}
You don't have even have to clone this crap yourself. How cool is that! But if you do, it looks like this:
$ nixos-rebuild switch --flake ./repo/dir/for/nix#${FLAKE_ATTR}
Secrets
If you're deploying anything secrets-related, you will need the proper keys:
$ mkdir -p ${XDG_CONFIG_HOME:-~/.config}/sops/age
$ pass age-key >> ${XDG_CONFIG_HOME:-~/.config}/sops/age/keys.txt
NixOS
$ nixos-rebuild switch --flake .
Not NixOS
NOTE: I pretty much solely use Home Manager as a NixOS module presently, so this is not fully supported.
$ curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
$ nix run github:nix-community/home-manager switch --flake git+https://git.lyte.dev/lytedev/nix#${FLAKE_ATTR}
Internal/Advanced Usage
See lib/internal.md.
To Do
Short Term
- more-easily manage gitea repo mirroring to github?
- router https://github.com/breakds/nixos-routers/blob/main/machines/welderhelper/router.nix
- a.lyte.dev for web analytics
- grafana and stuff for monitoring
- alerts?
- Broot config?
Long Term
- nix-darwin for work profile(s)