41 lines
1.6 KiB
Markdown
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
|