4 ms·
To be honest, the naming is a bit confusing. Here is my understanding: - Nix: build system and package manager (available on Linux and macOS) - Nix: language
by Cyph0n 2y ago
To be honest, the naming is a bit confusing. Here is my understanding:
- Nix: build system and package manager (available on Linux and macOS)
- Nix: language used to define how to build packages
- nixpkgs: Nix package monorepo
- NixOS: Linux distro that is fully managed using Nix (language), has Nix (package manager) built-in, and is defined as part of nixpkgs
- soraminazuki 2y agoThe language is also commonly referred to as Nix expressions or the Nix language.
- squiggleblaz 2y agoHonestly I think you need to divide "Nix" up into two:[1] a language interpreter and the build system/sandbox. First nix interprets the expressions. It does that in your local context - so that, if it's configured to, it might read your .aws/credentials file to get access to resources stored in your S3 bucket. Once it's established what it needs to build, then the build system takes over and sets up a sandbox and runs bash scripts and other commands to produce output. I had conflated the two for some time and it caused my a variety of confusions that are resolved by observing the distinction. (Also, I tend to think it's better to view NixOS as a tool for producing a linux distribution, which in many cases just happens to have an installbase of 1 - but that's not necessarily the case, and you could build your images with NixOS and deploy a dozen of them to aws.) [1]: this was meant to be a joke, but it occurs to me that a person might think I missed that they had divided "Nix" up into two, the buildsystem and the language. But a language is not a command and doesn't do anything, so it can't possibly be an interpreter as well - and there could be and to some degree is multiple nix interpreters. So it is the first of the divisions of Nix that I sliced in two, and you end up with three Nixes: the buildsystem/sandbox; the main language interpreter; and the language.
- viraptor 2y agoIt's this meme image, but actually https://kagi.com/proxy/images?c=_m3km2RjA3G0qleowsZXHZb9NEn0fSsEYIHbKzMDyAFb4nUPIanknmQV_g0rmdCIXxRtvaCShXUB7W-n0BY2z-cK8_KD3Lk_Ycw9joSTrvoGvGIs2NcUe9s7D6HNgxcyu0Sl0W88ojTzxeFp2_p3rQ%3D%3D https://kagi.com/proxy/images?c=_m3km2RjA3G0qleowsZXHZb9NEn0...
- bqmjjx0kac 2y agoWhich itself is derived from the logic-defying diagram of the holy trinity: https://en.wikipedia.org/wiki/Trinity https://en.wikipedia.org/wiki/Trinity
- sangnoir 2y agoHow is it logic defying? It seems straightforward to apply on any compositional entity: I could make one with "Apple Executive", "Tim", "Phill", and "Eddy"
- krab 2y agoI guess because of the assertion that "there is only one God".
- ffsm8 2y agoWhile that breaks the Apple executive example, it's still just as easy to explain from a programming perspective: each of the sides could be a trait/interface which is implemented/part of the same entity/Singleton
- viraptor 2y agoYes, but real world entities don't stop being a thing just because you refer to their one specific trait. The god example only works if you assume it works. That's why it's not logical. Anyway, traits are "is a" descriptive thing, not a referential equality "is". The trinity relations are not "is a" to begin with, or we'd be having many gods and Christian priests are not into that.
- graemep 2y agoGiven it is a discussion of an entity that is already defined by properties not shared by any other real world entity its seems not just logical, but reasonably, to assume that it differs from them in other ways too. I tend to agree traits is not an accurate description, but it is a reasonable analogy. > The trinity relations are not "is a" to begin with, or we'd be having many gods and Christian priests are not into that. Sayings "priests" seems and off choice of wording. Why not just Christians, or even "Christian theologians"?