My brief fling with NixOS
I bought a used ThinkPad X1 Carbon Gen 7 to try out Linux as a desktop replacement. I've used macOS personally for 10+ years and Windows for work longer than that. I have recently begun to wonder what it's like outside of the Apple ecosystem; I know I don't want to use Windows personally. I use Debian and Ubuntu on cloud instances but only command line. I have no experience using Linux with a windowing environment. I've been listening to Linux Unplugged recently and have become interested in NixOS. I like the idea of declaritive configuration and being able to role back changes. Those two features were enough for me to try it.
The installation process was simple and straightforward. I was concerned dual-boot might not work because there wasn't mention of it during installation but it worked! I was excited when I rebooted and logged in! My excited diminished a bit when windows and text were too small. This is not an issue with NixOS; I was unaware of the different support of fractional scaling by KDE and GNOME. I selected GNOME because it has a different style. I switched to KDE Plasma 5 after reading about it's built-in scaling support. I changed the config in configuration.nix and had a appropriately sized desktop. It was pretty amazing to switch environments by changing some lines of confguration. I was smiling.
The smile started to diminish when I started installing software. I had heard about the repository to search for packages in. I went there and found a couple I wanted to install. Next up was how to install them; I would start with vscodium. I went back and forth searching for sample configs to work from along with general information on how to install packages. All of the sample configs were very different from what I knew; I thought configuration.nix was the way to go. The example configs had multiple files with no mentin of configuration.nix. I stopped looking at examples. I saw packages and programs in my configuration.nix when I figuring out how to install software. While looking for general info I cam across a post from someone also struggling with the difference between programs and packages. The post helped. I still did't understand the difference but I knew what to look for in the repository and knew where to put each in my configuration.nix file.
I started with vscodium; it's a package so I put it in the package section under my user. I rebuilt my config, restarted, and I had vscodium. Yay! I noticed the version was about six months old. This lead me to channels. I realized that with the stable channel, I got packages associated with that release. After searching online, I added the unstable package channel and rebuilt. A ton of packages were installed. I then tried rolling back but this trickier than I expected based on what I had heard about rolling back. I was able to recover but I wasn't any closer to having recent versions of packages installed. This specific experience is what did it for me.
There seem to be several ways to do most things. I find it difficult to move forward. It seemed like each thing I wanted to do required knowledge and finding that knowledge in many cases continued that cycle. It seemed that a lot of the information I found online expected a pretty high level of knowledge; even that which was labelled beginner or starter. Home Manager is example of this. I found information that indicated it was potentially dangerous but also the accepted way to manage users. I spent about 4-6 hours post installion of NixOS and ended up with only an older version on vscodium installed.
I gave up on NixOS and installed KDE neon with Plasma 6. About 3 hours after installation, I have a running sytem with five packages installed. Fractional scaling was automatically set at 175%. I have Firefox syncing set up with my bookmarks and history from my MacBook Air. My Obsidian notes are probably next. I am using iCloud to sync them. That's another story. Moving to another distro has allowed me to actually use Linux. That is my goal. Can I use Linux. Goodbye NixOS; I might visit you again.