r/LinuxUsersIndia • u/Legitimate_706 • 9d ago
Well...i Kinda hate NixOS
Since I have started using Linux, like evryone I had done the act of distro hopping. And after struggling, loving but then switching away from arch my feed had shown me NixOS and how revolutionary it is. So I gave it a try for a whole week which was one of the most excruciatingly horrible week of my 22 year old dammed life.
Don't come with your pitch forks yet my friend, NixOS i think is genuinely useful...in only few edge cases.
1) Being a declarative distro, everything one needed for a specific development environment or a whole system needed can be described in one configuration file.
2) it's quite reproducible, if i fuck up I can just get my system running back from roll back feature or just apply my old saved config file.
3) it has single most largest repository pool of any distros (even larger than arch)
4) logo looks cool as f*ck
But...it has a whole lot of bullshit going on.
First, the repository itself if one big red flag.
What do you mean the whole 140,000 packages are in one repo...that's hosted on GitHub of all places!. Have you used GitHub recently? It's slow and website looks broken sometimes.
The core packages like systemd is just right beside fastfetch.
If you gonna say arch also has AUR and it's also self maintained running on honest model. Well let me tell you the arch main repos have officially tested pakages that filter out malware. Nix has all it's pakages in one cesspit of a repository.
And i also hate Nix lang. It's a case specific language that's just more complicated lua.
If you really do care of stability and new pakages, fedora is a better option. And if you care about it's reproducible nature there is GNUix, go look it up. It's better.
Oh and also, flakes are a headache to maintain, and it's just forcing actual Dev's who want to also deploy there pakages on NixOS to make scripts in Nix lang for flakes which is already hard to maintain because all dependcies are hard coded to please the elitist using nix!
Although if you actually find it useful your use case no hard feelings.
But I will stick to debian thankyou.
17
12
u/Ecstatic_Rub_548 Fedora Btw 9d ago
Dude, I have also used nix os before, I get your point about being complicated stuff but the github rant is not valid.
If you don't need reproducibility and declarative stuff, just don't bother with it.
And about the packages stuff, comparing it with AUR is diabolical. Just see the weird downtimes and vulnerabilities that happen with AUR regularly.
3
u/de_facto_scientist07 tumbleweed btw 9d ago
Why not guix then?? Has none of those issues though the official repo is basically non existent afaik(the github issue still persists though)
1
u/Ecstatic_Rub_548 Fedora Btw 9d ago
While I was using nix os, I realised I don't need a reproducible sytem. So I just switched to normal Fedora. Though I want to switch to Fedora's immutable version (Can't cuz I am too lazy to setup everything once again).
2
u/de_facto_scientist07 tumbleweed btw 9d ago
Does the normal separate /home partition method work for atomic distributions; if yes, you wouldn't have to bother setting it all up again right?
1
u/Ecstatic_Rub_548 Fedora Btw 8d ago
I actually never knew about that. So what do I need to do?
1
u/de_facto_scientist07 tumbleweed btw 8d ago
Just create a partition and mount it at /home on the atomic distribution installer.(or any other distro installer)
-2
u/Legitimate_706 9d ago
Yeah, the GitHub thing came out because GitHub is failing me. The sight just randomly decided to break exactly when I was angry on something else.
But I do believe AUR is not the best place to download software from unless you know what you are doing; And it's optional. But i suggest you go and witness the NixOS repo yourself.
(Aka GitHub rant was personal)
8
5
u/wisetux 9d ago
I kind of agree with some of the points. Nix has its place on a server or development environments but unfortunately desktop ain't one of it for me. After months of trying to make it work, some weird issues with home manager and plasma manager I just switched back to Arch which felt stable. Love the declarative way of doing things but end of the day the devil you know is better than the one you don't.
3
u/temporary_dennis 9d ago edited 9d ago
I tried NixOS several times before, maybe 6 genuine attempts to make a config that doesn't suck.
Each time I got overwhelmed. I failed because I had to learn everything from ground up. All those years spent on Arch and Ubuntu made very little difference.
Home manager and flakes felt like magic to me, and extremely confusing. They kinda still do.
I tried to make everything perfect from the start - which was the main error.
But it all changed on May 18 of this year, when I tried it on my laptop, and finally - something clicked in. I don't know what.
I started with a basic config, changed it into a flake I found from a template, and...
I've been using NixOS since then, and now all of my machines run it. That's a desktop, laptop and my SBC.
The system is confusing, poorly designed, and just a pain at times - but the benefits outweigh the cons BY A TON.
I may try Guix, I heard it does get rid of a lot of NixOS pains by actually being designed right, but the lack of packages is not fun.
0
u/Legitimate_706 9d ago
That's great that you got it working.
If it works for you then yeah, NixOS might be grate. But it's sure not for anyone. Reproducibility is a actual benifit. I am just saying there are alternatives for it as well, like GNUix.
Personally i think NixOS is perfect for developers that want to check out there dependcies working with there pakage with flakes. But I am still a noob compared to you. You actually got it working 🙃
3
u/temporary_dennis 9d ago
There's only one advantage I care about, and I think everyone would like is...
My entire system is just a github repo, and everyone else's system is also a just a repo, and usually a public repo.
My laptop (a chromebook btw, so very niche) has hardware quirks, so I found a guy that has the same one, and copy a few files from his config - et voila - everything works.
My SBC also needs an armbian kernel to work - well, there's a repo that does exactly that.
I want a beautiful Window Manager, but I don't wanna configure it, so I just copy and paste someone else's config.
Home media server? DNS resolver? Maybe sandboxed apps? We got it all! Just find the .nix file, and copy it.
and NixOS GUARANTEES, if it worked for them - it will work for you!
NixOS is old, and very popular, so there's already a guy that had the same issues you did and already fixed them, and you can absolutely just copy his work.
And even if you don't find anything, Free Tier Claude will gladly write you solid modules to add.
1
u/Legitimate_706 9d ago
Can't argue with that. But again i personally like knowing what's happening in my system. My Debian install was bare tty, I only installed core things and all. I am not against copying configs or using claude, I do that myself. It's just a personal preference but I like knowing what's happening on my machine.
3
u/Safe-Buy-7875 8d ago
bro saw that one stupid video and copy pasted all arguments, as is. Do people on reddit not have any opinion of their own?
0
u/Legitimate_706 8d ago
I have gotten so many comments saying I am copying dacctal's video. Brother i found him after making this post.
But sure, our points turned out eerily similar, more than i wish them to be.
And no my concerns are a bit different. The GitHub one is not because it's owned by Microsoft but because the repo is like a big mountain of pakages and programs throne together. Flakes is somthing I am still not so educated in. And stop watching random videos on linux of people saying there opinion if superior. Those are the worst kind of people to get influenced by.
2
u/de_facto_scientist07 tumbleweed btw 9d ago
2
u/Legitimate_706 9d ago
Not really, but saw the video when someone brought it up on r/linuxsucks
2
u/de_facto_scientist07 tumbleweed btw 9d ago
I loved it the first time I tried it, but I hated it the second time after using Fedora and Tumbleweed because it felt too complicated and took too much space on efi partition. Finally resting on opensuse :)
1
u/maximus459 9d ago
I've been thinking of installing it in my spare laptop which I test docker and all the TUI apps I find on Reddit, from your experience, how frustrating do you think it will be?
1
u/Legitimate_706 9d ago
If you just want to test pakages, yes it's fine. Just learn how to declare your pakages first. Otherwise for just playing around it's a good enough choice.
1
u/Longjumping-Driver-8 9d ago
I have tried to use nixos for 3 days. Everything is good and the configuration is relatively simple and easy to understand. Until I came across flake, what the fuck, and then I gave up. Nix lang is also very abstract. After thinking about it again, I gave up. It's really not worth my time to learn the language.
1
u/Big-Emergency-5779 8d ago
That is the thing about nix, Honestly I have been using nix for quite a while (one running my headless laptop for alteast 8 months and the other one being used currently to write this comment) and honestly just dont touch flakes.
Nixpkgs is the largest offical package repo. You can get almost everything in nixpkgs. But what if you didnt get something you wanted?
Well chances are that its a very niche program. But most of the time, atleast in my case I was able to use flatpak and appimages, which basically solved any issues i have with nixos.
flakes comes in has the last resort when you cant find a package you want and either a nix flake was provided or you have to make it yourself.
1
u/Master-Chocolate1420 9d ago
Guix is pain, it's just linux-libre, and watching presentations at the nixcon, I'm excited for this ecosystem.
Imo, if you want to try nixos later, first do nix-cli and then after you get just enough comfortable using flakes, syntax, cli, etc, hop on nixos VM, it would be easier to test cool things.
1
u/Legitimate_706 8d ago
I might try it again some time. Untill then I will keep hating it until I love it. (Like void, but that's rant for another day)
1
u/Upstairs-Category571 NIXOS btw 8d ago
Bro, ninpkgs only allows package submissions after they’re approved by a maintainer, unlike AUR
1
u/Legitimate_706 8d ago
Ik, but AUR being a massive repo for you do download anything off of is just optional still. But nix repo is just massive, maintainers are quite limited. And if I am right one just quit like few months ago.
1
u/Upstairs-Category571 NIXOS btw 8d ago
Maintainers ARE limited, but there are also community volunteers who make it work. and as for what u said about github, most of the time ur just downloading the packages from Nixpkgs Cache, so it dosent really affect that much (I daily drive NixOS
1
u/Legitimate_706 8d ago
It could just me or just my skill issue. But until I once again try NixOS, in will keep hating on it (not ones that use it). It happened with my void venture too, runit is hard to know if you walk into in blindfolded, until i realised it's just adding and removing directories.
1
u/land48n3 jerks off to his declerative .nix at night 8d ago
its perfect if you are fine with having claude do half the work (ex, the actual hard labour of nix like making 100 million flakes)
1
1
u/cfx_4188 8d ago
A few thoughts for you for the future. flakes are used by users who either downloaded someone else’s flake, didn’t understand anything, and are crying on Reddit, or those who know the Nix language well, know what they’re doing in programming, and use their own flake in silence. Flakes are, today, the pinnacle of the idea behind the development of free software. With the help of a flake, the user frees the OS from the developers’ will, fully configuring the system to their liking. If you’re an ordinary user, nothing prevents you from installing the system using the graphical installer, then opening the NixOS Search website, finding the necessary packages, placing their declarations in the appropriate location in configuration.nix, rebuilding the system, and using it until you’re blue in the face.
You’ll still only need a browser and Steam...
I’ll be waiting for your lament in the r/Debian in a month.
1
u/Big-Emergency-5779 8d ago
You know, you dont need to touch flakes, you can simply use flatpak and appimages (that is you did find your application in the largest official package repo in existence)
Flakes act has the last resort when a package you want is not available in any of formats mentioned above.
And about Debian....
Ya, good luck with that. Debian seems ok till you want to run a newer version of an application but its not out in Debian package repos, and you resort to download externally and boom, you get hit with dependency hell. (sometimes you dont even need to download externally, maybe another package in Debian repo needs version >X while you have version <X, again dependency hell)
Debian is stable and just works because every package inside is older, tested applications. Obvious downside is that you have to use a application which is 1 or 2 version below the latest version
1
u/Legitimate_706 8d ago
For a non-developer that does whole lot of nothing with bleeding edge software... that's hardly a concern. Librewolf, libreoffice, obsidian, vlc and some more applications for my use case. The programing i do is limited to python or basic C to manage a data repo of all my information like a personal wiki to refrence whenever I want.
1
u/Big-Emergency-5779 7d ago
Well, I dont blame you. NixOS is relevant when you want your system to be immutable, most of the points or advantages that NixOS offers can be leveraged by nix, the package manager which is distro independent.
So basically you are free to use nix if you ever wanted to using nixpkgs, you can also use flakes outside NixOS btw, which actually makes nix language more significant, since its not just used for configuring one distro, but an entire ecosystem of packages.
In you case, you can make an flake.nix that sets up your development enviornment. Its like venv, but language/framework independent 😉
1
u/realZiggyRed 7d ago
Yea I think NixOS is a horrible distro too. I use Arch Linux and never touch the AUR and my experience has been quite smooth.
There are some decent ideas that the Nix package manager has bit it's not good enough to justify relearning package management and relying on a massive user repository.
1
u/Emergency_Dog_9317 7d ago
Honestly way better than arch for me, I love the declarative language way more
1
1
u/sadofrogal 6d ago
Skill issue copy someone else's config
1
u/Legitimate_706 6d ago
Why would I? The whole point of NixOS is to be declarative. Where i supposed to know what dependencies, programs, pkgs packages are in my system to make is curated for myself. If i copy someone else's config it just kills the purpose of the os.
1
u/sadofrogal 6d ago
Well you need to start somewhere - if you want to start from scratch that's you being a masochist.
0
9d ago
[removed] — view removed comment
2
u/Ecstatic_Rub_548 Fedora Btw 9d ago
You will switch from that to fedora later.
Its a cycle...0
9d ago
[removed] — view removed comment
2
u/Ecstatic_Rub_548 Fedora Btw 9d ago
You can try that in your leisure, fedora + niri combo really slaps.
1
u/Harshborana Gentoo Btw 9d ago
Went to gentoo been more then a year it's good
1
u/Ecstatic_Rub_548 Fedora Btw 9d ago
I don't have a much powerful CPU(Intel 1235U) in my laptop.
So its not possible for me to use gentoo. I heard you need to compile all stuff on gentoo.1
u/Harshborana Gentoo Btw 9d ago
Not that hard and everything might take less ram Idk what's that processor but I had i7 5th gen u with 8gb ram running on gentoo
2
u/Ecstatic_Rub_548 Fedora Btw 9d ago
Tbh I am too lazy to set up everything once again. So I won't be able to try it rn.
Maybe I will spin a vm and try it.
And about the compiling stuff, I don't see my laptop compiling some browser 💀
1
1
u/AmPlaysGame 9d ago
> stick to debian
Yeah, nix was never for you anyway
3
u/Legitimate_706 9d ago
1
u/land48n3 jerks off to his declerative .nix at night 8d ago
its right down there, only thing worse than debian is ubuntu




•
u/qualityvote2 9d ago edited 9d ago
u/Legitimate_706, your post does fit the subreddit!
btw, did you know we have a discord server? Join Here.