| hosts | ||
| modules | ||
| overlays | ||
| .sops.yaml | ||
| flake.lock | ||
| flake.nix | ||
| Makefile | ||
| README.md | ||
| secrets.yaml | ||
My servers using nixos
All of the different hosts (machines) are stored in the hosts directory.
Modules used across different hosts are stored in the modules directory.
The overlays directory contains programs that I've packaged for myself.
That's it, have fun poking around.
Systems
I suppose if you're trying to understand my config you'd need to know where this stuff is deployed and what for.
- blobercraft
- This is my main homelab server. It's used for my media (jellyfin) along with some other stuff that you can find by looking at my config.
- crayon
- My vps running somewhere. It hosts my email, git, and site. Along with whatever else I've decided I want to be publicly facing.
If there's something that's in a specific host's directory then it's only used
for that host, everything shared between them is likely specified in the
flake.nix file. I've tried to add a reasonable amount of comments for things
that I thought a new user might want to understand as nix is rather poorly
documented.
Maintaining
I've included a make file to keep remote systems up to date, here's an example of what I use to deploy to crayon:
make deploy IP=squi.bid HOST=crayon
This step requires the remote system to have a crown user who can execute sudo commands without an interactive prompt.
I'll probably end up switching to something more standard once I've got the time.
TODO:
- blobercraft
- add a git backup for everything on crayon (if possible)
- ff sync server
- crayon
- find a way to make my site deploy declaratively
- use snm flake instead of fetching the tarball