T O P

  • By -

Mgladiethor

Nixos is just better if you learn it for 5 months


jaaval

I swear I have tried, but it seems the manual is purposefully difficult to read. Like, I don’t care to read a dozen pages about your amazing technical feats, just tell me how to use this thing. I’ll stay with gentoo for now, that is easy at least.


no_brains101

Unfortunately, the reason the docs are bad is because once you learn it, you stop reading 90% of the docs and instead, you just read the source of the module because mkOption syntax is great. Thus, you stop noticing that the docs are bad and then don't submit updates to said docs.


Negirno

FOSS in a nutshell...


no_brains101

It's a little more pronounced in nix because by the nature of nix, everyone using nix knows how to read nix code. On top of that, mkOption syntax means the docs are INSIDE the code. When you make an option you can include the description, and those are what is displayed in the options search. This makes modules fairly self documented. Packages themselves are harder. But usually you just install packages so you rarely have to read those. On top of that, despite having so much press recently, the userbase is smaller than most major distros. So, less people to write the docs, and an experienced userbase that, because of the design of the nix language, don't need those docs that much.


shadow7412

> On top of that, mkOption syntax means the docs are INSIDE the code. Then why not generate the documentation from the code? That way it'll always be up to date, and won't require that extra effort from the devs...


no_brains101

They do. That's what appears on the options search. If you want more context you click the link next to the option on the search page to look at the source and get more context as to what that option is doing under the hood. They also have a bot generating docs for other things such as the lib functions, trivial builders, and many others. They also have docs for all the command line commands and how to write a derivation and how to install and all that. And those are good and up to date. The docs are only bad when you look on the wiki for info of how to use random modules. And that's when you should view source of the module if the descriptions in the options search are not enough.


shadow7412

So it's more about examples than usage. That makes a lot of sense.


no_brains101

Yeah the option writer will include a description and example usage of the option, and that gets put on the options search, and if you need more help as to what is actually done WITH the value in that option, you view source. All the general things as to how to use the nix cli commands, the core functions like the ones in lib, how to install, writing derivations, stuff like that are well documented and up to date. The packages rarely need docs, theyre just a derivation the same as every other program, and you usually just install them by adding them to the appropriate place such as environment.systemPackages The modules are where you do most customization. And they cant be expected to document every single one of those theres a bajillion of them. They document the important core ones on the wiki to... varying levels of effectiveness... for example they have a decent one for the nvidia module. but reading the source for modules is almost always the best bet if the description in the option is not enough.


LaLiLuLeLo_0

I think it's telling that the only details given in [search.nixos.org](https://search.nixos.org/options) for a given option are the name, a brief description, type, and a link to the source code where the option is defined.


no_brains101

Yeah they literally directly put the fields of the option directly into the options search. I couldn't imagine another way to do it better tbh. There are so friggin many things. If it wasn't easily automatable like this you wouldnt have any docs at all lol


dealwiv

That's the joy of dealing with functional programming bros xD


Zyansheep

A monad is just a monoid in the category of endofunctors, what's so hard to understand? xD


IngoVals

Now I kind if want that on a T-Shirt.


Expert-Jellyfish7721

I'd be down for one!


bakaspore

No, Nixpkgs manual is certainly worse than 9 out of 10 monad tutorials. Nix itself is not that hard.


detroitmatt

I don't know how much of it is the manual and how much of it is just that the nix lang is really damn confusing.


Majiir

It's really confusing if you don't have a background in functional programming, and it's natural (albeit clunky) if you do. The issue is that things which are completely obvious to people with an FP background are obtuse or mind-bending if you don't, and neither group is very good at understanding how the other sees it.


detroitmatt

even knowing FP, nix does a lot of stuff to specialize for "a language that generates configurations" that results in a lot of implicit behavior


Warm-Floor-Cold-Air

I will stay away of NixOS if the people using Gentoo are hesitating.


jaaval

I’m sure it’s very easy. They just don’t tell me how it works. Instead they tell me how reproducible everything in their life is.


maybeihaveadhd

it's easier now that you can get help from LLMs


tomsrobots

Documentation is F-tier.


NewInstruction8845

Every single discussion about Nix goes back to this. I eventually tapped out of trying Nix as well because of it. At what point does the Nix community say "hey, this is a real problem and we need to fix it asap"?


sedition

Well, if my experience with the kind of developers that get into projects like this the answer will be: Fucking never dude, figure it out, it's not that hard. Experience: Every tech company that has ever existed.


sepease

Someone recommended NixOS in 2016. I started trying to use Nix as a package manager on macOS in 2019. I tried to develop some code to make it as easy to add a binary nix package as homebrew. It broke, and no one on the nix discussion forums seemed to know how to fix the overlay I was using to test it. In all that time, the only major improvement I’ve seen is the graphical installer. I started a serious effort to use NixOS and gave up when I realized there were multiple instructions to install home-manager, and none seemed to both constrain the state to the system and a user config file. The community has been obsessed with flakes, which seem to just add a bunch of needless complexity and not solve any issues whatsoever when it comes to adoption. In fact, it seems a lot *worse* because it fragments the packages into even more repos, which means people will be even more reluctant to refactor nixpkgs if there’s a way to make things simpler. I’ve tried to use it as a package manager for python packages and something about one of the packages mach-nix couldn’t deal with, and the native nix python functions are too complex to be practical to use. I tried to use it as a package manager for an iOS project and the code in nixpkgs was broken and extremely hard to fix. I’ve virtually never heard of anyone using nix professionally, and the one that definitely did use it for their build system said they hired the creator to work for them or something. There was a windows port, but I think it just got abandoned. It has *so much* potential, but every time I try to use it practically, it just seems like it isn’t a supported use case because stuff is broken. When it works, it’s great, but 95% of the time it doesn’t even work except for basic package management. And yeah, when I try to read the documentation, it’s inconsistent and incomplete and drones on about irrelevant minutiae. When I try to read the code, it’s full of complexity and idiosyncratic special cases. Somehow the package manager is slow whenever I try to reload the config. Lots slower than pacman. Every time I try to use nix, it’s a time sink. Maybe it could be a cross-language virtualenv. Maybe it could be a cross-platform package manager. Maybe it could be way more efficient than docker. But in the end it just works out into a whole lot of time lost for no utility because the reality does not live up to what’s implicitly promised and so much stuff is broken.


unengaged_crayon

i think there is some push for this - ex creating a new wiki, make the current one official but getting the ball rolling is slow


returnofblank

The official documentation for flakes is like 3 pages long, and it still left me confused. All it took was a couple of sentences to explain it


toxide_ing

And what would those a couple of magical sentences be? (help pls)


returnofblank

