5 ms·
> Using VS Code Remote SSH on NixOS systems This is the main of issue with Nix and other niche distributions: they are new operating systems, with their set of
by dottedmag 3y ago
> Using VS Code Remote SSH on NixOS systems
This is the main of issue with Nix and other niche distributions: they are new operating systems, with their set of file layouts, package managers, and even syscall variations.
Linux ecosystem is awfully fragmented. If you ever want to use any software outside of your not-very-well-walled-garden provided by distribution authors, you have to hope your operating system (that is, distro) is sufficiently similar to one of few distros software authors have built and QAed their software on.
I have written at length about it here: https://dottedmag.net/blog/linux-is-not-os/ https://dottedmag.net/blog/linux-is-not-os/
I wish for a system that:
1. provides declarative configuration.
2. allows for easy local patching.
3. is ABI-compatible with a major distro.
Alas. Fedora Bluesilver delivers 1 and 3. Gentoo provides 2. NixOS provides 1 and 3.
- rowanG077 3y agoI don't see how NixOS doesn't provide 2. It's extremely easy to apply patches.
- cosarara 3y agoDepending on what you are patching, it will invalidate a great part of the cache, and you will be looking at very long build times for everything in your system.
- kaba0 3y agoIf that dependency is deep in your dep tree and is statically linked somewhere than there is no way preventing that. If it’s only dynamic linking than yeah, it might happen that you need a huge recompile (but that is not that big of a problem nowadays in my experience - gentoo used to compile way longer in my subjective experience for example). Also note: nix will soon get content-based hashing which may solve this problem.
- SuperSandro2000 3y agoFor that reason many modules have options to set the packages used, so that you can eg. patch openssh without rebuilding everyone.
- mmarx 3y agoI guess it should rather say that NixOS provides 1 and 2, since I don't see how it would be ABI compatible to a major distribution.
- rowanG077 3y agoWith FHS I'd say it does 3 also.
- mmarx 3y agoAh, fair enough, though it feels a bit like stretching the definition.
- dottedmag 3y agoFHS makes it more similar, but not compatible. I'll quote from my blog post linked above: > Different distributions make different choices, and therefore they are closely related operating systems, but not a single OS. Even Linux syscall interface subtly changes from distribution to distribution, as they pick and choose options to build their kernels. > Every niche Linux distribution that does not follow the interface of a larger one is a unique OS, closely related but not compatible with other Linux OSes. This means the applications have to be ported. > Application developers have to choose what targets their applications support. With Linux distributions being just a blip on the graph of operating systems popularity, the application developers may not invest significant amount of resources into porting and testing. Basically, NixOS = zero QA effort from application developer -> nothing works.
- tomn 3y agoAlmost -- it's not quite as bad as you'd expect, because nixpkgs has packages for quite a lot of closed-source software, with whatever hacks are required to make it work.
- dottedmag 3y agoIt is answered at the end of my blog post: > I don’t care about anything that’s not packaged by the distribution > This is totally fine. Just note that you are using a niche OS with a limited set of applications available. Even though in case of Nixpkgs "a limited set" is quite large, it does not include every application imaginable.