this post was submitted on 07 Apr 2024
491 points (96.9% liked)

linuxmemes

20880 readers
7 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 

It's not about the destination, it's about the journey.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 202 points 7 months ago (11 children)

...to get a working config, you need to learn a whole new programming language and figure out the tweaks for each package you want to install, so I'd argue the journey is just as long

[–] [email protected] 98 points 7 months ago (6 children)

NixOS sounds like a way to avoid learning Linux by learning an abstraction.

[–] [email protected] 81 points 7 months ago (1 children)

that's why I only use my computer with raw system calls, shell is bloat

[–] [email protected] 39 points 7 months ago

You guys use an OS? I just push the electrons around my motherboard manually with a little magnet on a toothpick.

[–] [email protected] 20 points 7 months ago (1 children)

Systemd sounds like a way to avoid learning Linux by learning an abstraction.

[–] [email protected] 35 points 7 months ago (2 children)

You keep my init system (and resolver, and timekeeper, and task scheduler, and container manager, and ...) out your f**king mouth!

[–] [email protected] 5 points 7 months ago (1 children)

Still waiting for systemd-desktopd to drop.

[–] [email protected] 9 points 7 months ago

I'm waiting for systemd to join the smart home revolution

systemd-toiletd

journalctl -u systemd-toiletd

Apr 08 20:53:23 shitter01 systemd-toiletd[4294]: massive deuce dropped

[–] [email protected] 10 points 7 months ago

I'd personally advise against NixOS as a first distribution for that matter. It's a great distribution, but if you want to understand the underlying mechanics, start with something where you interact with them, like Arch or whatever.

[–] [email protected] 7 points 7 months ago (1 children)

Nix is to Linux what Tailwind is to CSS

[–] [email protected] 5 points 7 months ago

Ya, sucks when Tailwind goes out of style and now have to learn CSS again.

[–] [email protected] 5 points 7 months ago

That's why I used to use arch btw

[–] [email protected] 3 points 7 months ago

it's an abstraction yeah but understanding what exactly it is abstracting and how is where you'll get snags, it's definitely not a newbie distro.

[–] [email protected] 35 points 7 months ago (1 children)

Like everything with Nix, you pay a little more upfront to get a great experience later.

[–] [email protected] 3 points 7 months ago

oh yeah, I daily drive NixOS and use it on my homelab as well

[–] [email protected] 10 points 7 months ago (1 children)

That's why you go for GNU Guix instead, since it's the same kind of concept but configured using the Guile Scheme you already know.

(You do already know Scheme, right?)

[–] [email protected] 6 points 7 months ago

the Guile Scheme you already know.

⬅️➡️👊

[–] [email protected] 9 points 7 months ago

It comes with a working config.

Adding applications and rebuilding is generally trivial.

The problem becomes if you want to use flakes or home manager, which you probably should. The config for those is complicated and poorly documented.

I don't know the programming language. I've been running it for about a month now. If you're not doing anything complicated or doing any crazy conditionals or running one config for 27 boxes it's no different than editing a yaml.

It took me about 2 days to get Nvidia working properly with offloading that was my hardest task so far.

[–] [email protected] 9 points 7 months ago (2 children)

But, at least in theory, you'll only do it once.

[–] [email protected] 2 points 7 months ago

Until developers decide to do some changes here and there

[–] [email protected] 1 points 7 months ago (1 children)

Well, I "did it" for an evening once, it was fun. The next day it got annoying REAL fast. But I do keep the config around, so I guess I can just go back to it eventually to keep doing it.

[–] [email protected] 1 points 7 months ago

I'm just playing around with it on my home server, and yes, it does get annoying sometimes.

The whole system is far from being perfect, but I'm hoping for a mixture of learning on my side and improvements on the system's side.

[–] starman 9 points 7 months ago (1 children)

That's not true.

You have to get PhD in functional programming first.

[–] [email protected] 22 points 7 months ago* (last edited 7 months ago) (1 children)

Wait, are you saying my degree has real world use?

[–] kogasa 5 points 7 months ago

That would make it impure