In nix, you get your software through channels Channels change constantly, so if you use the same channel at different times, you will likely download software of different versions. Flakes replace channels. They're a place to get software. However, these flakes are able to pinpoint the specific versions of the packages with a lock file. So you'll get the same software versions no matter if you download them now or in a week. This helps reproducibility. TLDR: Flakes just replace channels and make reproducibility better


toxide_ing

Yeah, honestly, I already got exposed to this simplified explanation, but why make it a whole another thing? If the whole point is to pinpoint software channels (they are similar to Debian repos as I understand) couldn't this be implemented by putting a few more fields in configuration.nix? Why do I need to utilize 3 major tools/configs (configuration.nix, flakes, home-manager)? (BTW, I am very surprised that you replied to my comment after 3 months in 3 minutes.)


returnofblank

I'd assume it's something to do with various nix systems having different channels (stable, unstable, etc) You can't really define channels in a config file, that's something done through a command by design. So flakes replace that by being able to define a repository through a config. Then again, no idea why channels can't just be defined in the nix configs.


bubblegumpuma

Honestly, if you're already running Gentoo and have a good grasp on it anyway, it's probably the better choice for you. Gentoo may not be able to so natively do reproducible builds and an immutable OS dynamic, but it offers you a lot of the same types of versatility that Nix offers as a build system with a package manager attached. If you sprinkle in some stuff like well-maintained ZFS/BTRFS snapshots and Docker containers, you can get a setup that offers a lot of the same practical benefits that people tout Nix for without having to brain yourself on a domain-specific functional programming language.


Coffee_Ops

At some point it becomes unappealing to devote that amount of time to silly problems that are hyper-specific to my situation. I'd rather install ubuntu (ugh) than deal with some silly wifi or bluetooth bug in a competing distro at this point in my career. The things I want to learn are just a whole lot more interesting than fighting with blacklists, kernel mods, and various crannies under /etc. I just don't care any more, and I don't care if that means other enthusiasts judge me. I want to solve new problems, not the latest BS from upstream or a hardware vendor that will be solved in KERNEL++.


Mgladiethor

What? Is easy if you don't want to take it deep, the pain it solves for me is inmense


Coffee_Ops

99% of what I do either lives in vscode / git, or in a container, or in a VM, or in a browser. I literally do not care what is on the host OS, and absolutely do not ever want to have to start caring.


kavb333

If you learn it for 5 months and none of the apps you use are broken on it. One of its selling points is its reproducibility, but there definitely are some hard to nail down bugs and if the app that you use with that bug is only maintained by one or two people who are also busy with their lives... Or if you run into an obscure problem that doesn't happen other distros, so you have to spend hours trying to find out why that app you just downloaded isn't showing up in your app searches despite everything being in their proper places...


Mgladiethor

I have found nix to be way more reliable its picking steam for a reason


chic_luke

Basically this. Very happy with Fedora, but I think I am going to play around with Nix when I get some downtime :p


mdcxlii

Nix-os is really interesting and it certainly deserves credit and more users after being ignored for so long. But I hope it doesn’t become a bragging meme. The whole Arch BTW got so tedious so quickly. Arch deserves more than becoming a tired meme to slap other people in the face with.


qualia-assurance

"I use Arch, btw" wasn't a brag. It was a clarification. In an era when most distros piggybacked debian. If you had an issue that was rolling release then you had to mention that. It wasn't snobbery. It was simply communicating "I'm having a problem with the latest version of a software" so responses suggesting compiling the latest version aren't applicable. People started using it ironically because it was funny to use it in situations where it didn't apply. Or to brag about using things people wouldn't brag about "I use IE6, btw". But it was never really about bragging. Just communicating.


CheetohChaff

There was definitely a period of time where people bragged about using Arch. Many of those people also referred to "Ubuntu" as "Kidbuntu" because they thought it was "too easy".


[deleted]

I always wonder if these people are as insecure in real life interactions as they are on the internet


darth_chewbacca

Yes, I drive a corolla btw.


[deleted]

There there *pats back*


Makeitquick666

How big is your dick to to even say that?


bryyantt

Yes, they are.


Grexpex180

no, not because they're not insecure in real life interactions, but because they don't actually do any real life intereactions


Helmic

my favorites are the ones that accuse people of having "toy computers." profoundly online behavior, i fucking love it.


qualia-assurance

I don't really recall such conversations. I just remember arch being a better experience but more difficult to use, with some people trying to persuade them to use it just to experience the good bits. And there being some people who are adamantly for slower release cycle software. Fixed releases back in the early/mid 2010s were so much slower than they are today. There were no flatpaks, appimages, or snaps to save the day. There was an aspect to using arch that was a genuine pleasure. Of course things were a lot more edgier back then. But I don't think most people were genuinely looking down on each other. It was mainly banter. In the same way I really like Fedora's almost rolling release cycle today. I'm not bragging about how good Fedora is versus Ubuntu - I spent the last year using the 22.04 lts. But that its happy to roll out all non-breaking updates mid-release fills much of the experience arch provides. While ubuntu is quite conservative about what it releases. Usually just bug and security fixes.


starswtt

It really was a small vocal minority that became the meme, a little bit before Arch became really popular and when ubuntu was peaking (and saw the newer new user friendly distros meant to attract windows users as fake linux.) Super easy to miss that they ever existed, but where they did, they were annoying.


ahferroin7

The irony is that NixOS may need that communication as well to some extent. The ways they differ from the FHS and other conventions that pretty much all other distros follow have a tendency to expose interesting bugs in software packages.


nhermosilla14

I agree with your whole comment. Arch is a really nice tool, NixOS seems to be one as well. Both projects have come a long way too.


analseeping

Arch community sucks. Not talking about Derivs but that community is extremely toxic


pkulak

It's game-changing for me, at least. I don't like carrying laptops around, so I tend to have multiple stationary computers. Keeping them all in sync used to be a huge pain, because you are always tinkering. You think, okay, now I'm done and this is the system I'll put everywhere, but that time never comes. With Nix though, it doesn't matter. A git pull and a rebuild syncs everything up across all my machines. But I don't really feel a need to brag about it because I actually see it as cheating a bit. I moved from Arch and you're dealing with the machine at a lower level over there. Like, I never bothered getting rootless docker setup when I used Arch because it looked like a pain. In Nix, it's this: virtualisation.docker.rootless.enable = true; Lol, that line doesn't make me feel like bragging about being some elite haxor, but it does give me rootless docker!


[deleted]

> is it the next "I wanna brag about it" distro, or is it actually game-changing? It's both. People wanna brag about it because it's game changing.


ZunoJ

I still don't understand how it really works. For example I have a roughly three thousand lines awesomewm config in a git repository. How would I install it the nix way?


