this post was submitted on 14 Jun 2023
13 points (100.0% liked)

Linux

4924 readers
133 users here now

A community for everything relating to the linux operating system

Also check out [email protected]

Original icon base courtesy of [email protected] and The GIMP

founded 1 year ago
MODERATORS
 

I think the main pain point of distro hopping is learning a new package manager, I discovered Nix a while ago, it works on every single OS, has the biggest package repo out there. I replaced Homebrew on my mac with it. If this piques your interest, give it a go. Later, you can integrate with Home-manager to manage all of your program config to have a reproducible dev environment on any machine, as described in the tutorial here.

The catch is it's really advanced and got steep learning curve. You can adopt gradually tho. Just get started with nix-shell and nix-env

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

I use dnf and flatpak on Fedora and I’m pretty satisfied. What is the killer feature of Nix that would make it worth learning how to use it?

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

To add to the other comment, Nix really strives for true and actual reproducibility. Someone please correct me if I'm wrong, but my understanding is that even in builds it uses fake timestamps to ensure if a timestamp is in the resulting binary it doesn't mess up the hash of it. They really do try to go a step beyond others in the realm of reproducibility it seems.

[–] [email protected] 1 points 1 year ago

Thank you, you guys have convinced me to try it!

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)

the problem nix trying to solve is reproducible build, which means from a single config file you can migrate to any machine and have the same environment, auto install and dot files. While other package manager install in a imperative way, which means you have to call the install command on every package you need and you have to remember it. That's the basic difference. You can consider trying it if you see it's worth it. It's harder than any other package manager I know, but it solves a different problem.

[–] [email protected] 1 points 1 year ago

Thank you, this sounds extremely useful, I’ll definitely try Nix!

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

A less theoretical advantage is that it can create the exact same environment on both Mac and Linux, and in neither case does it need to replace your primary package manager.

If the whole team is using nix, then the "setup" section of the readme just says "use nix-shell"[1] and that is more than enough for everyone.

[1]: I can't remember if nix-shell is the right command, or not, but in theory nix can create an exact environment on every machine with one command.

[–] [email protected] 2 points 1 year ago

Wow, that’s really useful. I’ll definitely look into Nix!