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:

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
39
Btw i use *nix (discuss.tchncs.de)
submitted 1 year ago* (last edited 1 year ago) by [email protected] to c/[email protected]
 

image

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 6 points 1 year ago (1 children)

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

[–] kogasa 2 points 1 year ago* (last edited 1 year ago) (2 children)

Isn't it immutable? That's a pretty big difference in itself

edit: Thank you for the replies, I'll have to learn more!

[–] dukk 2 points 1 year ago

No, Nix isn’t actually immutable. It runs packages in isolation, but they can still affect your file system.

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

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.

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

How does stuff that's not made specifically for nix discover it? E.g. how would gcc find the libraries it needs in /nix?

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

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

[–] [email protected] 1 points 1 year ago (1 children)

Got it, thanks 😁 I was looking for this kind of a tldr answer

[–] dukk 1 points 1 year ago

To add on, every single package is manually defined and set in the PATH inside the derivation (which is what packages software in Nix).