4 ms·
You don't have to manage your system with NixOS to reap the benefits of Nix. It solves very real problems that very much exist, it might not exist if you're a o
by lillecarl 3y ago
You don't have to manage your system with NixOS to reap the benefits of Nix. It solves very real problems that very much exist, it might not exist if you're a one-man show deploying WordPress to GoDaddy though.
Barrier to entry:
1. Run the nix installer
2. Enable flakes
3. cd project
4. nix run
This ensures you run the package with every dependency except the kernel pinned to a hashed version. If dependency hell is not a problem for you, be happy!
- awelkie 3y agoStep two is not even necessary if you use zero-to-nix's installer. https://zero-to-nix.com/start/install https://zero-to-nix.com/start/install
- lillecarl 3y agoYup, I just didn't wanna confuse the already pessimistic person by saying "use the unofficial installer" :)
- thumbuddy 3y agoYou're omitting the entire thing about learning how to write nix. Which is nightmare fuel even for FP fans.
- SuperSandro2000 3y agoUnless you are attempting advanced things you don't need to know a lot about the language and how the more advanced things work.
- pxc 3y agoImo the harder part is learning bespoke build processes that you may not own in order to get software that assumes it can perform arbitrary network access or other naughtiness at build time to build successfully in a restricted sandbox. The language is maybe a little strange at first but there's really not much to it.
- kaba0 3y agoJust find a project written in the same language that is already packaged and copy it, modify the name, version, source url, hash and that’s it. It is one thing that is easier done from the top, instead from the bottom.
- lillecarl 3y agoYou don't have to know how to write Nix to write 95% of all Nix, it's just "JSON with functions" after all. There are definitely advanced things that the Nix and NixOS developers maintain for me. Just like I don't know how to implement any crypto, or how to implement efficient 3D pathfinding I don't know how to implement NixOS. But I can write a derivation using the helper functions for the language I want to package, which aren't many these days since nixpkgs is huge already.
- duped 3y ago> Run the nix installer Ok and this requires root access, sets up some global directories under root, and a new user. Me as the administrator: why the hell do I need a new user and what is the nix store and what are the conditions that mutate it? (I know the answers to this question, but it's a barrier for people who give a shit). > Enable flakes What the fuck is a flake? Reads a bit... what the fuck is a derivation? (again: I know the answers to these questions already, but the invention of jargon by nix devs is a massive barrier to entry that shouldn't be overlooked, it's extremely confusing) > cd project Ok now I'm comfortable doing things I know > nix run Fine, but what about auto envs and nix shell? I don't use these with make or cmake. I need to attach a debugger, where does it go? How do I set up my IDE that has no idea nix exists? My point is, nix has a lot bigger of a barrier than these four lines, and it's really naive to think that's it.
- xxpor 3y agoAlmost everything here is valid, but iirc the last time I ran the nix installer I thought it offered a home directory based install now that doesn't require root.
- kaba0 3y agoYou can use in theory something other than /nix, but then you have to recompile everything yourself. So not many people do if, not sure about it’s state.
- fbdab103 3y agoI just dipped my toe into the Nix pool a couple of weeks ago, and there are instructions to use root to create a /nix and grant ownership rw to your user account. No further admin required, but everything else seems to work as if using the Nix root user method.
- pxc 3y agoThe installer used to have an option for this, but nowadays it's discouraged. How come you wanted a single-user install so much? And j/w, are you on macOS?