# 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: ```sh 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