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

I just want to know, who or what caused you to decide to switch to NixOS?

For me, not so long ago, I was using Vanilla OS, and it had support of Nix in its package manager frontend apx. I found it nice that it was very much like flatpak in that dependency hell was guaranteed to be impossible. After, I read an It’s FOSS article series about NixOS for beginners. So, I flashed a drive, installed NixOS and did some configuration. I eventually found out about home-manager and it was nice to be able to configure almost everything within two config files.

How about you?
Tell me in the replies.

5 Likes

I got into NixOS because of how easy it seemed to install and maintain my system configuration - I could enable and manage services with just a few lines of code - and it all seemed to be maintained in one file. I also wanted to use home-manager, because it seemed like an easy way to manage user-level dotfiles without messing around with chezmoi, dotter or other dotfile management tools.

3 Likes

Pretty cool! I also use home-manager for dotfiles and configuring GNOME dconf settings. One syntax for everything = :ok_hand:mmm perfect

I was using manjaro and had a headache about how to manage my dotfiles. I used to exploit git bare repo, but it felt pretty inconvenient and too ad-hoc to me. Then I stumbled across something called “home-manager” and… Boom! What actually amazed me is the ability to manage my system declaratively, without ever touching /etc or dotfiles manually.

What should be noted is that even before I heard about home-manager I watched the last Distrotube video about NixOS. And there he said that now NixOS had a graphicall installer. I must say that having a graphical installer was a dealbreaker, since I hate partitioning my drives inside the terminal, it’s just frustrating.

2 Likes

@heinwol @zxen Do you use home-manager as a nixos module or standalone? I like it standalone (no need to edit home-manager config as root)

In my opinion, one of the great advantages of Open Source is that it blurs the line between ‘producers’ and ‘consumers’ of software, allowing a diverse audience to participate in its evolution. However, that only works when the software you run on a day-to-day basis is close to the latest version, otherwise the ‘gap’ with ‘upstream’ becomes hard to bridge.

For that reason, after more than a decade on Debian, I was ready to distro-hop to a ‘rolling release’ distro. After a brief attempt at Arch, which I didn’t find too collaboration-friendly, I decided to give NixOS a try.

To be honest, I kinda thought this departure from FHS ‘could never work in practice’. However, I was quickly impressed by the quality of nixpkgs, how easy it was to run nixpkgs-unstable and switch back to a previous profile in case of breakage, and the way the ‘monorepo’ approach to packaging aids wide collaboration.

This was about 4 years ago, since then I’ve become a nixpkgs maintainer and committer and am still extremely happy with Nix - and excited by its still-untapped potential.

13 Likes

I use it as a module and it seems convenient as I e.g. install packages system-wide. I have a bit of a problem with this though. My entire config resides in ~/nixos-config owned by user, and /etc/nixos is symlinked to the former folder. I don’t think it’s quite safe, lol. But many people seem to use this approach and I can’t find anything that convenient. On the other hand, user still doesn’t have the rights to actually do anything with the actual system like running nixos-rebuild. So, provided I’m attentive enough not to do anything before I check the contents of ~/nixos-config it should be ok…

@heinwol Nice! I have separate git repos for home-manager and /etc/nixos. Merging them together sounds like a nice technique. (Also your method should be safe as you can always just rollback if something goes wrong).

@dch82 I’ve setup a flake according to the home-manager manual, (home-manager as a module in nixosConfigurations) which allows me to rebuild everything simultaneously and without needing to edit as root.

I started using NixOS in part to push myself to really learn Nix basics and Nixpkgs packaging. Like many who give it a go, I acquired a taste for it and can’t let it go.

I’ve also developed a lot of respect and admiration for many longtime contributors to the ecosystem, who are always coming out with cool new projects for and based on Nix. That’s part of what keeps me invested in the Nix ecosystem, too: people are always hacking on something interesting, with big potential, on the edge of what’s currently comfortable/obvious/possible with Nix. :slight_smile:

In 2015, I was fed up with managing my Arch Linux setup and learned about Nix through my interest in functional programming in Haskell. I set it up on my Laptop and never looked back. Now all the computers in my house run NixOS.

6 Likes

I only used NixOS after having used the Nix package manager for some time.

I found the nix package manager practically useful for ensuring that I could use the same versions of packages everywhere. Whereas, with system package managers, versions could be much older. – Especially when launching VMs in the cloud.

I had heard about Nix because my colleagues in devops were using it to manage deployments.

I installed NixOS when I had some time. I had anticipated it would be much more difficult/impractical to use than it turned out to be.

5 Likes

In my particular case I was just playing around with curious distros. And NixOS just clicked with me.
At first it was REALLY confusing, I had to relearn a lot of things and invest a lot of time. (Although I’m still pretty new.) Now I just can’t imagine managing a computer without Nix.

I searched for a dotfile manager that would be able to manage not only my dotfiles, but related programs also. So I eventually found Home-Manager in the end of 2019.

I liked the concept and played a lot with it and later on learned about dev-shells.

In the end of February 2020 I replaced my spinning disk with a SSD, and wanted to play with NixOS on it, and installed it on an Friday evening.

On the saturday I received a phonecall from my boss, that due to Covid shutdown, we will go full time remote working for a couple of weeks.

