When comparing Nix vs Arch Linux, the Slant community recommends Arch Linux for most people. In the question“What are the best Linux distributions for desktops?” Arch Linux is ranked 1st while Nix is ranked 64th. The most important reason people chose Arch Linux is:
Arch's goal of simplicity means there's usually one preferred way to get things done - through organized and well documented configuration files. This focus, combined with the community's recognition that configuration files can be intimidating, has resulted in excellent documentation that's accessible to newcomers, and very instructive about how Linux actually works. The documentation is often so thorough that, when searching for solutions to problems while using other distributions, such as with video card drivers, oftentimes you'll find the most effective solution in the [Arch Linux wiki](https://wiki.archlinux.org/) or on the forums.
Ranked in these QuestionsQuestion Ranking
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 Excellent documentation
Arch's goal of simplicity means there's usually one preferred way to get things done - through organized and well documented configuration files. This focus, combined with the community's recognition that configuration files can be intimidating, has resulted in excellent documentation that's accessible to newcomers, and very instructive about how Linux actually works. The documentation is often so thorough that, when searching for solutions to problems while using other distributions, such as with video card drivers, oftentimes you'll find the most effective solution in the Arch Linux wiki or on the forums.
Pro A package for almost everything
If you need to install something, chances are someone in the Arch community has already made a package for it. This makes it incredibly easy for you to install and maintain all of the non-media content on your computer.
Pro Cutting edge rolling release
Arch Linux follows a rolling release model, which allows users to stay on the most up-to-date versions of the software they are using.
Pro Arch Linux Wiki
The Arch Linux Wiki is very useful not just for Arch Linux users, but for anyone who uses Linux.
Pro No restrictive handholding, pure control over everything
Arch is mainly aimed at experienced Linux users, there is no hand-holding and not much in a way of UI elements when trying to install or tweak settings.
Pro Fast and simple package management
Pacman has performance advantages over apt-get and yum in both database operations (thanks to being written for speed) and download times (by virtue of using better mirrors than other distributions tend to select by default). There are also fewer default repositories to download from, and all package management is combined into one tool instead of being split into dpkg, apt-get, and apt-cache like on Debian distros.
Pro As slim or copious as you want it
Arch keeps its core repositories slim and free of unnecessary dependencies. At first installation only a bare system is set up. You can easily get the other applications through the package manager. The repositories are nearly as full as those of Ubuntu, while they are often more up to date. That way you don't have to waste time with software you don't need or want.
Pro Excellent package management with the AUR
The AUR is a repository with a very extensive catalogue of build/install scripts that are contributed by users. While these scripts are inherently less secure than conventional packages maintained by a distro's authors, it's still way easier to verify the security of install scripts than it would be to write them yourself. It's very usefull.
Pro Huge Repositories
Although Arch Linux only comes with around 10,000 packages, you can use the Arch User Repositories (AUR) which will add over 50,000 more packages.
Pro Highly customizable
You can tailor the system to your needs.
Pro Support for a large variety of hardware
From latest wacom pads to obscure wireless cards in laptops Arch's hw support has been and continues to be good. It has worked on laptops where other leading distro's like debian/ mint/ ubuntu failed to detect and work with all hardware.
Pro Simplicity is absolutely the principal objective behind Arch development
The design approach of the development team focuses on elegance, code correctness, minimalism, and simplicity, and expects the user to be willing to make some effort to understand the system's operation.
Pro Good overall system quality
QoL of Arch is generally good. You get something more consistent and doable in Arch then you would get with most other OSes.
Pro It is Linux at the core
This distro is barebones enough to make a new distro from.
Pro An opportunity to improve
The process of learning to setup and use Arch will improve your skills with Linux and computers in general.
Pro Helpful community
If searching through the wiki or the forums for any problems turns nothing, any question on the official forums, Arch subreddit or the IRC channel will be answered within minutes. There will probably be no hand-holding however, Arch users prefer to point anyone to a resource that may help them instead of trying to outright solve their problem in a forum thread. This is quite helpful for people who want to really learn how their system works but also for other people who may stumble in that thread considering how most problems don’t have a universal solution.
Pro Helpful for understanding how Linux is installed
Arch does not come with an automatic installation process. The user is expected to walk through the installation steps published on the Arch wiki. This is very useful if, later, something happens to the installation as the user will be more familiar with the foundational steps required to get a full blown Arch installation working.
Pro No need for external repos
The default and community repo of Arch Linux are so vast, that there is barely any need for additional software sources. And if there is, the additional software can be added to AUR, which results in the need actually growing the Arch repos.
Learn about Arch, learn about Linux. What works for Arch, works for many other distros too.
Pro Simple by design
Arch Linux is actually incredibly simple. It's really just a partition scheme, package manager, Linux kernel, file system, systemd and the bare minimum of utilities needed to easily set up your hardware.
This makes it super simple to build your desired system using binary packages because there no bloat getting in your way when installing or configuring packages.
Pro Incredible educational value
Arch gives great insight in the inner workings of operating systems, computers and data manipulation.
Pro Great for low performance hardware
Arch Linux works quite well with low performance hardware like netbooks.
Pro Stripped down to the bone
Since its stripped down, it is fast and you don't have to deal with bloatware.
Pro Flexible upgrades
Upgrade once a day, once a week, once a month,... three times a day... automate it, upgrade manually, add packages to the ignore list.
Pro Ultimate mid-range OS for Tinkering
If you like to tinker with things and see how they work you don't get much better than arch linux unless you commit to building your own kernel and using flags manually when installing your packages.
Pro Supports various desktop environments and window managers
Doesn't limit you in terms of desktop environments or graphical servers (X, Wayland).
Pro Low maintenance
To basically keep your Arch setup up and running, it takes very little to barely any maintenance.
Pro Incredibly easy to manage
Arch is very simple to maintain, backup and in rare cases repair and recover. For example, the manual to recover your boot manager is already in the install guide!
Pro Helpful 3rd-party installers
There are extremely helpful 3rd-party installers such as Anarchy Linux (Formerly Arch Anywhere).
If you need something, you should install it. It has nothing as default and you can build your system from zero.
Pro Great hardware support
Out of the box Arch comes with great hardware support.
Pro Highly reliable and stable build
See experts working on the packages and upgrades. Given Arch splits the load among people who care and have the experience, the overall setup is very stable and reliable, even though very broad too.
Pro On average only 1 manual intervention needed a year now
The comments about issues with upgrades are over-exaggerated.
Those comments assume that : A) They happen often, B) you are using a specific package with an issue, C) that package maintainers can't release a patch to the package that will work around the issue for you, and that D) Manual intervention or system recovery from such issues is hard to fix.
On average once or twice a year a user may have to cut and paste some commands in the terminal to fix an issue, but that's about it. Additionally any system recovery required from such missed interventions is easy, just follow the wiki and make a live USB if your using a desktop or laptop.
Pro Highly reliable upgrades
Always works. No matter if you upgrade 7 or 700 packages.
Pro Experts working on the packages
Providers only provide the basic system and do a great job doing so. While with AUR people who actually use the packages, provide and maintain them. They CARE about making them work.
Pro Easier to review the distributions packages
Unlike other some distributions, it's super simple to review the packages you download on the official arch repos or arch user repository.
Pro Great security out of the box
Even a default Arch setup offers great security with the minimum number of open ports and very little information on the system for outsiders.
Pro Good for ricing for r/unixporn
Arch Linux provides a minimal user experience and tons of packages, which means that ‘ricing’ (customising your desktop to it’s limits) will be unrestrictive and you won’t have to worry about bloating your system.
Pro Vast variety of use and purpose
With its vast repos, Arch offers tons of applications for all kinds of use.
Pro Multilib support is just around the corner
Just uncomment the according entries in the pacman.conf.
Pro You actually learn a LOT of the inner workings of your OS.
Since you do everything by hand and a LOT of it, you actually learn very useful things even for other distros.
Pro Completely signed repos by default
Arch-based distros, or even Arch installers, often use unsigned repositories.
Pro Highly customizable
Pro Arch Linux Archive lets you choose your own update schedule
Despite being rolling release Arch Linux lets you be flexible about your update policy. If distro repos moved forward, but you don't want to update, you can temporarily switch to Arch Linux Archive, which stores repo snapshots across time. Later, when you're ready to update, you switch back to bleeding edge.
Pro Lets you choose what is pre-installed before installation
The official install script has the "Additional packages" option, which lets you choose additional packages that won't be installed from the terminal. This is helpful for custom configurations (e.g. if you wanted to take advantage of web development) because it is compatible with most packages from the AUR. This also diminishes the need for manual installation with Pacman.
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 for the faint of heart
You need to be very carefully with updates.
Con Manual install process
The installation requires a lot of manual intervention/decisions.
Con Works only on AMD64
It is the only official supported instruction set of CPUs.
Con Instability can be an issue
Sometimes you can have a surprise, but in most cases it can be fixed quickly.
Con Highly egotistical community
Con Requires some background with Linux and the command-line to setup
Going in with zero Linux knowledge is not really recommended when wanting to install Arch, though it can be a good learning experience for those that are dedicated to trial and error as well as reading many faqs.
Con No graphical installer
Although some derivatives such as Manjaro and ArcoLinux exist.
Con Occasional upstream package bugs
Most package maintainers look for issues that the packages might have ispecifically for arch. Which means if a package has a bug that applies to all Linux distros regardless of the flavor, the maintainer may not be able to: A) catch it before pushing a update or B) have to wait for the packages developers to fix it.
This is a minor issue because most issues are often patched before the end of the day if many users rely on it, or if its a less used package there will be specific troubleshooting instructions on the arch site.
Con Rolling release requires bandwidth
Arch uses a rolling release model for updates. Unlike, for example Ubuntu where a new version is released every six months, packages are updated when they are ready. The advantage is a very up to date system and that the work of upgrading can be spread over a longer span of time to a point where it is hardly noticeably effort. However it can be difficult for people without a high bandwidth connection, or with limits on how many GB can be downloaded imposed by their internet service providers. A GB a month of downloads is quite possible.
This can be somewhat offset by Arch being lightweight, besides the relatively small core, the user selects what is installed (and has to be updated).
Con Too many package upgrades that require manual intervention
Every year or so there is a update to ArchLinux that will break your system unless you first read the front page of archlinux.org. This happened with SystemD and with a few other updates that require you to do prior steps befor pacman -Syu.
Con Documentation only makes sense if you know how to adjust it
While the documentation is a very valuable reference for experts, the recipes often don't actually work on your own computer. Some articles are outdated, incomplete, contradictory or duplicated. Only if you are expert enough to know which steps to skip, to adjust or which other documentation parts to plug in, you can make it work.
Con Uses systemd
Con Lost its way
It aimed to be KISS but it has lost its way and is getting more and more complex, for example, it uses systemd which is anything but KISS. It also has now some kind of package post configuration included.
Con Not really for desktop
More like for posting screenshots on Reddit.
Con Not so great overall
Apart from the ArchBuildSystem/AUR, which brings you very quickly newer package versions, there is not really much where Arch Linux shines.
- You get better package managers with other systems.
- The most Linux distributions are far more stable than Arch.
- You learn more about Linux by using LFS or a source based distribution.
- You can customize the system much more in LFS or Gentoo.
Con Some updates might need extra attention
for example, new grub packages, and new postgresql packages, etc.
Con Fragile packages
Updating an Arch system is always a gamble. The problem could be as simple as a package having a bug causing a program to crash on start or it may be something bigger like the WiFi or Bluetooth no longer working. There is also the slight chance the system may not even boot at all after a large update.
If the user does not plan to read the forums weekly/daily or update fairly often, things can go wrong very fast.
Con Systemd is bloat
Con You have to install everything by hand on a command line
This may be a CON for a lot of people that are new to Linux but a PRO to those who actually want to learn something new.
Con Worst OS for beginners in Linux
Very bad OS for beginners as there is no graphical installation and it is a manual installaton process.
So, either you have to follow the documentation (that half of the beginners don't understand) or a video (gets outdated on every release).
When I was a beginner, I thought that Arch is better and it had graphical installation. I downloaded the iso flashed it in pendrive. After that when I booted I saw ther is a "$Install--". I was so suprised because I moved from windows to linux. It looked like a console.
- Bugs -- With every release there are bugs.
- AUR -- Pacman is fully dependant on aur and installing from aur for beginnera is a painful process.
Con Problems with driver/kernel/gpu consistency
Arch has no proper desktop support, you must craft your system together. Things may work for the first but generally it takes days to configure a stable and working system. This is NOT ideal for a desktop user.
Con Package manager is so naive
For example, it doesn't allow you to purge (remove package and its configuration files).