Why did you come to NixOS (if you are using it)?

Ran Arch server for years with btrfs. Wanted something different and switched to Suse MicroOS. Btrfs bit me one time too many and the immutable model was pretty clunky for my use case. Switched everything to ZFS (yeah, a bit of a btrfs rage quit moment) and since I’ve never been fond of administering Ubuntu servers, found NixOS for the easy ZFS access. I’m hoping time will help with the complexity…

2 Likes

Updates were too dangerous & destructive for me in other distros. I’ve been locked out after a seemingly innocent update so many times even if it was just a simple update after a fresh install (black screen with Solus all the time, lol) with super standard hardware (like a Thinkpad T480 without a dGPU btw). I’ve always had worse “luck” than others since updates work fine for most but I always get the short end of the stick. As I distrohopped, I experienced this across many different distros (Manjaro, PopOS, etc), and while I get that I shouldn’t blindly update things, I needed a saner approach that’ll allow me to just boot back to the last known good state - which is what NixOS does really well (not just with updates but with config changes too).

Doing a fresh install of my main machine with NixOS cuts down so much time wasted that I really only have to add my SSH & GPG keys, some projects for work and personal stuff, and manually partition (I know about disko, have to try it some time). Normally it would take me ages to set things up. I hated every single time I had to reinstall all my programs manually, and add back all my config files.

Another thing is I was looking for something that allowed me to configure & manage my different systems. Tried Ansible, was ok, but didn’t like the imperative approach. Not a fan of the weird import syntax, made it so annoying to read through especially after not touching it for a long time. Things were too ambiguous to me, and I always dread having to deal with Ansible. Didn’t fit how I think all too well.

NixOS does these things for me so well it’s actually unreal. I use flakes + nixos-rebuild for all my machines. While it has its quirks, the alternative approach seems nothing but insanity to me.

1 Like

@sekun Oh nice, another ThinkPad user! I use a second hand P-series from 2016. It’s really good that nix is one of few distros that truly defeat system ‘decay’!

When I switched to Linux (Ubuntu to be precise) everywhere (not so long before I started using NixOS) I realized that I wanted an automated setup of my machine (because I didn’t want to document or remember all the hacks I was doing to keep it running). So I figured let’s do what I’ve seen for config management already, let’s use Ansible.

It quickly became a mess and I heard about NixOS from a few colleagues who started using it for my employer’s internal infrastructure… when I gave it a try in January 2017 I was sold and never looked back.

6 Likes

I started with Linux for Human Beings in 2006 and stuck with it for 15 years. Over the years I’ve grown both more knowledgeable and (I hope) more wise; I’ve become skilled at diving into complex systems and coming out ahead, and at the same time have developed a healthy cynicism toward much of technology. NixOS has turned out to be a great fit, as I have the practical capacity to operate it, and its functional paradigm and immutability gives me peace of mind.

1 Like

My first foray into it was trying to get up-to-date versions of Emacs running on university computers without having to manually build it - and all the up-to-date dependencies it required - all the time.

There were basically two options for distro-independent, non-root-requiring package managers: nix and portage. Nix was attractive at first because of the pre-built binaries (not much CPU power on those machines), but I quickly found it still was not a good fit for me. There was a low symlink quota on those machines, I could barely install anything, let alone update. I gave up on using it pretty quickly, switching over to some portage mess.

A few years later there were some presentations about it at a conference and it got me curious again; I quickly realized it was exactly the declarative system configuration tool I’d wished I’d had for like forever - I just somehow skimmed past NixOS and home-manager back in 2015 because I was too focused on getting Emacs installed.

Just a few weeks after that I’d set up my first NixOS machine, converted my dotfiles, and abandoned Gentoo. Now I don’t have any non-NixOS machines left :wink:

Definitely makes me think about newcomer experience more. It could have saved me half a decade of despair if the docs had been a bit more focused back when I first encountered nix; I spent far too much time trying to understand it from the perspective of nix-env.

2 Likes

8 years ago or so @kirelagin told me

NixOS is a Linux distribution where everything is done just the right way

That turned out to be true, been using nix ever since!

2 Likes

I was playing around with Linux From Scratch at the time, and after finishing an installation, I started another to try out some ideas. The main one was installing each package into a separate directory and writing scripts to handle that and library paths. Seeing how well it seemed to work, I went looking for actual distros that tried that and ran into NixOS that way. Naturally it was much more robust and ambitious than those simple bash scripts, but it had the same kind of idea, just expanded far beyond what I was doing. That’s pretty much what led me to installing NixOS and I haven’t looked back.

Atomic upgrades, rollbacks, and build customization without sacrificing binary distribution just made things more enticing.

