Why you should try Antergos my fellow developer
If you’re using other Linux distro take a moment to see how simpler your life can be.
--
Edit May 2019: Antergos project ends, but most of the points below apply to Arch Linux equally well.
You might have heard about Arch Linux — a rolling release Linux distribution that gives you basic installer and you setup everything yourself. So did I, hearing preaching how cool it is and how you’ve got what you want, but nothing else. In addition rolling release means that there are always up-to-date packages, you aren’t stuck on some 2-year old package, because maintainers decided so (looking at you Ubuntu LTS, Debian, RedHat Enterprise Linux).
Installing everything manually sounds like a huge time investments and it really is. I do remember my colleague’s first day at work when he decided to setup workstation using Arch. After seeing him struggling whole day I’ve handed him a Xubuntu ISO and we were done. That guy was long-time Arch user, but it was quite a lot of work to do still. Our “commit and deploy on 1st day” rule went busted though.
What is Antergos?
So that brings me to Antergos Linux distribution. Antergos is to Arch what Ubuntu is to Debian. To put it more bluntly:
Antergos gives you a fine rolling base of Arch with some sprinkles on top of it. Most notable is Numix theme for Gnome, which looks gorgeous out of the box. It has just enough eye-candy to make it look nice, but what’s more important it actually gets out of the ways and let’s focus on the task at hand. Even the login screen managed by LightDM (more on LightDM later) looks awesome, better than anything else I’ve seen. It has got beautiful backgrounds and slick user experience.
Instead of just sticking to default Gnome looks Antergos developers teamed-up with Numix project to provide good looking and consistent experience for the desktop. I fell in love in its beauty, but stayed for simplicity and getting out of my way. Previously I’ve spent a lot of time tweaking Xfce themes in order to make them look decent and do not distract me. With Numix you’ve got more than decent look out of the box. Eventually I’ve switched to “Solarized dark” theme for my terminal, but that’s the only change.
The software
First impression is great, but then it’s time to get to work. Antegros gets you covered thanks to being based on Arch Linux. Being a rolling-release distro means that all the applications and tools are always in their latest version. Basically what Arch does is to keep their repositories as close to upstream as possible. As an effect when new version of the browser, for example, is released it is available in the repositories in a day or so.
Sure, Ubuntu also employed such fast release track for browsers, but Antergos applies the same rules to all the software. It means that your beloved fast-moving software like Docker or Node.js is always up to date. No need to struggle with PPAs or adding repositories — it just works. Simplicity wins. Let me tell you a story from local Node.js meetup, where I was installing some packages via NPM. The host of the meetup looked at my laptop and said with a surprise in the voice “Oh, I see you’ve got the newest NPM version — now come?” and I shouted “It’s Arch, obviously!”. What is so effortless in Antergos is apparently surprising to someone so hooked into NodeJS.
What about other software? I still remember how painful was to install Java IDEs like NetBeans or Eclipse on Ubuntu. Those were not in the repo (or were in much out of date versions), proper Java version was also missing quite often. Those are easily available in Arch User Repository (AUR), which is enabled by default in Antergos. An AUR is a repo where Arch users upload build scrips for software they maintain, use, or just like. Heck, it even does have a package for IntelliJ IDEA Ultimate Edition, which is proprietary Java IDE by Jetbrains.
AUR is probably the best example how string Arch community is. There’s over 30k packages available. To be precise: those are not binary packages like DEBs, but rather a build scrips that tell how to build the software. Quite often it involves compiling the source code, which can take a long time for example in Atom editor case. Fortunately there are also build scrips that take binary packages prepared for other distros and unpack them according to Arch rules, like atom-editor-bin package does. Much of the software comes with different stability channels, like: stable, beta and dev for Google Chrome for example.
In the post you see a lot of comparisons to Ubuntu, because that is what I have experience with. Ubuntu was the fist Linux distro that I actually used and got used to, but it no longer feels like a viable platform for developers. I agree with Chris Fisher from Linux Action Show that Ubuntu is the hardest distro to install software on. Definitely harder than Antergos.
The simplicity
One of the most important Arch Linux virtues is simplicity. Antergos benefits from that a lot. While I’ve got great first impression due to good-looking Numix theme in Antergos, then got hooked into with easiness of installing software I’ve stayed for simplicity. Not always it is easy though, as you will read further, but eventually the simplicity wins.
Let me explain a bit Arch’s philosophy. I’m not an expert in Arch, still learning, though the foundation is simple. At the core Arch is pretty much upstream Linux kernel, plus some additional packages from official repositories that are also quite close to upstream, plus text-based installer. Together those form DIY base operating system, where you’ve got freedom to choose tools, desktop environment and all the userland applications. Such broad choice might be overwhelming, so for lazy folks like I am there’s Antergos.
You can wonder how the simplicity manifests itself? I’d say every day, whenever you have to do something with operating system. If you’ve installed Arch from scratch you obviously know what is running on your system by hard. Software components are where you expect them to be by default, not in some obscure location that is distribution dependent. Managing systems with mix of RHEL and Ubuntu is really annoying because of that fact.
There’s no clutter in configuration and system scripts imposed by years of specific distribution legacy. Just look at the default .bashrc file in home directory, isn’t that beautiful?
#
# ~/.bashrc
## If not running interactively, don’t do anything
[[ $- != *i* ]] && return
One specific example of legacy clutter is system init daemon. In Ubuntu I’ve been always confused whether I should use Upstart scripts or stick to SysV init for compatibility. The now to manage daemons: start scripts in /etc/init.d directory or maybe start everything through service command (probably the latter). In Arch and Antergos it is simple — you use systemd and that’s it. Actually this choice is forced upon, just to make things compatible.
While systemd is different and has got learning curve (where are my text logs?!) I appreciate the choice, because it led me to learn an important part of modern Linux stack. Otherwise I’d still have to fiddle with init systems and distros tooling, which drove me crazy when I had to manage RHEL and Ubuntu boxes. Thanks to Antergos I’m ready for the future and I’m learning the core technology. That’s one of the most important aspects of Arch in hindsight: I’m not learning specific distribution tooling, but modern Linux standard stack.
The bad parts
Living on rolling release distro can be advantageous, but during the year of using Antergos I’ve got surprisingly few issues actually. At some point networks in Docker containers stopped working, but it resolved itself already. Other than that I haven’t noticed major problems with the core of the system. Most noticeable and annoying are issues in graphical interfaces. Starting from small design glitches, like missing icon after theme update, up to messed up desktop environment or display manager.
LightDM login screen looks beautiful, better than any other display manager I saw. It’s also quite a feat technically: using webkit engine for the looks and JavaScript for behavior. That’s right — web technologies right in the core of display manager. Maybe that’s the reason why LightDM is the component that breaks the most often on me. Having worked more in JS and Node.js recently it should not surprise me. Eventually after login screen breakage around Gnome 3.20 release I’ve moved to GDM. On the plus side: screen locking works now and you get to see pending notifications!
The most risky step is upgrade of big package sets, like on release of new Gnome version. Apparently GTK upgrade introduced breaking changes, which causes Corebird to coredump. Sure, it was installed from AUR, so I should not expect perfect compatibility. Graphical issues in packages from official repositories are usually resolved quite quickly. I guess staying with default Numix theme helps in this regard.
Other than that issues are minor and easily solvable. Like the problem with missing quotes in distribution description that caused warnings during DKMS module installation. Actually the inherent simplicity of Arch Linux helps to deal with the problems and applying fix. It is so close to upstream that quite often solutions comes right from creator of the software. No needs to wait months for bugs triage and getting fix released in an official package.
The action
To wrap-up I encourage you to grab LiveCD and give it a spin! The graphical installer is very easy and quite fast. Don’t get too attached to the Cnchi installer, because you’ll see it only once, then you just roll ;)
Bonus tip for Antergos users: get familiar with yaourt, not only pacman. With yaourt you get all the power of pacman, but also build-in support for AUR where you can install and update packages. The system update is as simple as yaourt -Suya pretty much like pacman. The a param is important, it will update AUR packages as well.
Thank you for making thus far. If you have any questions or comments just leave a response below or ping me on Twitter.