Nix vs Void Linux
When comparing Nix vs Void Linux, the Slant community recommends Void Linux for most people. In the question“What are the best Linux distributions for desktops?” Void Linux is ranked 5th while Nix is ranked 68th. The most important reason people chose Void Linux is:
A single instance of Void will be supported forever without needing to reinstall (you can update the system every day instead of having to install one major update every 6 months or so).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro No side effects when building packages
Nix is a purely functional package management system. This means that the act of building a package does not have side effects, such as destructively updating or deleting files that may be used by other packages.
Pro Isolated development environments
Nix allows the creation of project-specific shell and build environments which are isolated from the rest of the system. These environments are defined declaratively to ensure reproducibility.
Pro Can replace docker in some places
Pro Can use multiple versions of the same package
Because of the functional approach it takes, Nix makes it easy for systems to use multiple versions of the same package simultaneously, and ensure that updating or removing a package can't break other packages.
Pro The configuration works on "All machines"
No more of the traditional: "it works on my machine". When it says reproducible, this is the real deal.
Pro Rolling release
A single instance of Void will be supported forever without needing to reinstall (you can update the system every day instead of having to install one major update every 6 months or so).
Pro Very minimal
More minimalistic than Arch since it doesn't use systemd.
Pro Runit init system
An init system with the "do one thing and do it right" mentality. Void Linux does not support systemd.
Pro Easy to use installer
Unlike it's closest competitor, Arch, Void includes a very user-friendly and simple installer in the ISO.
Pro Runit is fast and easy to configure
Runit init system is incredibly fast to boot and very simple to use.
Pro Different DE's live ISO's are available
Arch Linux doesn't make ISO's with different DE's. One need to manually install it through CLI version. But Void which is competitor of Arch, provides a wide range of DE's ISOs.
Pro Very lightweight
Base installation can idle at less than 250 megabytes of RAM.
Pro XBPS (X Binary Package System)
A brand new package manager that is fast, full-featured, and tailored specifically for Void Linux.
Pro BSD-like improvements with Linux
Full support for LibreSSL, an OpenSSL fork focused on maximizing security. The xbps-src package builder works in a similar manner to BSD's ports collection.
Pro Musl image available
Musl libc is lighter and faster than bloated glibc. Musl has been argued to be more secure overall than glibc also but is also not supported by all software.
Pro Friendly forum
Unlike the Arch Forum, it is a friendly forum (although small).
Pro Xbps-src
Xbps-src is a source packages collection which is pretty similar to FreeBSD's ports and may replace AUR for Void users.
Pro Many packages
There are some packages in official repos, than may be found only in AUR.
Pro Cool Neofetch logo
Neofetch looks good.
Pro No systemd
Uses runit instead of systemd.
Cons
Con Does not work well for services on non-NixOS systems
When using Nix with anything other than NixOS you can run into difficulties with trying to start up services. For example, you can install docker with Nix, but it won't integrate with the host system's systemd leaving you to handcraft awkward workarounds in order to start the background service that docker requires. This seems like a critical flaw when using Nix on anything that is not NixOS, and it's unfortunate because this affects many of the packages many users would be most interested in using Nix to handle.
Con Steep learning curve
Con Cannot handle filetypes that have different semantics across different versions
While the functional approach that Nix takes is great for sandboxing binary artifacts of packages, it seriously lacks any power in handling configuration files or user data. It's difficult to upgrade and downgrade files where semantics and syntax can change between versions. Especially in Debian/Ubuntu it can cause severe problems where the upgrade process blocks and the user needs to resolve the 3-way merge.
Con Feels slightly over-complicated
Con Not suitable for those new to Linux
Documentation is scarce, NTFS partitions aren't automatically mounted, etc.
Con Not popular
Void Linux is not a popular Linux distro. So, if you run into a problem then it's likely you won't find any fix except from the maintainers.
Con Nvidia CUDA cumbersome to setup
If your using a Nvidia card with programs that require CUDA for fast rendering (Blender), you can expect some trouble getting it to work as it's not included with the Nvidiadriver of the nonfree repo.
Con No packages
Void developers refuse to package brave.
Con Manual unclear about base configuration
Manual does not explain how to fix GRUB and gives no partition hints to the available options.
