39 lines
2.4 KiB
Markdown
39 lines
2.4 KiB
Markdown
+++
|
||
date = '2025-09-29T20:13:40+02:00'
|
||
draft = false
|
||
tags = [ "nixos", "self-hosting" ]
|
||
title = 'Homelab: Learning the hard way'
|
||
+++
|
||
|
||
Spending the weekend with family, I took the chance to check whether I could still access my various sites and services from outside. Feeling pretty good after that success, I thought—why not set up rtorrent through ProtonVPN on the server?
|
||
|
||
## The Beginning of the Screw-ups
|
||
|
||
Naturally, it wasn’t going to be straightforward. Natively, it’s already messy, but with NixOS? Utter chaos. So I turned to an AI, hoping for some explanations, and started blindly pasting random commands it spit out whenever an error showed up. Of course, nothing ever worked, and even worse, I had no clue what I was actually doing. In situations like that, you can smell disaster coming a mile away.
|
||
|
||
And sure enough—that’s exactly what happened! Boom, the whole network broke. No more outside access, sites and services down, just the big blank page of doom.
|
||
|
||
No problem, I thought—let’s just ssh in and fix the mess… except, nope, I had closed my session, and ssh was now dead too. And that was it. Game over for the weekend, I’d have to wait until I got back home.
|
||
|
||
## NixOS to the Rescue
|
||
|
||
End of the weekend, I get back home, plug a screen into the server, and hook up a USB keyboard. And here’s where NixOS really shows its magic.
|
||
|
||
- I reboot into an earlier generation with no issues.
|
||
- I remove rtorrent.nix and another imported file.
|
||
- I rebuild and reboot.
|
||
- Once it comes back up, services are running again. All that’s left is a bit of cleanup in the Git repo.
|
||
|
||
## Lessons Learned
|
||
|
||
This whole thing could be a chapter of “self-hosting the hard way.” You always learn best the hard way, don’t you? So, to sum up:
|
||
- Don’t mess with configs on weekends—and absolutely not the networking part.
|
||
- Keep Git up to date so you can roll back easily; it makes git reset a lot simpler.
|
||
- NixOS is insanely useful when it comes to fixing your screw-ups in no time flat.
|
||
|
||
## Resolutions
|
||
|
||
Beyond the obvious—stop making critical changes when I don’t have physical access to the machine—I think I’ll set up a method to build NixOS VMs directly from my flake directories, just to test out some configurations. At the very least, I’ll create separate branches for experiments, so I can always rebuild from master if needed. Way simpler in the long run.
|
||
|
||
In short, NixOS gives you huge flexibility. Might as well take full advantage of it, right?
|
||
|