More info: https://nixos.org/
More info: https://nixos.org/
If you want to reach the areas where you can really improve your productivity, you're gonna have to take weeks or even months to learn something from the bottom up. There is no way around it, and it's the same in many industries. There is no "30 minutes to get more productive than anyone else" in reality, only hard work, understanding and application of your knowledge in the real world.
OTOH you don't have to write all this boilerplate code that's suggested in the article and your Nix environment is truly reproducible, whereas rebuilding a Docker image might not reproduce it faithfully. (Try running `apt-get install` in a Ubuntu container without running `apt-get update` first.) On top of that, if you've ever had to use more than two languages (+ toolchains) inside a single project, maybe even on multiple architectures[0], you'll appreciate Nix taking care of the entire bootstrap procedure.
[0]: Lots of dependencies that are easy to install on x86 need to be installed/compiled by hand on arm64.
I can't imagine anyone using both and thinking Nix is more complicated that Docker. And it's not close.
> at least it's not that widely used like Docker is
"Which has more users" would not enter the top ten reasons I'd choose between tools like this.
At least that's my experience. Although I do prefer Nix over Docker any day, I'd definitely say the learning curve is steeper with Nix, but it's so worth it long-term.
Size of the community, especially if its quality, means you just increased your surface area at getting help for issues you encounter. Which is a very non-trivial concern in a work environment.
Why not? A big community means that you don't have to solve problems on your own, because someone else has probably solved the same problem before you.
If anything, it should be the <<first>> factor when making these decisions.
Also “imagine thinking...” is just vapid snark. If you must snark, at least make it substantial.
Well for starter Nix has a wider syntax because it covers much more than Docker + docker-compose. Which it's perfectly fine because they are two different tools that intersects in few use cases.
Syntax to install a few packages:
environment.systemPackages = with pkgs; [ wget vim nano zsh file ];
Including trailing semicolon. Dockerfile on alpine:
RUN apk add vim nano zsh file
I mean, maybe I'm too used to the latter but I really struggle to find the former simpler.
They certainly should monetise, but not making it clear is what I object to. I've raised as an issue for clarification in their community wiki.
Not sure what needs clarification here, it's pretty up-front about it's mission and features already.
> Your snapshots and abilities to rollback etc are likely to be dependent on their storage servers
Not sure where you get this from. Snapshots are stored locally unless you specify otherwise, and then you'll get to chose whatever storage servers you want to use. Absolutely no "hidden" costs with Nix as it's a MIT licensed project and I don't think they even offer any "value-added" services nor paid customer support.
Edit: reading the issue you just created (https://github.com/nix-community/wiki/issues/34), I'm even more confused. "Given the need to monetise" is coming from where? Nowhere do they say that they have to monotize but don't know how/where, so where do you get this from? Not everything is about money.
e.g. Something like AGPL is considered copyleft and not compatible with 'open source' ethos. Still 'free' but the additional non-compete cloud service clause is both a sensible move, but something I'd just like to understand.
Your statement of 'what's wrong with people' is what is getting me. Borderline defensive. I'm definitely not knocking the product, quite the reverse. Its so good I want to embrace it wholeheartedly.
I have no problem paying for things, contributing voluntarily to a great product.
Its good to see that various organisations are committed to funding the infrastructure costs etc. (which negates my comment about storage servers).
As to monetisation,kind of irrelevant but was referring to paid services at the bottom of https://nixos.wiki/wiki/Nix_Ecosystem
I’ve had to read this several times and still don’t understand what you’re talking about. AGPL is a Free Software license. All Free Software licenses (to my knowledge) provide source access. AGPL is also OSI-approved, so it is also an open source license.
It’s unclear what point you’re trying to make?
The infrastructure costs are covered by sponsors. The 'They should monetise' was a 'they' that I now understand are external organisations rather than nixos themselves.