[–] [email protected] 5 points 7 months ago (1 children)

I had no experience in nixOS, just went to the package website, it tells you exactly what to add to each section of the config.

[–] [email protected] 6 points 7 months ago* (last edited 7 months ago) (1 children)

Well not everything is packaged and when they aren’t it Can get more complicated to install since nixos doesn’t use the default file system layout. Another thing is that certain programs have assumptions about being able to do certain things like changing their own config files that don’t work well with the nixos way of doing things. (Looking at you fish(it works but you can’t manage your configuration for it(pretty sure?)with nix))

[–] [email protected] 3 points 7 months ago (1 children)

I haven't tried that one but besides the package page there is the options pages that gives you the ability to define config info.

https://search.nixos.org/options?channel=23.11&show=programs.fish.vendor.functions.enable&from=0&size=50&sort=relevance&type=packages&query=Fish

[–] [email protected] 1 points 7 months ago (1 children)

Yeah it’s been awhile since I looked at it but when I was managing my config for it with home manager it would straight up refuse to start.

[–] [email protected] 3 points 7 months ago

Welcome to Linux; where your hardware and my hardware may act completely different. :)

[–] [email protected] 3 points 7 months ago (1 children)

not to mention how many things they want to go through their system. getting vim set up “their way” while also trying to install python3 support, vimtex, and plug-vim was almost impossible. not to mention finding a way to store the vim configs separately from the rest of nixos. (i use vim on multiple operating systems so switching everything to the nixos wasn’t a viable option.)

maybe there was a better way to do it that i didn’t know about, but boy did i try to find it.

[–] [email protected] 2 points 7 months ago (1 children)

you can just include dotfiles and the like in a nix config, while it's not the recommended way it usually works

in my experience installing support for most things is way easier on nix, as long as they're already packaged well. I'm still scared of the eventual time when I'll have to create my own package for the nix store to install from source

[–] [email protected] 1 points 7 months ago (1 children)

i think i would’ve probably had to package the specific kind of vim that i needed, because i wanted neovim and a gui too or something. this was also like 3-4 years ago so its possible the documentation for this kind of stuff has considerably improved since i tried, or that there are now packages that make this sort of thing easier. and it’s definitely possible everything existed at the time and i just couldn’t figure it out.

but i ended up with a similar feeling to the one you described: stuff is easy when you do it their way, using their tools; but things are very hard to do if you deviate from the path.

i know this is just sort of an inevitable part of the design paradigm they use, and that everything probably works very nicely if you learn their language and the various ins and outs of the operating system, but i just wasn’t willing to commit that much to it.

[–] [email protected] 3 points 7 months ago (1 children)

I really like most of it and started to daily drive NixOS a few months ago, but there's still some very valid criticisms to be made. Lack of documentation is probably the biggest one

[–] [email protected] 2 points 7 months ago (1 children)

i would like to give it another try at some point because it seems like it will probably feel really nice to use once i get the hang of it. but the lack of documentation is pretty rough.

i also think that for nixos, a lack of documentation is a much more difficult thing to overcome. other distros can piggyback off the arch documentation for most things, but that doesn’t work as well for nixos.

[–] [email protected] 2 points 7 months ago

that's certainly true. I'd like to help improve the documentation, but unfortunately I'm still pretty green at Nix myself, so there's not much I can do at the moment. But it seems to be picking up speed recently, so there's hope that with more people better documentation is coming soon

[–] [email protected] 1 points 7 months ago

The hard part is unlearning last century distro mindset, not this.

[–] [email protected] 1 points 7 months ago

Idk flatpak and docker are pretty easy to set up. If anything gets too complicated it's easy to go back to old reliable.

[–] [email protected] 1 points 7 months ago

You still need to figure out the tweaks on other systems. Unless you want the Nvidia machine learning to complain that your C compiler is the wrong version and exit. Or maybe you'd prefer to deal with a package calling ps and parsing its output (?!) but you have ps that's a different version so the output doesn't parse the same

I mean, when have we ever had a system that is working without any tweaks? Once you install third party packages, there's so many things that can go wrong