1 Like

I started with Slackware at 2004.
My favourite piece of software was MPV, because I am an avid consumer of animes. However, installing extra things via slackbuilds was boring and harder to update.

Archlinux came next. The freshness of rolling release fascinated me. However, AUR is a second class citizen and it caused some problems, in a higher degree.

After a breakage, I was ready to reinstall everything again. I don’t remember perfectly how I came to know about Nixpkgs - just some links and a quick conversation at the old IRC about how to write expressions -, but I started by contributing with mpv expression.

And now I am here, complaining about the systemd dependency, roasting badly written contributions from newcomers and using a 20-year-old notebook to test and compile software.

And, secretly, I want to spread Nixpkgs to NetBSD and OpenSolaris, and eliminate the gap among Nixpkgs and the other package managers on Repology.

1 Like

It saddens me to think that every day, more and more new Linux or GNU/Linux (What does this community prefer?) users use a distro that still uses the antiquated package managers, instead of a functional package manager like ours.
(Truth be told, new linux users don’t tend to encounter dependency hell unless they decide to mess with PPAs, or download random debs, or something)

1 Like

Or install python. The number of people who I’ve seen nuke their ubuntus and debians because they needed a different python vetsion…

2 Likes

Were they normal people just trying to install an app with no precompiled binaries or developers who don’t use a container or some other reproducible environment?

I’ve seen people from all across the experience and developer/user spectrum fall for it, sadly.

It’s an easy trap to fall for, with plenty of stackoverflow posts explaining how to circumvent apt telling you not to do things without explaining why it’s telling you not to. Stackoverflow is great at confidently giving you advice you need experience to understand not to follow.

It’s common, too, because every python release seems to bring new incompatibilities, while people never upgrade their distros to new major versions (because even if their employer doesn’t mandate some ancient release, that tends to be hard and often results in broken systems - even on NixOS, but significantly more so on other distros IME) so they’re stuck on something 5 years old.

All that needs to happen is for you to want to try running some relatively recent python script. Maybe something to “debloat” or install a video game for less experienced users, often needing to work on any new project for developers because everyone uses python somewhere.

The state of traditional package management is ultimately the cause of this kind of “instability”, it sucks when it turns people away from the Linux ecosystem.

1 Like

A more famous example is probably Linus Tech Tips removing his DE on Pop!_OS after he did sudo apt install steam and ignored the error messages; In the unlikely event it happened on Nix OS, the user can roll back.

3 Likes

tell everyone you know. :slight_smile:

However, sometime i feel it’s rather like the John Carpenter Film they live.

A scene in where the main protagonist is trying to get his friend to see the ‘truth’ by putting the ‘special glasses’.

He fights the guy for 10 min’s, in fact it’s the longest fight scene in any movie …ever.

Does he wear the glasses? does he see the truth? You’ll have to see it to find out.

Hence why my alter ego, the Nixinator, wears the ‘Nix glasses’.

‘They live, we nix’.

Lol!

Enjoy…

#shuddausednix

We all fear change, but i think this approach to software management is worth it.

However, people stick with what they know, many are burnout from learning , firefighting and basically dealing with software stack complexity apocalypse which is drawing nearer everyday. Nix solves your the problems you have had for decades, and give you new problems that are nicer to have!

But what do i know? I’m just a time travelling cyborg from 2038.

3 Likes

What happened when the Unix time overflowed 32 bits?

5 Likes

how do you think i ended up here.

11 Likes

I heard about nix (not yet NixOS) in 2015 when I wanted to install some Haskell project. The claim was that if I just install nix, it will install all dependencies and make sure they work together with the Haskell code. I had dabbled with Haskell, OpenGL, sound, other external libraries etc. before that time, and was pretty convinced that there could be no software making this true, just out of the box without hickups and manual interventions. But it did! I was amazed.

I came to NixOS a few years later, I believe 2017 or 2018. I was a Gentoo user before (having tried SuSe, Ubuntu and Arch in my > 10 linux years before that), and I went to the NixOS IRC channel (yes, that was a thing back then) to ask people about transitioning. Luckily there were a few folks around who had gone from Gentoo to NixOS before. Being a functional programmer, I was already sold about that part of the deal, but I was worried that NixOS wasn’t as configurable as Gentoo. They convinced me that it was in fact more configurable. Then I couldn’t resist and went all in. Every of my machines since then has been NixOS. Never regretted it, best distro so far.

6 Likes

Oh, that’s exactly how I broke my kubuntu, it was my first time seriously using linux

2 Likes

Nix community IRC channels were important in my NixOS journey, too. Lotta very smart, kind, helpful people there. :slight_smile:

2 Likes