So I had to decide between removing everything and install Arch Linux again for familiarity, or go full risk and just try to get everything working on NixOS while I work on my personal machine.

This made me learn a lot during the first 14 days of usage, and brought me over the “point of no return”.

After just 2 weeks of intense usage, I was such fascinated about the concept, that I was unable to properly operate the company servers using CentOS.

This is how I came and stayed with NixOS.

And even though I said this about Funtoo and Arch-Linux before: but NixOS is probably the distribution that I will not leave again.

9 Likes

I used it, because I used everything else, from PDP-11’s , VAX’s VMS. solaris, sco, aix, irix, hpux… from a single well configured pet with 100 logged in C developers… , to a cluster of automated configured cattle… i do miss the Amiga, Atari ST, and the older 8 bit computers… .a simpler time for both hardware and software.

I used all the configuration management tools, and their re-implementations made the same mistakes as their previous attempts… a bit like the film ‘ground hog day’ will Bill Murray.

I read the Thesis… I thought to myself, this guys seemed as peeved off as me at the state of unix/llnux systems/package management and wanted to do something about it.

So i was sold, because nix is based on science… I’d seen all the problems that ‘configuration’ management tools could get you into, and how they made all the same mistakes the others did. It’s a shame the every other computer system on earth is based on … non-science… When i hear people say they are computer scientists… I have to laugh a little if their not using an system based on shred of it. The scientific method is very important…

before nix i saw how package managers were implemented and re-implemented over and over like ground hog day… . , and how they made all the same mistakes as the old package managers… nix was the only innovation in the space I could see . The King is dead, long live the King as they say.

Unfortunately if was off my radar because of the ‘nix, don’t be successful at any cost’ , i didn’t see anyone talking about it…but things do change.

The is whole raft of other reasons… .

Nix solves your problems, and give you new ones that are nicer to have.

So this is why i spent quite a dangerous amount of time, nixxing… because i like it,

The only way i could think I could be happier , if nix could build me a bsd kernel a give the nixos treatment to the bsd system.

The only thing better would nix building a solaris kernel, and giving illumos the nixos treatment.

The best thing i like about nix is that it’s not finished (still development work to do) where as all the other operating systems out there are finished (because they are in a dead end they can’t get out off, so they are completely finished as they say) .

Sometimes i have to ask my self ‘is nixos actually real, can it be this good’ … maybe i’m wrong’

I’ll leave you with a quote i like, and a conversation i was witness too…

‘Nix/OS is the first OS versioned by a block chain (git)’

Old Unix guru : ‘I don’t like nix, because it doesn’t copy your libraries to /usr/lib/mylibrary’…

Young Nixxer : ‘do you think i actually care where it is? i just want it available to my system somehow, i don’t give a damn about where things are!!!’

That’s when i knew nix/OS or Guix was a possible future… or anything that copies the idea (well).

at the end of the day i came to nix, because it makes UNIX BETTER. and it also take up less storage space on disk, because it’s only three characters (NIX) and UNIX is four… a 25% space saving… what’s not to like?

9 Likes

It is perfectly possible, because nix-darwin does something similar, but you need to find some BSD and/or Solaris users :thinking: (Although some companies might like it on their existing machines)

1 Like

So… back then

  • Gentoo is not from-source enough in comparison with A/BLFS (Automated Beyond Linux From Scratch)
  • Managing A/BLFS with a huge FUSE unionfs so that each make install is on its own slice and things can be removed by disconnecting slices from the union… mostly works, but there is quite a bit of overhead.
  • All those package managers kind of work, but an unfortunate powerdown during an update has high chances of giving you a true mess.
  • Also unlike the FUSE tricks, with package managers you cannot just disbelieve package conflicts even when they are effectively spurious.
  • Trying to see what is the «friendly» GNU/Linux distro of the day lead to «wait what» and dist-upgrades «SimplyMEPIS→Ubuntu→Debian Testing→Debian Unstable» in pretty short order…
  • I saw apt offer solutions that included uninstalling apt for things that should not count as crazy enough for that.

And then I see NixOS, which promises clean and easy recovery from interrupted updates (if any is needed), clean workaround for package conflicts, clear from-source model even if you can replace some of the builds with «as-if» from Hydra (it was before the binary cache even), and the hard work to avoid the unionfs mess already done.

It was not NixOS of today, of course… which is why I no longer use NixOS as a single whole (my kernel is still from Nixpkgs, my CUPS is still launched with config generated by NixOS code, but no global modules, no systemd, yes atomic /etc/ switch)

4 Likes

I have used a couple of immutable/image-based distros, and even though it sort of prevents system deterioration, it feels like a temporary patch for legacy package managers; instead of using declarative package managers, they sort of attach a read-only file system to a legacy package system. This makes it way too restrictive for Linux Power Users™ like us.

3 Likes

I was driving home late at night. Tired, I stopped for a nap, and was awakened by the lights of a spaceship.

It all started just over a year ago. My son told me about how easy it was to install vaultwarden on a server with Nixos.
Two month later I installed Nixos on my new desktop computer…

3 Likes

I was in my distro hopping days, and despite trying to use it like Arch (as in trying to modify central nixos config to support a project I was developing at the time) I still ended up liking the design and so here we are.

1 Like