Nixos
If you are a Linux user you already know that coding on this platform has some advantages compared to Windows and Mac. However, if you are a Linux user you also know that choosing the right distribution for you can take time and energy. I was no exception to this sort of rule before finding home with NixOS. This is a good story so hold tight.
My first time with Linux takes back around ten years ago when an old friend of mine gifted me an used laptop with Windows XP installed. I liked that machine but I wasn't happy with its OS so I had to find options for it. Like lots of Linux users, I installed Ubuntu but my machine was so old that it easily hanged with just a few programs running. So, I moved on to a Ubuntu based lightweight distribution called Elementary. I liked its elegant and easy to use Macos resemblance UI which was very well known among Linux users but I donated it to a kid from a rural area nearby my city. The kid had to make his homework on his mom's mobile phone so I helped him the same way I'd got helped from my old friend before.
Fast forward, I started my dev journey and installed a couple of Linux distros alongside my mandatory for professional music production Windows installation. I tried more Ubuntu based distros and Manjaro OS with i3, a tiling window manager I was amazed by. All of that was done in hopes of using Windows very sparingly and planning to get rid of it in the future. However, Linux and Windows dual boot never played nice together so I was forced to use Windows as my main OS again with its smart WSL solution for running Linux distributions.
I tried Ubuntu on WSL with Windows terminal for a while. Working with that setup was a bit slow and I noticed that Ubuntu had lots of things I wasn't aware of hence I didn't use. When I removed some of this unnecessary stuff I accidentally broke dependencies and left Ubuntu malfunctioning. That made me install Arch for WSL and sticked with it for a while. Its set up replaced Windows Terminal with Alacritty and Vim with Helix so I could enjoy examples of jewels of software made with Rust. However, my honey moon with Arch ended with problems with WSL shutting down my video card from time to time and I also found myself installing software I'd use once in a while. Again, I needed a change and this time I would find the answer in NixOS.
NixOS is a rare animal in a rare land. It's got a massive package environment you can install with its declarative language. It's ideal for setting up independent development workspaces with dedicated shells and it's got a building system that lets you roll back to previous version of it if everything breaks down. There's nothing similar in the Linux world like NixOS and installing it made my life much easier. My future plan with it is to set up my homelab but I'll need to learn more stuff before sailing off to that adventure.
Find my entire system repo at the end of the post about tmux.