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.
wow, you built that? That's so cool man! Thanks for the advice
just come back to reddit and tell people to move here guys. Other than that, just add reddit to google search to get better result, that's it. I wish lemmy will have better SEO in the future.
not if what you want to install is already cached on the server, which is mostly the case
I mostly copy from other people's config, not much learning at all. Heard that Guix is a good too if you only use linux, but it doesn't have nonfree softwares right?
The catch is that it's hard, only if you want to use it at its max potential tho.
I would love to roll out my nix-darwin
too, but I'm on a crappy 256gb macbook and xcode + android studio took most of it. Guess I have to experiment on the real desktop rather than macOS VM
nice, I'll check it out
I don't see it necessarily a bad thing tho, yes the bigger community will attract more people, but smaller ones like in this instance can have more niche, more closed interaction. We're not trying to compete here, users can subscribe to multiple community if needed. On Reddit it's the same, r/art and there's r/art2 and so on. If one turns bad, there's still a community for people to move to.
oh yeah, Nix is powerful and also has quite a steep learning curve compared to other tools, but you can adopt gradually, some utility of Nix I can list out here:
- experimenting with packages with
nix-shell
when you are not sure if u want to install - use it just like other package managers like
homebrew
,yay
, etc withnix-env
(imperative way, not really recommended by the community) - manage the entire dev environment with
home-manager
and nix flake. If you use macOS or nixOS, you can even manage your OS settings (on macOS usesnix-darwin
) - manage dev dependency on project level with
direnv
+ nix. for example, you don't want to install python on your machine, but only want it active in the repo you're working on, u can declare it inside the repo
here is my tutorial a while ago, I still don't write the next part but this might be a good start for u. And here is my personal setup using nix and home-manager
Very nice, thanks. But I'm not always inside neovim to use this plugin tho
Cry with with tears of joy of course.