this post was submitted on 02 Jul 2023
39 points (100.0% liked)
linuxmemes
20880 readers
10 users here now
I use Arch btw
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules
- Follow the site-wide rules and code of conduct
- Be civil
- Post Linux-related content
- No recent reposts
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Is Nix good? Afaik the main selling point is that the package manager stores different software versions by hash, so all are accessible. Not sure how that works with everything else
Isn't it immutable? That's a pretty big difference in itself
edit: Thank you for the replies, I'll have to learn more!
No, Nix isn’t actually immutable. It runs packages in isolation, but they can still affect your file system.
it sort of is. The whole thing is made of what's in /nix and it sets read-only attributes to all of it. You can modify it however you like by simply rebuilding it with updated configuration and you can switch at runtime or reboot.
How does stuff that's not made specifically for nix discover it? E.g. how would gcc find the libraries it needs in /nix?
I'm not super adcanced in it and you beter off referring to NixOS docs to learn about it specifically, but trying to answer your question, it creates symbolic links of libs or binaries and manipulates PATH, LD_PATH and others. Some packages will also have speciall wrapper scripts that prepare the environment for a binary to run.
The downside is that you can't just run Linux binary directly when it's dynamically linked and you need to use what's in the repo or use special overlay to imitate FHS
Got it, thanks 😁 I was looking for this kind of a tldr answer
To add on, every single package is manually defined and set in the PATH inside the derivation (which is what packages software in Nix).