Is NixOS good for general productivity?

Excuse me in advance if this is not the best place to ask this.

Would NixOS be a good choice for everyday productivity (reading, browsing, online communication, document editing and similar things) that requires stability and relatively good performance?

3 Likes

Sure, I use it on my laptop more or less just like that. Generally speaking, when you are using a web browser, word processor, music player, etc you won’t really notice much difference between Linux distros.

The differences are in the initial setup and ongoing maintenance/management. That being said, if you aren’t already familiar with Nix, be aware there is a substantial learning curve with Nixos. Much more than most other Linux distros.

If you are the type who likes to explore and learn new things and/or you have a background in programming, Nixos is great. The stability and reproducibility of Nixos is awesome. I find being able to change a couple of lines in a config file and then watch your desktop be reconfigured quite rewarding. If anything does break, you can always just reboot into a prior generation.

On the other hand, if you are a casual user looking for a quick way to get started with Linux, Nixos is probably the wrong choice.

15 Likes

One of the features I really like in NixOS is nix run. A few days ago, while I shared my screen in a video meeting, I wanted to give the participants remote control so they would draw something for me to express an idea. Everyone watching was super impressed with how I ran a nix search paint and took something “of the shelf” with:

nix run nixpkgs.kolourpaint -c kolourpaint

It just worked and it took seconds! I was satisfied as well by the experience.

9 Likes

Thank you guys! This is really encouraging and indeed, as dalto said, it’s the reproducibility that is so attractive in NixOS. I like to learn new tools. But while skimming the official subreddit and this forum, I came across many posts like “I’m using desktop environment X and the wifi doesn’t work” and similar low-level issues that require multi-day time investments. Roadblocks like those would be a deal-breaker for me. So right now, I’m really sure if it’s worth for me.

Yes, my experience is that the cost of using NixOS is upfront: you need hardware that’s well supported by Linux and you have to set up configuration and do an old style manual installation.

Then, after it is done, everything works forever, and there’s very few things you could do to break the system.

But I won’t lie to you. I have set it up in my laptop to force myself to learn it. On my son’s computer I installed Ubuntu. It breaks, but I don’t stray away from the beaten path on it, so no danger there. Also, the hardware is much older and not well supported, so if it doesn’t work in Ubuntu, it probably wouldn’t work in NixOS anyway, and I won’t waste time trying to figure it out.

3 Likes

you had me there!

off-topic: is it okay if it generally has good Linux support, or are there special attributes I should look for that NixOS really “likes”?

As long as there is good support for your hardware including kernel support for hardware and eventual accompanying odd firmware, I can’t see what would separate NixOS from OtherOS.

I always use laptops from IBM / Lenovo’s ThinkPad series that offers Linux as an option.
That way you’re pretty safe. For desktop, you have more freedom, easier to swap out components, but Lenovo also offers certified Linux desktops.

Dell has a few models as well, so does HP.

2 Likes

NixOS uses Linux kernels. Linux kernel drivers dictate what hardware NixOS supports. Simple as that.

3 Likes

Answering to the orignal question, for me, yes, it has been a excellent choice. But it is important to know that the beginning is not straight-forward. There is really a learning curve at the start, which I was willing to pay.

Now the ROI is tremendous.

2 Likes

As others have mentioned, NixOS is likely more than “good” for “general productivity” even though I must admit that I don’t know what “general productivity” would include!

What I do know is that it is an awesome choice for general programming.

2 Likes

NixOS is the OS for general productivity in my opinion. I used to use Arch for years, but it’s extremely bothersome to set up a new machine or fix one if something breaks.

With NixOS, if it works, it works, and I can easily rollback if I accidentally break something. As already mentioned, nix run and nix shell help a lot with using software in an ad hoc manner.

The main benefit for me is this, instead of starting from scratch with every install, reconfiguring my shell and other tools, and dealing with constant breakage as packages update, I can just continually interate on my configuration and continue to refine it over time.

Thanks to my DevOS project, I build my entire OS in hercules-ci, so if something breaks, I’ll know about it immediately, and updates always happen in a hyper controlled and easily roll-backable fashion ala flakes. I can also easily pull unstable packages and modules from master when I need them, while still using the latest stable release as a baseline.

I haven’t yet, but I’m also going to write some nixos tests in the near future to test tools like tmux, which seems to constantly break the yank plugin on every update, for example.

I could literally go on all day, but I think you get the idea.

5 Likes

@nrdxp It isn’t clear to me how to use this template for my NixOS machine. Do you have some documentation for using this?

There seems to be several mentions of the ability to revert to earlier configurations easily. Here is a small example of how a revert got me out of trouble easily:

Last month I was fiddling around with my laptop configuration, trying to use a security key for PAM to authenticate for sudo.

I managed to lock myself out of root access.

All I had to do to get back was reboot into the previous generation.

3 Likes

There is an open pr to improve docs, explanation of directory layout is done:

4 Likes