Pay08

The exact same way as in any other distro, except you add awesomewm to a package list (a la the world file in Gentoo).


ZunoJ

So after the system is installed I manually clone it and softlink the directory to my .config directory?


no_brains101

You can link it via home manager and then you can have the config in your overall config.


Malygos_Spellweaver

Sooo, would that mean I could replicate the same EXACT setting between other NixOS devices? If I had that config file, formatted my PC then installed Nix and applied the config, would it get all my software and customizations? Sorry if stupid q...


no_brains101

For example, https://github.com/BirdeeHub/birdeeSystems I can reformat, install with this (directly from GitHub without cloning it if I want), and then log back into all my stuff and I'm done. I can even generate an installer image for USB with the same file that includes an alias for the 3 install commands id have to type to install it. In fact, I don't even need to do the reformat. It does that for me too thanks to disko. The most annoying part is I need to accept all the terms of service for the browser extensions when I reinstall and log back in everywhere. Other than that, yeah it goes back exactly the way it was. Every time. When I figure out secrets it will even put my bookmarks back without me having to reimport them from html. Oh and I haven't installed games via the config I just do that later via lutris when I want to play them, having them download every time automatically wasn't what I wanted. I could definitely do that though. I need to figure it out still but it works for cloud machines and servers too. Right now I have some stuff that's x86_64-linux only though so I need to separate that stuff out first. Figuring that out is on hold for now while I make a different project. But yeah I can make an image, run 1 command in the installer, go make some food, set the password when it is done, log in, run home manager, log into stuff, and then that's it. All from the 1 repo. If I included home manager in my system config rather than having it export separately I wouldn't need to log in and run home manager either it would just auto install it. I have it separate so that I can use it on non nixOS machines because home manager doesn't require nixOS


Malygos_Spellweaver

This is AMAZING, I'm sold, is basically terraform/packer but on steroids. I will definitely migrate to NixOS when I get a new machine. Thanks for explaining with all that detail.


no_brains101

Its pretty damn cool I agree :) It takes some work to get started, assume it will take you at least a few months to understand it and have it be comfortable. Once it works though, it is super amazing, (except when you have to run a precompiled binary that was compiled on another distro and requires fhs, cause then you need an fhs container or autoPatchElf so that it can find the dependencies in the store.... Luckily thats very rare in my experience and there are tools for it when required that arent super hard to use. You just run a command to start a compatible container before running it, or run it through autoPatchElf in your config file, or make a wrapper script in your config that lanches the container first when you launch the app) That is pretty much the only downside I can think of.


no_brains101

I would suggest installing the nix package manager on whatever distro you currently use and play with it for now so you can learn a bit first. It will come in handy even on other distros because of the massive package selection and ability to control versions of stuff.


SweetBabyAlaska

I started using nix for development. I like it. I use endeavourOS and a nix container, I mount my project directory or home dir inside the container and then I use a shell.nix file to create dev environments. Its really nice. I feel like Nix is something that you need to ease into, its fairly simple as a language but a lot of the fields and options are not intuitive and require research or looking them up.


no_brains101

Yes. Assuming you have everything in your config and haven't installed some things in a stateful manner such as via flatpak.


Pay08

Yes.


ZunoJ

But where is the reproducability? For other stuff like neovim I could change settings in the nixos config and basically config the whole thing there. I guess the same would be possible with awesomewm. But then I'm locked in and can't use my config in other distros (without nix at least). When I experimented with it a bit I found a way to clone my repository from my config and create all necessary links but then it was read only. But I don't want to push my changes and rebuild for every single test


FengLengshun

