flake-config/README.md

41 lines
1.6 KiB
Markdown

# 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.
- blob
- 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:
- [ ] blob
- [ ] 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