Blog - GitHub

NixOS vs Void Linux

2023-09-27

First off, some backstory. Until this past Summer, I’d been swapping between Fedora and Nobara Linux; however as time went on, I realised that while recreating my setup between Fedora and Nobara would take a few hours, I’d still be stuck spending a few hours mirroring my old setup on my new one, hoping that I hadn’t missed any packages, COPRs, etc., on the new setup that I relied on on the old setup.

My most recent swap from Nobara to Fedora wasn’t so much out of choice, as it was that I purchased an RX 7900 XTX, and with Nobara’s repos being ~1 month behind Fedora’s, it meant that I would’ve either been stuck using my RTX 2080 SUPER for a month while I waited for drivers to update, or I could just go back to Fedora while keeping my home partition, so I went with the latter of the two options.

However, ne of the final nails in the coffin for this on the desktop was my switch from GNOME to Hyprland. After having wanted to (and repeatedly failing at) switching from a full DE to a window manager, I decided that I wanted to just go all-in on Hyprland. This ended up with some annoyances on Fedora, as the project couldn’t easily be built from source, and there were no packages for it in the Fedora repos, so the next-best option was to use someoene’s COPR repo.

Something, though, stuck in my head about the documentation of the Hyprland project… NixOS. I’d heard of Nix in passing on YouTube, but until that point I’d only known it as a build system, not as a full desktop OS and package manager, so this was a surprise to me. After doing my little bits of looking into it, that’s where I found out about all the fascinating things that the Nix ecosystem has to offer, some of which will probably get blog posts in the future.

Eventually, after having seen it be the “buzz” in a fair few places, mostly looking at you /r/unixporn, I decided that I’d finally give this OS a try. By this point in time, though, I’d already managed to make myself a fairly comprehensive nix flake for my MacBook that was modular enough that with relatively few changes it should at least provide me with a Home-Manager configuration, which was the main thing. Beyond that, just taking a stock configuration.nix file, doing a lot of line deletions, and then adding a couple of things that need to be done in configuration.nix (for example, installing Steam), and I should have had a fully ready-to-use NixOS system.