3 ms·
You are confusing it. Nix does not use containers.
by lifty 4y ago
You are confusing it. Nix does not use containers.
- superkuh 4y agoRight. Nix is containers.
- kaba0 4y agoMaybe don’t double down on something you don’t understand and has been corrected about several times.
- superkuh 4y agoMaybe don't pretend a trivial semantic difference due to your point of view means I don't know what I'm talking about. Yes, Nix only alters environmental variables, but guess what, that's pretty much what Snaps do too plus a bit of bind use. The fact that people are constantly asking "Will Nix Overtake Docker" is another hint about actual usage. Snaps bind in the libs, Nix sets env variables to set the available libs. The goal and end results are the same. The difference is more marketing than anything else.
- colordrops 4y agoWhat does a container mean to you? On Nix there is no separation of file system or network across applications. The same installed libraries can be used by multiple apps. Apps have access to the same system services and run together, e.g. with a single systemd. How can you call what Nix is doing "containers" ? There's virtually no overlap. Zoom overtook the local freeway as the preferred mechanism for get to meetings at my company. I guess Zoom is a road by your logic.
- superkuh 4y agoOn Snaps there is no separation of network access. The same installed libraries can be used by multiple applications. Applications have access to the same system services and run together. How can you pretend Nix is different from a Snap container? There's virtually complete overlap. Or maybe you'll now say that Snaps are not containers because they do it in a Nix like way? By your logic a frontage road is not a road just because it's dedicated to a single commercial development and named differently. In my top level post which started this big thread I claimed that the purpose of containers (Nix, Snaps, Flatpack, Docker, AppImage, etc) is to solve the future shock problem and allow running of broken applications by controlling the libs available. I stick to that claim here.
- colordrops 4y agoI'm reading on snapcraft that most snap packages use "strict" confinement, which means that they "run in complete isolation, up to a minimal access level that’s deemed always safe. Consequently, strictly confined snaps can not access your files, network, processes or any other system resource without requesting specific access via an interface." Sounds like a container to me, and it's not how Nix does things.
- kaba0 4y agoYeah, Nix “doesn’t only alter environment variables”, hell, the most common way of operation is simply patching/compiling standard linux ELF executables in such a way that they dynamically link to the correct dependency, so instead of just having libc mentioned, there is /nix/store/some-hash-libc/lib/libc there. This one libc is shared across many (most) of the packages you will practically have, so you get the advantages of containers, without any overhead in emulation, nor file size.
- lifty 4y agoThere is a colloquial usage of the word container when it comes to Linux, and it's not what you're referring to, as similar as they may seem.