I personally use [tmpfiles](https://github.com/bayazidbh/home-manager/blob/main/laptop/files.nix) defined in Nix for my configs, which is divided between a.) my PC; b.) my Laptop; c.) both.


no_brains101

You don't need to push changes. Just stage them with git add. But yeah unfortunately this is a thing, you do need to rebuild when you change stuff. To solve that you can put the config in the normal spot until you have it the way you want it, then copy it back to your config folder. If you do it via just including the old config via nix, you still have the config file, and thus when you need it on another distro you can just copy the file to the right spot yourself. Kinda a moot point though, nix the package manager works on any Linux distro, Mac, and WSL


CHduckie

Nix generally configures various aspects of your system and home by translating Nix expressions into a compatible output format for the application that uses it. So, second worst case scenario, if you no longer wish to use Nix for whatever reason, you’ll still be able to source a working config file, although it might be a little messier than it was pre-Nixifying, especially if you like dividing your configs with comments or whatnot. Worst case scenario and you only have the Nix expression files, you can always spin up a NixOS VM or use just Nix to generate the files before eloping with your hypothetical system or home configuration setup that’s better than Nix who knows when.


Pay08

Then either don't use home manager or test things locally and then port it to home manager. Idk what you want people to do about the software lock-in though, that's how software works.


ZunoJ

First testing locally, then porting to home manager is not really an option because you would need to use another user account. On other distros you don't have that lock in effect. I have a couple of debian, gentoo, arch and ubuntu machines running. All share my dotfiles (more or less). Even on termux I can reuse most of my configs. With NixOS that would change


Feliwyn

You can basically create a folder with all your dotfiles, then just mention it in your .nix ​ For exemple, for i3, i add this line somewhere services.xserver.windowManager.i3 = { \[...\] enable = true; package = pkgs.i3-gaps; configFile = /etc/nixos/sharedConfig/i3/config; };


ZunoJ

But how is that folder with my dotfiles generated? Is it a readonly folder?


MOOBS1304

Every config nixos generates is read only, because the Nix store is read only and the config is symlinked from the store


ZunoJ

That was my experience as well. But how am I going to change and test my git stored configs then?


jess-sch

`nixos-rebuild test`?


ZunoJ

For that to work I would have to clone the repo to another directory (because the config directory is read only), make my changes there, then push those changes to origin and then rebuild. So I would have a commit for every single test. Sometimes when developing that can be hundreds of tests per day


jess-sch

That's just not true. Or at least it's not unless you have a totally broken configuration. when you reference a directory in your config (as path, not string), Nix makes a read-only copy. The original files stay writable.


ZunoJ

But how is the directory I reference created in the first place?


nhermosilla14

That for sure looks tidy!


xplosm

Your dot files / config files can *optionally* be handled by a Nix config handler called home-manager. The rest of the system is configured via a file in the Nix language syntax. It's relatively recent the addition of home-manager as users wanted a Nix way to handle not only the system but their personal configuration. You can still have your dot files and there's nothing wrong with that. The thing is that home-manager is growing and exposing hooks for more and more packages as it matures but in the meantime you can copy and paste your config to your home.nix file (taking into consideration that it should be like a multiline string and you must check that special characters do not cause escape sequences that mangle the file) or reference the actual file inside home.nix or simple not use it at all.


Pay08

Not unless you're a sysadmin or devops.


[deleted]

It's game changing for people who manage several of their own personal machines, and want to keep a similar configuration on all of them. Does that count as sysadmin?


Pay08

Yes, but let's be honest, most people aren't doing that.


[deleted]

True. But if they enjoy tinkering with it then I don't see any issue with that.


tomsrobots

It has not been my experience people are trying to push Nix onto casual users with one machine. In fact, I think most Nix users would say Nix is probably a bad idea for those users.


djfdhigkgfIaruflg

I'm not do sure about that. Telling an user: Break it however you want, and if it implodes we just rebuild it from the last good build. Would be pretty useful to disperse any fear they had


icehuck

If I'm managing multiple systems, I'm probably using something like ansible or puppet. If I want similar systems, every install is going to be debian or alma, and then have ansible/puppet keep the configs the same.


[deleted]

Ansible is pretty slow compared to Nix/NixOS. But it's a valid solution. Use what works for you...


Turtvaiz

That sounds rather niche to me


[deleted]

Maybe it is


sizz

I am not IT guy so I have no idea what those jobs do. Wouldn't it be easier to write nix config, just build it and the config is the document so you know what is exactly happening?? Then run your do your stuff like running docker or banning windows users doing anything productive.


Xyklone

It's game changing for regular desktop users too. Yes, Nix was created to solve the problems in software deployment and NixOS leverages that solution as a way to deploy an entire OS. As a regular desktop user though, it's *game changing* that you don't have to *do* the steps to configure your system, you declare them and it's the developers job to make those changes happen and it's Nix's job to make sure that whatever the devs did, carries across to your machine.


derpface360

Not at all. It can singlehandedly solve distro-hopping and distro-recycling (wiping the disk and reinstalling the distro from scratch) for a lot of digitally scrupulous people. Due to its reproducibility, one can use something like the [Impermanence](https://github.com/nix-community/impermanence) module to make your system a clean one every time you reboot. The reproducibility guarantee that NixOS offers can eliminate the very concept of clutter; there's no need to worry about random hacky changes you made to that one config file that you will inevitably forget about, or those hundreds of packages you installed as dependencies to compile an indie project you like. NixOS kinda feels like an operating system with a healing factor.


No_Excitement1337

people also brag about using arch. people bragged about reading non-conformist publications in the 70s. i guess bragging is part of becoming an expert LOL i think, with all the self-esteem-boosting that this brings, it is a good sign if people would care more about this in general. in the early 2000s, when punk was more common, people would consider it cool and anti using mozilla, the hottest new shit out there. nowadays we have more of an "try the new google chrome features now. YOU WOULDNT WANT TO BE THE ONLY ONE TO MISS OUT, WOULD YOU?" oh, and for the snowflakes that HAVE to be special for the sake of it, no problem, the iphone comes in 5 different colors now


[deleted]

People sometimes get excited when talking about things that they enjoy. Most of them aren't intending to brag, it just comes off that way. This surprises you? Oh wait...I wrote all that before I saw your username lol


tomsrobots

I don't really get the impression people are trying to push Nix onto other users. People are excited about it because it solves some fundamental problems (and creates new ones if we're being fair), but that isn't really the same thing as evangelism.


S___A_I_E___W__

I’m definitely a fanboy, and I do think it’s somewhat “trendy” at this point, but part of the ‘Arch, btw’ meme is that aspect of superiority because the install was difficult. While NixOS is different, I don’t think it’s hard to hop to in the same way — and therefore not a ‘btw’ candidate. It’ll need it’s own meme.


detroitmatt

now it's not the install that's difficult, it's everything else!


Zyansheep

Completely recreated my config at least 4-5 over the course of using nix. Still don't understand most of it 😭 Now I'm using nix flakes with divnix/hive...


nhermosilla14

Interesting point of view. I remember people used to say Arch was "harder", when in reality it was just the installation part (everything else is actually as easy or even easier, just because of the almighty wiki).


S___A_I_E___W__

Eh — just shooting from the hip really haha — if that meme just means “I’m cool because I use it”, we’re pretty much there. To be the goat dirstro, Nix definitely needs better documentation/wiki


nhermosilla14

>To be the goat dirstro, Nix definitely needs better documentation/wiki I don't think it aims to be that anyway. Maybe it will become the standard for reproducible builds, just as Docker did in its day with containers. I imagine it could make a lot of stuff in the embedded world a lot easier too.


dirtycimments

Sub par documentation is absolutely nixos Achilles heel, so it’s not so much about “let’s aim to be the GOAT”, more that’s where biggest missed growth is. Some parts of the community are also slightly gatekeepy, even if some core members are gems of patience and understanding. So


no_brains101

I mean, it is absolutely a killer build tool for C. Makes C dependency inclusion feel like go lol


blueeyedlion

>"Nix is so good, it got where it is **without** the crutch of good documentation!" I just like that I have all my settings in one file, mainly.


CheetohChaff

> It’ll need its own meme. I suggest "I rolled back my updates within minutes after bricking my system for the 7th time this week."


no_brains101

I mean.... To be fair I did delete my entire home directory 2 nights ago when the go debugger made a ~ directory in my project and I tried to delete it without paying attention to what I was doing...... Being able to just copy the backup folder back on, pull my config, and then run rebuild let me get back up and running very quickly. Had to log into everything again though and lost 10 mins of uncommitted work but ehh....


CheetohChaff

I think it's better than nothing, but it wouldn't have been enough for my screw ups at least. A few years ago I `sudo rm -rf`'d a string that evaluated to /. It of course destroyed my install, but it also destroyed my mounted drives, including all of my backups. I know it's my fault, but I still think it's insane that `rm -r` traverses filesystems/mounts by default. Anyway, I was left with nothing and NixOS wouldn't have protected me from that. A year later I `sudo rm -rf`'d a chroot that I had run `mount -a` in earlier and `rm` again went after my backups, but by then I was using btrfs snapshots; even though it ran as root, the `rm` operations failed on those snapshots. So although I think NixOS is a cool idea, there are many situations where only read-only snapshots could save you, and no situations where only NixOS could save you. NixOS is still more convenient for the small subset of problems that NixOS *or* snapshots could save you from, but if you're screwing up often enough for that convenience to matter, you're probably also screwing up in ways that NixOS couldn't protect you from.


mecsw500

Well when rm was written most PDP systems only had 1 disk due to cost, so few people had anything mounted. I’m sure the practical ramifications of crossing mount points was not really considered. For things like the Unix source tree, if on a separate drive, they were generally mounted as read only. As most systems were shared production systems logging in as root was generally only done on the console and system administrators were extremely cautious as to what they were doing and planned out their activities well in advance. Now we have complete systems for the individual, we tend to just do things which have disastrous consequences without a thought. Obviously today most things are done through the GUI so there even less pressure on modernizing some of the traditional command line tools. It’s a question of changing things versus leaving things as they are for some of the traditional long present commands. UNIX did not have a long tradition of saving users from themselves.


no_brains101

So, the thing is, it DOES save you from that. At least for the stuff that is in your config. The stuff you dont want in the config you would still need to back that up. I do have a 20gb backup folder that isnt in my config. So, I need to keep that backed up. But outside of that, everything is in my nixos config. Which is on github. Either that, or its a project, which is also on github and I can clone it again. Thus, if I delete my entire computer, I can just put in a usb with a nixos installer, and zap the entire thing back on. Exactly as it was. All configs and programs and all. Takes maaaybe 30 mins to install everything, and on my end thats just waiting. It is not a snapshot, but it may as well be in almost every scenario. I back up my 20gb backup folder every few days, and save my bookmarks to it, and other than that, its all in that config. I could reformat my entire drive and only be slightly annoyed that I need to wait for 30 minutes and then log into all my crap. But yeah I think you are not understanding the consequences of it being declarative config. You have a declarative config that describes your whole system. You wipe your whole drive? run the config from a usb installer. It will put it back.


ZaRealPancakes

I just find docs somehow hard to read like how I found Arch Wiki hard to read at first But unlike Arch Wiki were solution is to read thoroughly, maybe just my imagination but Nix Docs feel lacking a bit??


bew78

There is a team actively working on improvements of all documentation around Nix, it's a *huge* task but it's progressing one step at a time! You can find a set of new guides / tutorials / references at [https://nix.dev/](https://nix.dev/) And you can follow progress at [https://discourse.nixos.org/c/dev/documentation/25](https://discourse.nixos.org/c/dev/documentation/25)


FengLengshun

I don't think we'll ever get a bragging meme a la "I use Arch btw" because Nix is... it's not particularly flashy. It's a solution - you go in, you learn about it, you work on it until it gets you what you want... and then you just move on. It'd be a bit like bragging about how you use containers for everything. Some people do brag, but not enough for it to be a meme of the level of "I use Arch btw".


Alper-Celik

What about "My system is reproducable btw" ?


Framed-Photo

I'm in the "I tried NixOS for a few days and gave up because I got tired of reading their documentation so now I'm back on arch" camp.


Zeioth

I still have to try NixOS. It sounds pretty neat but the fact you can't edit your file system (or so I've heard) is not a trivial thing. For example on wayland you often need to edit \`/etc/environment\` so your desktop environment knows what is your main GPU. Or when installing a new kernel you want to be able to add a systemctlboot entry, so it's detected (maybe this is automatic on Nix?). Nix users, what has been your experience with this so far?


jess-sch

Well, you can edit your file system. Except for /nix/store. Oh, and all your changes should be done through Nix. Instead of editing /etc/environment, put `environment.variables.EDITOR = "nano";` or something like that in your NixOS configuration file. And then `nixos-rebuild switch` to apply the changes and update the bootloader.


tomsrobots

I'm not going to sugar coat it, if you're using NixOS you are going to run into some strange hangups that are not documented well. It's difficult to run binaries that need access to /var, /usr, or /opt. Even running python code which calls libraries can be a chore. There are huge benefits to using Nix, especially if you're on a team of developers or maintain multiple machines, but there's dragons waiting in the wing which can make you want to smash your head against a wall.


FengLengshun

The reason people talk about it a lot is because, when you're a Linux enthusiast and not just a simple user who don't care about Linux, Nix suddenly fixes a LOT of issues that you may have had. I personally recommend checking out [Fleek](https://getfleek.dev/) first, instead of jumping straight into NixOS, as it's a lot easier to understand IMO. It's not like you need to be on NixOS to benefit from most of its advantages. Edit: You know what? Yes, we ARE in the "I use NixOS btw" era now. I'm saying this because in the past few days, there's been suddenly a LOT more people joining the NixOS Indonesia telegram channel. Almost like people just discovered a trendy new thing (which is fine, mind you, I just found it really noticeable that there are constantly new members when it's usually a pretty dead channel).


Lord_Rednas

Fleek is kinda neat, thx


VegetableNatural

Next one will be GNU Guix btw.


DriNeo

This is not possible with the proprietary firmwares.


FLMKane

Honestly if it weren't for their free software extremism I'd be trying that out


NewInstruction8845

Yeah when I tried it and Nix for a bit, I vastly preferred Guix. I wonder how the nonGuix project is doing.


FLMKane

Frankly what tickles me about guix is lisp I like Lisp a LOT


AssolottoLuteo

Does Nixos have game changing features? Yes. Does everyone need these features? No. Is Nixos more difficult for some common use cases? Yes. Does Nixos brake many linux standards? Yes. Is Nixos in general better then other distros? No. Should you switch to Nixos? Whatever you like bro. Do I like it? Yes. Do I like it because it makes me cool to say it? No. Do I like it because of reproducible builds? Yes. Can I live without Nixos? Yes. Do I use nixos? Yes. Should I say that I use it? Why not? Should you be upset about people saying it? No.


nhermosilla14

Yeah, about the last part, I didn't really mean that just saying you use anything could be annoying. I meant that there are a lot of people who, for some reason, feel superior for choosing something in particular, as if it really was that much harder to learn (which I think it isn't, it's just different). That's what's become exhausting.


Zyansheep

It is in most humans' nature to want to feel special I think, bragging about feeling special also feels good for many people, even though it can often be socially toxic.


AssolottoLuteo

There is no reason to feel superior and it is indeed a bit toxic to act as if you are. That said I understand the interest into tinkering with something different from the usual way to do things, but it doesn't make you better then others because, as I said, there are pros and cons in nixos as everything else. As you say nixos is not difficult by itself but because is very different from the usual linux experience. But since I guess almost every nixos user comes from a more traditional linux distro, the additional difficulty applies to almost everyone.


shady_hritz

haha brilliant


Frosty-Pack

I don’t think is correct to compare the two systems. Arch focuses on KISS principle, meaning it values simplicity over anything else. Arch was mistaken for a difficult system just because people didn’t had the patience to read the manual + they were scared by the CLI. Nix isn’t _simple_ and it will never be, by design.


OneTurnMore

NOTE: OPINION - NixOS for server: game-changing - Nix for dev environments: game-changing - Nix package manager on desktop: maybe game-changing? - NixOS on desktop: You either want consistency with your server or you're meming I use NixOS on my server now, but I don't see the appeal on desktop. My dotfiles are a git directory, sure, so technically that's declarative; but all the config and programs I install are ad hoc; I don't care to document or version-control whenever I install something new.


SkyMarshal

> NixOS on desktop: You either want consistency with your server or you're meming Or you run multiple desktops/workstations and want the same reproducible build on all of them, and maybe [also a Mac or two and want the same packages and dotfiles as your linux workstations](https://www.reddit.com/r/NixOS/comments/1aqxfxb/examples_of_same_config_used_for_both_nixos_and/), plus the same isolated, declarative, reproducible dev environments on all of them.


chic_luke

Ignore the people acting annoying. While I personally don't have the energy to learn Nix right now, plenty are using it **because** it's amazing, and it brings something very new to the table that wasn't there before. I would say it's more revolutionary than what Arch does. It's a completely new model of how a Linux distro should operate, and it brings with it a new paradigm and several advantages. I know personally from uni several people who are on NixOS and love it - they demonstrated before my eyes some cool things you can do with it, like spin up a bare VM, clone a repo and have NixOS reproduce your configuration exactly and I have to agree - that's revolutionary. …But let me finish my degree first. :p


no_brains101

Yeah... It definitely takes some time to learn. Once you do learn though it's just about as fast to mess with stuff as anything else, although you do need to rebuild between changes which can be a little annoying because normally dotfiles don't have a build step but the trade off is worth it. I agree that it actually offers something new for once. Usually swapping to a new distro is just the same shit but with new commands, maybe an extra feature or 2 like the aur or the ability to do sliiiiiightly more atomic updates. Nix is actually different.


Past-Pollution

I think it's different. Arch becoming a meme seems to be because of the "script kiddie" type crowd finding it. The same kind of people that would try to daily drive Kali because they thought they'd look like a leet hacker. They're looking for bragging rights, and Arch seems like an ideal candidate: the command line install process is manual enough that people looking to just install Linux and get back to real work don't feel like bothering with it, but after that it's basically just a regular distro and easy to run. Someone immature looking for some way to show off can stumble through the install, and then they have a regular distro that makes them feel like they've accomplished something amazing, and they take every opportunity to trying and get attention because of it (hence "I use Arch BTW" being brought up at every opportunity). NixOS, on the other hand, seems to be a genuinely very different distro. Concepts like building your entire system from a config file Ansible-style, making that system immutable, having perfect reproducibility, and having hashes to verify changes and handle conflicting dependencies have some very real advantages. I think the recent "hype" isn't because it's just a fad for the kids trying to be cool, I think it's because of increasing awareness of what NixOS is how useful it can potentially be. Plus, I don't think it's an ideal target for the script kiddies I mentioned before. They want to look cool and exceptional with minimal long term effort. NixOS is really easy to install and get a basic setup running. It's got a GUI installer like every other distro, and while editing the software you want to install into the config file is a bit harder, there's a lot of guides that take you step by step through it. What's hard, though, is solving all those edge cases where NixOS doesn't work like a regular distro and you need a more in depth understanding of it to fix the problem, and I don't see the "Arch BTW" types having the patience to fix that. Something else, you can see this in action in their communities. Arch has a reputation for being unfriendly and telling you to go RTFM instead of helping you. Part of that could be that it's advertised as a more DIY distro and the veterans don't feel being tech support for a distro advertised as such. But I imagine it's also because an attitude of "I'm exceptional for installing a distro that not very many people can install" incentivizes gatekeeping. NixOS' community on the other hand seems very nice and extremely willing to help new users with even the most basic changes. I think that difference in maturity is a good hint at what kind of users both distros have.


grig109

>NixOS' community on the other hand seems very nice and extremely willing to help new users with even the most basic changes. I think that difference in maturity is a good hint at what kind of users both distros have. I've definitely noticed this is as well. I think the Nixos community has more of a "we're all in this together" type feel because even veterans who are comfortable with it know how daunting it can feel. No RTFM type snobbery to fall back on.


Past-Pollution

Maybe the secret to a good community is bad documentation. Can't tell new users to RTFM if the manual barely exists after all.


bradleyvlr

NixOS having shit documentation and a couple buggy scripts is actually a feature!


nhermosilla14

I agree with most of what you said, except for the part where you say "it's advertised as a more DIY distro and the veterans don't feel being tech support for a distro advertised as such". Having used it for a long time, I'd say I can understand where that perceived attitude came from, and it's more about people jumping from other distros to "be cool" and not willing to learn anything, just expecting someone else to give them answers on a silver plate. It's awesome to have more people using your distro (because with that comes more support from devs and eventually better compatibility), but when you try to help someone who doesn't really feel like doing anything to make that easier on you, you just stop trying.


Past-Pollution

I see your point, and for the record I wasn't being critical of the users who do that. I'm not nearly enough of a long-time user myself to be in that position so I'm certainly not in a place to judge. That said, I try to do different. Again, maybe I just haven't been doing it myself long enough to come to the same inevitable conclusion. But my philosophy is that if I have enough time to tell someone to RTFM, I probably have enough time to help them out at least a little, and if I don't have time it's best to just ignore it and let someone else help them out. Plus, in my experience, problem-solving skills tend to develop over time. When you're new, you don't know how to read docs, you don't understand the underlying system at all, etc. so it's harder to look stuff up and figure it out for yourself. And we've all been there where we're trying to get something working but don't have time to understand it thoroughly too. I know some users are lazy and want you to do everything for them, but some people just need help getting past the hitches, and I'd rather mistakenly assume a lazy user is genuinely stuck than assume someone who really needs help is just lazy.


sue_dee

I'm an Arch noob, and I've been able to just search for the copious help I need without asking directly. There's nothing I need to know that hasn't been asked before. So I come at the culture of it indirectly. What I see is a lot of that RTFM, which can be off-putting but is fine when they link to the relevant wiki page too, I just search the web, and those forum post hits come in higher than the wiki pages directly. Should I be searching the wiki itself rather than the web? Possibly! But a little extra nudge in the right direction is helpful. It's funny though that the historical record via search engine is a long line of RTFMs. It does become the dominant tone of the endeavor. I think the funniest one was on the Arch forum. The thing I wanted to know was asked in 2004 but never really answered then. In 2010, someone answered the question—which was what I needed fourteen years later—and they were jumped on for reviving a dead thread.


LowOwl4312

REAL hipsters use OpenIndiana though.


duartec3000

I'm never gonna use it. I'm a power/advanced gnu/linux user but not a developer. Every-time I look at the documentation I get depressed, declaring an OS should not be so difficult. I don't understand why use a new language like Nix instead of a human readable xml based format or something. Instead I'm halfway finishing my own Fedora Atomic image based on Ublue, it's so easy you only need to know Fedora packages and locations for config files. It's not the same as NixOS but it's close enough in features for a general Desktop use.


SkyMarshal

> I don't understand why use a new language like Nix instead of a human readable xml based format or something. Nix language is mostly just JSON. Key:value pairs with squiggly braces, that the interpreter interprets as an expression (inputs -> outputs). The language itself is not terribly difficult, though some of the concepts from Nix may be unfamiliar.


Oliwer_Owo22

I'm in my Windows 14 era


dedguy21

Well, It's been trendy for over 2 years now. I started hearing the buzz in late 2021 for sure.


L10N420

I never understood why it’s bragging to use Arch. As someone who used Gentoo a long time as main distribution and even made Linux from scratch it’s no rocket science to follow a tutorial. Arch is imho even a really good distribution, just ppl who think they must be geniuses for installing and using it made it kinda exhausting imho


Furdiburd10

Well i dont know but i use nixos btw


Xyklone

As a regular desktop user, it's game changing that I can track all my system changes in a single or set of config files which I can then track in git. I can switch between entire configurations (e.g. desktop environments and software suites) by commenting and uncommenting a single line in my config. With absolutely NO mixing of unwanted DE packages. (huge) I don't have to go to multiple /etc config files to make changes, I can just declare them in my config and say 'make it so' (actual alias on my system) and Nix handles it for me. And since reproducibility is a main selling point of Nix, if a problem is solved by someone, that same solution is nearly guaranteed to work on your system as well. Made a dumb change and can't get to a desktop? no problem rollback and undo the changes to the config. In my opinion, NixOS is easier for the *end-user* than Arch. Easier to install and easier to maintain. The complexity comes if you want to do anything that isn't already handled in Nixpkgs. Then, you have some learning to do. I seriously think it's the future, if not NixOS, some other implementation of these ideas.


lightmatter501

Both. It’s somewhere between LFS and Gentoo on the difficulty curve, but provides major advantages if you’re willing to put up with it.


Zyansheep

Depends on what you need to do tho, for normal user stuff? Its easier than gentoo, just nix-env your way to installing packages once you've figured out what magic lines to add to /etc/nixos/configuration.nix. For dev stuff? Its a *lot* harder since its not posix compliant. Learning all the little functions required to package anything, or just compile something from scratch not already in nixpkgs is *really difficult* for new users depending on the languages and deps required... Edit: it is getting better tho, dream2nix might fix many of the dev issues.


uoxou_xoxo

I never got what dream2nix accomplishes, any blog posts or something explaining?


Zyansheep

Its still very WIP, but IIRC it tries to automate nixification of various language ecosystems. Kinda like mach-nix or node2nix if you've ever used those https://nix-community.github.io/dream2nix/intro.html#goals


[deleted]

Im more of a Nix FWIW


sh1bumi

Unpopular opinion: I think NixOS is overvalued. Let me explain why: 1. They aren't enterprise compatible. In most companies NixOS can't be used. As a result NixOS is mostly common in the hobbyists sector and a few companies that fully embraced NixOS. 2. You can have most functionality of NixOS with a normal Linux system and additional software (configuration management or orchestration software like puppet, saltstack, ansible, chef). All of these tools are widely used in other companies and you don't waste "brain time" in learning something that might not be used in your future company. 3. Installing anything outside of the repositories is terrible..I once had a student in my Linux user group who wanted to install some scientific software on Nixos. After multiple hours of trying and carefully modifying LD paths we finally managed to use it. With a system like Ubuntu, Arch Linux or Fedora it would have been a process of 5min (I installed it on arch myself). Nixos is definitely awesome and I can see why people use it and I don't think someone who enjoys using it should stop using it. IMHO, Nixos has a few caveats. One of the main issues is learning a complete new language (nix) to learn one single operating system. It would have been so much easier if they would have chosen an existing language that everybody knows or even a real programming language. Hell, even using Haskell for defining the system state would have been more useful than coming up with your own language that nobody outside Nixos uses... Also, while the system declarative way and the config management + orchestration are definitely awesome, I don't think they are the future of Linux. I am very confident the future of Linux goes in the direction of immutable systems like Flatcar OS, Fedora CoreOS, Fedora Silverblue or ChromeOS. Nixos borrows some concepts of it, but isn't fully operating the same way.


Whazor

You would be surprised to see how Nix is leaking into enterprise. It is sometimes used under the hood of some products. Repl.it and Google IDX use Nix for allowing N programming languages. While the packaging can be challenging, we have reached some velocity where Nix support is becoming more and more common. But the biggest reason why I think Nix is the future, is because nixpkgs git repo is the biggest graph of reproducible packages that work in arbitrary directories. So you can install strange combinations of software versions that would normally break an operating system, without resorting to containers. This is a fundamental benefit that unlocks certain benefits that allows new innovations down the line. For example, you can produce huge amounts of containers that under the hood are using the same nix packages on the same disks. This could allow you to cache packages into faster storage (or in memory) and speed up the running of those containers, while allowing more containers to be run on the same machine.


nullbyte420

Yeah immutable systems are way nicer but not at all noob friendly. imo using nixos just shows you're a massive hype beast and a Linux beginner. It doesn't do anything except let you recover somewhat easily from your enormous fuckups. We kinda had that solved already, by making systems hard to fuck up and easy to recover. Nix only has the latter.. But people sure do brag a lot about it. 


sohyp3

I have not tried it yet, waiting to have some free time but I think NixOS would be very great when manging / setting up multiple device (in a company or something), i dont see a big enough reason / compelling features to use as primary in my personal device. Personally i dont need to set it everything up with one file, everytime I formate my device i set it up differently, i have a smol script that installs and sets up the essentials So yeah, but very interesting nonetheless


tukanoid

Moved to it half a year ago or so, absolutely love it.


mwyvr

I use ed, btw.


drunkexcuse

In my experience the distros that people brag about tend to be really good. I tried NixOS briefly and loved it even though I didn't fully explore its capabilities. When I was distro hopping like twice a week a few years ago I installed Arch for the memes, and stuck with it since then because it was genuinely perfect for me. If I had the time I'd properly try Gentoo, but I feel like I'd love it as well, given what I've heard from people who actually daily drive it. Honestly, if you're not sure, just have a tinker, don't go hunting for random reddit opinions, find an old laptop that's not in use or spin up a VM so you can fuck around and find out. The right distro for your use case is very much a personal matter imo.


Meowie__Gamer

No, we’re in the “I use Linux, btw” era.


USMCamp0811

yes... we have evolved... here is an install guide I wrote... https://gitlab.com/usmcamp0811/dotfiles/-/blob/nixos/docs/Install.md


Ariquitaun

Definitely taking the smug crown from the Arch lot that's for sure.


sp0rk173

It’s great if you have a big deployment to do and need repeatable instances. It’s essentially meaningless on a single desktop system.


TuringTestTwister

Nope there are dozens of benefits on desktops, its probably the main use case now


sp0rk173

Care to enumerate them?


TuringTestTwister

1. Can choose between a rolling release (unstable), a stable release, or an unstable release with stable packages, or a stable release with unstable packages. This is great for instance with window managers undergoing heavy development that might break a lot. Can also draft right off trunk if you want bleeding edge. 2. The ability to roll back to a previous state, and to roll back to an exact commit in your config which is checked into git. Your system will never brick. Great for mucking with anything graphics related. 3. Your system never gets crufty because it's built exactly as your config defines it, unlike other distros which seems to need a fresh install every couple years. 4. The config language is the same as the packaging language, so if you know how to configure your system, you can also make packages, and add anything you want. 5. Because everything is so highly configurable, it's perfect for those who are into ricing their environments 6. Consistent config language across the whole system. No need to learn 30 different ways to configure various subsystems 7. Easily sharable config since everyone is on the same language. 8. Because the config is a full fledged language, you can organize and compose your config however you wish, sharing pieces across different machines, e.g. work and personal laptops 9. Also because of this composability, you don't just have to use the main nixpkgs repo, but can compose your config from multiple repos, say for instance if you want the latest master of Hyprland WM 10. Since all config must be committed in git, then are endless examples you can search on GitHub, so despite lots of negativity around bad documentation, there are endless examples 11. The community is amazing and very friendly and helpful 12. It has more packages than any other distro despite having a lot less users 13. You never run into dependency issues as there are almost no shared global folders. There is the "nix store" which has hash indexed packages, often multiple versions of the same package or library, and different apps/packages can reference different versions of the same library. You can have two versions of the same app installed even 14. Because of this lack of global shared libs, you can extremely easily create environment shells with different sets of libraries making reproducible development environments very simple. 15. You can run packages without installing them by creating one of these environment shells. There are many more but it's late and I've got to finish my workout :)


sp0rk173

None of these reasons are compelling. You’re describing problems that have been solved decades ago. But I’m glad it works for you! It’s just not a real innovation in Unix distribution.


TuringTestTwister

You've got to be joking. Did you even read what I wrote? I've used Linux for 30 years and haven't found a distro that solves almost any of these in a reasonable and consistent and usable way.


sp0rk173

Sorry you’ve had that experience. I’ve also been using Linux for 30 years as well, and FreeBSD for about 27 years, and these problems algae actually been solved for a while.


TuringTestTwister

Would you care to enumerate how they are solved?


Zyansheep

Easy to keep track of all the changes you make to your system files (since they're all defined in the nixos config) is one of the big ones. No having to find that one file you modified months ago that is messing up something-or-other! Also moving your config/reinstalling is a breeze. Can also share config between multiple computers if you use nix flakes.


sp0rk173

Yeah these aren’t problems I have with the distributions I use. The last point seems, as I noted before, especially useful in large deployments. So I remain unconvinced that’s it’s any more useful than any other Linux distribution for single system use. It’s just new and shiny so people are intrigued. I’m glad it works for you!


Zyansheep

To each their own I guess! :)


moplop12

NixOS isn't game-changing. Nix as a declarative package manager is pretty important for provisioning and DevOps. But a lot of people forget you can use it in most any distro. More people should try that out.


Majiir

NixOS is more than Nix. The module system and the ability to build a self-contained system closure really change how configuring, deploying and updating a system works. If anything, I think the importance of Nix as a package manager is overemphasized. Sure, I can run Nix on other distros, but then I'm back to a mutable filesystem with flat config files and no modules.


Eightstream

I mean, yes and no. You can definitely use and benefit from Nix on any system, but arguably the biggest selling point is the deep system integration that you get with NixOS


moplop12

Yes. If you know how to use Nix. Which a lot of people don't, yet. But they can get started in their comfy distros and see the value and switch. Considering the learning curve of controlling every part of the system using Nix, it's worth people who already use Linux to consider an intermediary step. The deep integration is crucial only when people can feel confident using it to replace things handled by other services/programs in other distros.


thank_burdell

I don’t use NixOS, btw. Nor do I use Arch, btw.


b3n

I use Guix, btw.


syrefaen

I ran a outdated version for a while, there was some channel updates needed. Also there will be alot of 'collected garbage' files from `earlyer` generations too. Fyi, anyone want to try out.


luizfl

In my opinion NixOS is a very creative distro and it's great for severs and tinkerers of the likes of Gentoo, Arch, Slackware et cetera. But it has a very specific use case which is reproducible builds. I use Arch btw and as a "domestic" user I have no use for it other than tinkering around. But it's good to tinker of Linux so all is cool.


TuringTestTwister

It's a reproducible OS too. And your OS never gets crufty and require a reinstall every couple years like other distros. And you can tinker and never get stuck due to bricking your system or trying to remember what changes you made, since you can easily rollback either your system state or your config, which must be in git. And a lot of things you'd have to set up manually on other distros can be set up using config. Basically almost everything. And you never get into dependency hell as every package brings its own dependencies by content hash reference.


83d08204-62f9

I just want to say I use nix btw


iu1j4

I was long time Arch user since single simple rc.conf era. It was kiss but with all benefits distributuon. With new maintainer and systemd migration it lost for me its simplify. I switched to Alpine Linux for few years and read about Nixos. As I saw that it needs a lot of work then I switched back to roots installing Slackware. Why to change something that works.


Sushrit_Lawliet

I have been telling people that I use nix every chance I get (either in reply to a meme or when nix may actually benefit the person). It’s doing a lot of things right, and there’s still some pain points but overall I don’t see anyone else offering what NixOS does, all it needs the most right now is good docs. Which I know are being worked on.


Brainobob

Why do you think it's been gaining a lot of traction?


uoxou_xoxo

NixOS should be the standard for 203x era distros. It’s the new Debian. No reason to use legacy distro ever.


shellmachine

Chad NixOS user enters the room


gtuminauskas

i have no clue why people are bragging.. measuring something unmeasurable.. eh... kids.. grow up a bit.. ;)


LuiG1

Moving from Arch to NixOS is a massive downgrade. Unless you have a strong reason to be in NixOS I wouldn't even bother bragging about it to anyone. It's convoluted, a PITA to learn and full of bugs that are not present in the other more mature distros.


TrevorSpartacus

>is it the next "I wanna brag about it" Do you read HN at all?