Replying to Avatar jb55

yes

I'd like to understand the reason behind the flake hate... maybe I could learn a thing or two.

Without them, I feel shackled to what nixpkgs might contain or not.

Reply to this note

Please Login to reply.

Discussion

you can just fork it and add stuff, that's what I do

isn't it harder to track, compared to inputs and outputs in a flake? makes the distinction clear about what's included in nixpkgs and what I added myself.

flakes also allow to pin version numbers, which increases reproduceability

i just pin nixpkgs if i want that... its usually more annoying than its worth though

https://nix.dev/reference/pinning-nixpkgs.html

flakes adds way more complexity than its worth... I never need all these fancy reproducibility features that just explodes complexity. i just don't get it. if people like them then fine, but I just don't need it or want it.

I've been using nix/nixos for 10 years just using nix shell. maybe I'm just not smart enough as to why I would need it. my projects are already are reproducible enough.

For me most of the value from flakes came from two things:

- Coherent setup across multiple computers (including home-manager, nix-darwin and nixOS of course, be it on servers or desktop)

- Reproducible dev envs without host contamination: this one was a blessing when working with a team on proprietary stuff with a bunch of very specifc deps/setup/etc.

never really been an issue for me.

If i need specific inputs not in nixpkgs just for my nix shell i just make a derivation in a file and callPackage in the nix shell.

I guess nix “alone” fixed enough shit for nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s that the time investment to get into the flake train may not sound as appealing as it does for the rest of us.

Heck, I myself was a little hesitant to jump into the flakes train because of the “experimental” feature flag it’s attached to.

I love this explanation of why flakes might make sense

https://www.reddit.com/r/NixOS/comments/1khm101/comment/mr81zic

ok but you rarely run into these issues in practice. it encourages people to not contribute to nixpkgs... would rather we just have a central repo that is up to date for everyone instead of shattered into multiple poorly maintained and untested flakes

Many projects do both ways, the “local” flake on the repo serves as a source of bleeding edge package and “blessed dev env” (specially useful when combined with direnv, because you just git clone, direnv allow and then get to business) while nixpkgs hosts the lastest release/stable version.

It welcomes testers without alienating everyone else.

the trigger for me to switch was when I tried to include the mempool app to nixpkgs. I got hammered cause bitcoin apps were supposedly bad for the environment at that time.

from that moment on, I figured a little decentralization was my way forward.