How do you do, Cola Gangsters? It’s been a while! We’ll get back to the Nixification of our daily driver shortly because a lot of things have changed, and we need to update things for this modern age. Today, however, I want to talk about running containers in a NixOS way that is sure to thrill!
If you’re new here—on the Internet, not the Gang—you might be unaware of the concept known as “there are other websites on the Internet.” If you ever wondered “how did this person I follow on social network XYZ even find this link to this cool thing? Are you telling me there are other websites out there?? What sorcery is this? Begone, you evil mage!” You keep seeing people write and talk and wear cool t-shirts about RSS? Fellow gangster, have I got just the content for you!
This was originally a Mastodon thread, but, due to popular demand (lies), I am going to rehash the whole thing here.
So, please allow me to go on about what I've been doing to get a little less dependent on the whims of billionaires, surveillance capitalism, and “tech giants”. As the enshittification (see @pluralistic for more) marches on, and rich folks plan on extracting even more from everything and everyone, you're no longer just the product: you are the product AND the paying customer. Fuck. That.
Let me preface all this by saying that this is not a “mY tHrEaT mOdEL iS dIfFeReNt” situation. Thankfully, no one's threatening me. What IS different, though, is that I am extremely privileged in many ways, and I can do this kind of stuff without breaking a sweat or the bank. Goes without saying that this is not the reality for the vast majority of people, so take what I'm saying with a huge pile of salt.
Ahoy, cola gangsters! Previously… We were doing a little messing around with rc.lua, and I remember that I did promise you we were going to take this thing from this…
Now that the situation with Grafana has normalized somewhat, let’s get a quick look at how to get node_exporter setup in NixOS. If you don’t know what that is, worry not. We’ll get to it right after the jump!
Cola Gangsters! Holy shit, friends… I just spent some 3 hours fighting with Grafana on the old homelab dojo, and I wanted to get this ode to dumbassery preserved for posterity.
In Part III, we got rid of Hyprland, and installed AwesomeWM. It worked, but it was not looking good at all: we've got the default look and feel, and that's most definitely not what we want. We want to customize this thing, and make it look nice. More importantly, though: we want to Nixify it because we want to be able to clone the repo on a new computer, and get everything installed in 3 minutes flat. What we won't do is call the customization of graphical environments what people usually call it. That shit's racist.
Anyway, let's start getting our AwesomeWM a little bit better. Baby steps. First, we'll need to figure out where the main config file is. AwesomeWM is configured via a Lua file called rc.lua, so let's see how we can go about messing with that.
Previously... We pretty much got a very barebones Hyprland install going, and we did it by using a flake within a flake. Pretty cool. You can run with that if you want, but that's no fun. Really, you can find a bunch of Hyprland config examples across the internet. What we are going to do, however, is get rid of it because fuck that project.
Okay! What do we do, then? Let's go with the Awesome WM, shall we? “But I wanted Hyprland... whyyy?” Because, dear reader, Hyprland doesn't play well with some monitors over HDMI. Specifically, my monitor. Long story short, after a set time, the screen should lock and the monitor should turn off. It doesn't, the screen lock is bypassed, and a new workspace is created out of nowhere. I did open an issue on the project's GitHub, and other folks seem to have the same problem. It won't get fixed, I don't give a shit, and there are alternatives. So, AwesomeWM.