When comparing Nix vs Chakra, the Slant community recommends Nix for most people. In the question“What are the best Linux distributions for desktops?” Nix is ranked 75th while Chakra is ranked 77th. The most important reason people chose Nix is:
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.
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 Focuses on KDE/Qt Apps
comes with none GTK apps per default
Pro Independent from Arch
its not just another Arch Spin-off
Pro Keeps Gnome apps tidier even than Gnome distros
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 Weak base
Sometimes updates will not execute hooks(full update always misses to run mkinitcpio) so you get an unbootable system.
Con Small development team
The team is very small
Con No real installer
Has no installer just a big bloated LiveCD that gets unpacked to your disk.
Con Pacman
Compared to deb or rpm it takes ages to update the system, it's also very dumb in dependency tracking.
Con Unreliable Servers
The CCR or the community forums are often down or unreachable.
Con Overwrites your default EFI config
It overwrites your default EFI config wich can make you PC unbootable if something goes wrong.
Con Uses systemd
Which is very hard to debug and not a *nix standard.
Con Only available for x86-based CPUs
Con Wont let you install the system to USB drives
Chakras weak installer Calamares does not allow you to install it to a USB drive.
Con Weak update process to a recent release
For example, you can install the Goedel Release and update it to the current release which then fails to boot due to some systemd-errors.
