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
linuxmemes
Hint: :q!
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
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).