Hacker News new | ask | show | jobs
The Arch Way (dgeex.de)
81 points by dgeex 4067 days ago
19 comments

I use Arch because its the only distro that "Just Works" for me. I like to use the latest version of every software I use, and this is almost impossible on non-rolling-release distros. Installing from source almost always ends up breaking something on distros like Ubuntu.

Also, Arch is predictable. There are no weird quirks and distro-specific patches. Almost everything that is on the system is something that you consciously put there, not something that was decided by the distro-makers.

Finally, the AUR and the Arch wiki are simply amazing. Much has already been said about them and I have nothing to add.

>Installing from source almost always ends up breaking something on distros like Ubuntu.

Example? I've never once "broken" something by installing a program from source.

If you install form source, you lose all the advantages of a package manager (updating, clean uninstallation, dependency management, etc).

pacman (and makepkg) make creating your own package stupidly simple. (not to mention that the official repos + AUR have an immense amount of packages present already).

I haven't either, but I've had trouble trying to uninstall them later.
"I've seen good documentations, but nothing beats the Arch Wiki. It's the most comprehensive Wiki you could imagine."

I have heard this a number of times from Arch Fans, but I think I disagree. While I have referenced their wonderful Wiki often for "cook book" style answers (like how to fix URXVT+Tmux interactions), I do not view it the same as good documentation. I would also not really call it "comprehensive". To me, good documentation is as comprehensive as possible of the entire subject, and not just a "how to" on configuring it to look or behave like another user's installation.

Compare the Arch wiki to The OpenBSD FAQ [1], the FreeBSD Handbook [2], or good man pages [3]. The FAQ and Handbook have thousands of pages of comprehensive documentation and examples. A well written man page should be capable of answering most of your questions and allowing you to determine what actions you want to take.

I prefer the comprehensive documentation, or thorough man pages. Although, I definitely appreciate the usefulness of the "cook book" style Arch wiki.

[1] http://www.openbsd.org/faq/ [2] https://www.freebsd.org/doc/handbook/ [3] http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/...

I completely agree that we need comprehensive documentations. That's irreplaceable when you need to properly configure something. Good manuals are mostly used as a reference.

The Arch Wiki is something different. It guides you step by step how to reach your destination, and that's what most of the users need.

I'd call the Arch wiki comprehensive, but not cohesive. A prerequisite for cohesive documentation is that the system it's documenting is cohesive. The BSDs, as you noted, have cohesiveness down to a science, and their documentation reflects that.

Take as an example the network configuration for FreeBSD [1] and Arch [2]. FreeBSD, because it's a cohesive system, is able to document the One Correct Way of configuring the network.

The Arch instructions are much more "choose your own adventure", but that reflects the array of actual choices that you have in Linux for network config. Should you use systemd-networkd, dhcpcd, netctl, ifplugd, etc? Or maybe some combination? If you need wireless networking [3] which connection manager do you want to use? How is it going to interact with the thing managing your wired networking?

Linux, for better or worse, gives you a very fragmented set of options compared to more cohesive systems like the BSDs. The Arch wiki does a good job of documenting those fragmented options.

[1] https://www.freebsd.org/doc/handbook/config-network-setup.ht... [2] https://wiki.archlinux.org/index.php/Network_configuration [3] https://wiki.archlinux.org/index.php/Wireless_network_config...

The documentation ethic comes, for better or worse, with somewhat of an RTFM ethos. While I am considering Arch for my enroute ThinkPad, Ubuntu is still a consideration because of AskUbuntu on StackExchange. QandA offers an alternative set of community standards in regard to support.
The Arch Wiki is a bit of a mix. Part documentation, part how-to guide, but it's still one of the best references to understand how stuff works (and how to use it) in *nix in general.

I do agree though, that OpenBSD has by far the best documentation out there.

Cached version: http://webcache.googleusercontent.com/search?q=cache:http://...

I'd actually argue a different point from the author. If you're a beginner at Linux, and want to learn more I would highly recommend Arch to you. Arch was the first *nix system I ever installed by hand (OS X doesn't count), and even as a developer, I learned more spending 3 weeks installing the OS than I'd ever known about linux previously.

I'm a big supporter of the mentality that you should know the stack you're working on (regardless of OS), and I've found it's too easy nowadays to ignore all the important frameworks and libraries that the tools you're using are built on. Arch forces you to understand them, because you can't just "guess" your way through. The thing I loved about installing it most was that on my 3rd and 4th attempt I realized how fun it was to just break stuff to figure out how it works. I'd never had the chance to do that to an OS. You learn how to diagnose errors, how to discover them, what to Google, and why it happened in the first place.

Understandably, most people might not be in the job situation where they need to do something as time consuming as install Arch as a dev environment, but I think that if you want to learn about operating systems, in a structured and incredibly well documented environment, Arch is unparalleled.

If your goal is to learn without totally assembling something from scratch, I'd honestly recommend Gentoo, CRUX or Slackware, instead. Latter is what I use daily, and it's the closest to vanilla that you'll get while being suitable for daily tasks.

Arch is a rather odd duck in that it has long cultivated this cult image of being a "hardcore" distro, but I never understood much of the appeal myself. It seems to attract a lot of unjustified smug users, and the so-called "Arch Way" (https://wiki.archlinux.org/index.php/The_Arch_Way) seems to be rather tarnished in light of more recent decisions.

What kind of recent decisions do you mean?

I've heard good things about Gentoo, I'd definitely give it a try someday. How would you compare it to Arch? Can you make a brief explanation what you like/dislike about them?

not parent but I have some experience with both:

Gentoo was the first distro I ever tried, then I switched to arch and I've been using it ever since.

I found gentoo to be way more of a hands-on distro. I configured the kernel by hand, checked the USE flags of all packages, looked up what each option was for and recompiled a shitload of things when I made a mistake. All these options are right there in your face and it's really tempting to mess around with them. Eventually, I found that it just took up too much of my time to do so.

Arch is still a rather flexible system but it hides some of this low level stuff from the user. I just accept the default kernel, I live with whatever dependencies the package manager tells me are needed and the system doesn't tempt me to do otherwise. However, most of the time I still get to choose what and how I want.

Lately though, sometimes I feel Arch crosses the line: eg. systemd pretty much being forced on users, removing the makepkg option to build packages as root.

Even if I'm not against systemd (it has its downsides, but it's not that bad as everybody thinks), I still think the user should be given a choice. So yeah, they probably crossed the line in this case.
Gentoo is for people that get tired of binary distributions. Imagine this:

* As a Redhat/RPM user, rpm -iUvh is dependency hell.

* As a debian user, dpkg -i usually leads to dependency hell.

* Yum/Apt will eventually break, leading to manual repair of the package database, or a stuck dependency that makes life miserable.

Either way, a sysadmin ends up compiling most of their bleeding-edge or otherwise need-to-have-it software, rather than relying on rpm's/deb's/ppa's to handle it for them. These people tend to install a base system, then compile the rest of the system on top of it, in order to not rely on a package maintainer who usually volunteers their time (when they have it). I personally have fond memories of 1999, compiling GNOME 0.98.1 and Enlightenment 0.15 on my Redhat 6 machine (Pentium 133Mhz - full day to build) in order to keep up with development.

If you find yourself working around rpm, deb, or even tgz or xz files, give Gentoo a shot. Ebuilds are clear instructions on how to build a package reliably. Should you want to enable custom options (i.e. VLC with VDPAU), most ebuilds have USE flags listed, which bring in any other libraries you may need, and can be set per-package or globally.

The first five or six times you build a kernel you just configured, it will fail to boot. You will have to earn your system (sound/video/peripherals) a piece at a time. And once you've done it, you'll feel like you climbed Everest. You will know Linux intuitively, and it won't feel like a foreign environment.

I like to compare Gentoo to driving a manual transmission. Automatics like Ubuntu/Redhat/Debian are useable, but you don't get a feel for the machine like you do with Gentoo.

Arch is like Gentoo's little brother with a systemd infection. He'll live a long healthy life, but expect breakdowns and sadness. If you have an AMD card, expect pain (even if you use V10L0's repositories). but the AUR is almost as big as portage, and you can seriously have a full system installed in less than 10 minutes (if you know the commands). I use an Arch LiveCD to chroot my Gentoo installs now. :)

Sorry for the downtime, it's fixed now.

Maybe some advanced users could start with Arch, but most of the people I know, will find it too difficult and give up on it. Yes, it's a great way to learn how stuff works, but it's just not for everyone. And in my opinion, beginners should start with something different. I'd never recommend my mom to try Arch for example.

I started with Arch too, and am still with it several years later (typing this comment on a Pixel 2 running Arch). I agree that Arch isn't for everyone, but I think a sufficiently curious and motivated beginner will be fine. Mostly because of Arch's incredible wiki.
Oh, can you report what works and what doesn't on a Pixel 2 hardware-wise?
Sure! On install, a few things didn't work: trackpad, keyboard backlight, touchscreen, and I think screen brightness. However, https://github.com/tsowell/linux-samus solved all these problems. There are a few details to iron out (as described in the README) but at this point it's fully functional for me.
Great, thanks! If you monitor hardware using powertop, do all devices enter into sleep modes when appropriate? Does the Pixel overheat?
Arch's wiki + the lack of accidental complexity in their tools. Everything is very very tiny. It forces you to know the basic tools (grub,...) , and a few concepts (chroot, etc...). That said it took me years, even after CS college to be at ease with most things.
Girlfriend's first linux install was Arch. Made her install it herself, and now she has a full KDE desktop.

It was pretty much the sign she was a keeper. :)

Thanks for the article!

I will agree that my mom should not try and install Arch. However, if you work in the development community, want to learn more, and have an environment that encourages learning and experimenting, Arch is really an unparalleled option. I'm of the opinion that just because it's difficult, doesn't mean it shouldn't be recommended. I think even the ones that fail, might learn a ton from it, and having seen where the beginners that made it through an Arch installation ended up, I'm not sure what else I could recommend that would put a beginner in a better place.

If someone made an Arch installer that automatically set up networking and persisted the setup, as well as partitioning/mounting, I would be on board.

The argument I've heard against this is, "but it's simple, it's only like 10 commands to set these up". The problem is, it takes like an hour to read through the entire wiki page (and you need to read it all in case there's an important detail that may screw your system over). It may be simple, but it's still massively tedious.

Maybe if you're a full-time sysadmin you're familiar enough with ifconfig, fstab etc. to do it without instructions, but I'm fairly sure that's a very low percentage of linux users. Even if you do learn how to use them, for most people it's useless information until you reinstall.

I consider myself quite the power user, and Arch is appealing to me (and I've tried installing it a couple of times when the temptation is there), but until it can have a working system out of the box, I think I'll stick to Debian.

> If someone made an Arch installer that automatically set up networking and persisted the setup, as well as partitioning/mounting, I would be on board.

Netctl gets bundled in the install images because it is small. But after you have finished your installation, you can abandon it. No distro that I have come across handles partitioning and mounting automatically. I have come across a few that offer to wipe the entire disk and install themselves the way the distros prefer.

> it takes like an hour to read through the entire wiki page

I have installed Arch a few times on my machines, and I can't remember all those steps. The idea is to print it out (or open it on another screen) and follow it step-by-step. Arch is meant for people who are willing to do a lot more than execute some 10 commands to set up partitions and networking. After the initial effort, it is the least painful distro that I have used.

But isn't offering to wipe the disk handling some of the partitioning work for you. It may just not be offering you the layout you like. Some installers offer to let you manually partition the disk and specify the various parts you care about, not many but some.
> If someone made an Arch installer that automatically set up networking and persisted the setup, as well as partitioning/mounting, I would be on board.

But then, it wouldn't be Arch any more. There'll inevitably come a user that wants a different partition scheme not contemplated (nfs /home? LUKS? LVM across all present drives? etc).

As far a networking: it's even worse. There's several choices of what you can use to manage your network (wicd, NetworkManager, netctl etc). An installer that supports all those, with all possible network configurations, would be a huge pain. It's just easier if the user picks a tool, installs it, and configures it.

It'll also help you greatly in future when you need to reconfigure it, fiddle around, of break it.

> Maybe if you're a full-time sysadmin you're familiar enough with ifconfig, fstab etc.

No need for ifconfig, you do have a lot of helpers, as mentioned above.

> But then, it wouldn't be Arch any more. There'll inevitably come a user that wants a different partition scheme not contemplated (nfs /home? LUKS? LVM across all present drives? etc).

The old no installer way could still be present. Just give people an option, is what I'm getting at. I'm pretty sure you can manually configure everything in the Debian installer if you choose to.

Your point about networking - there being multiple tools and letting the user choose which to use - is more understandable. However, it's still something I've come to expect to configure once and never again (apart from choosing which wifi to connect to when I'm at a new place).

What about Antergos or Manjaro?
"Manjaro forgot to upgrade their SSL certificate, suggest users get around it by changing their system clocks."

https://www.reddit.com/r/linux/comments/31yayt/manjaro_forgo...

Okay, this is nasty.
Antergos looks promising, I'll try that next time.
Or Evo/Lution.
I think ArchBang tries to do that. It might be a nice in-between for a new arch user's first time. Then again, I think I had a set of other problems when I tried it. I have spent a decent amount of time trying to understand all the steps of the process just so that I can troubleshoot without immediately needing to access the arch-wiki. The knowledge is nice to have, and building familiarity with the system one uses should never be seen as wasted time :)
I second the recommendation of ArchBang. It's a very lightweight LiveCD (~500MB) with a GUI installer that works pretty well. If you're comfortable on the cmdline, you could search the official archlinux forums, though. There are quite a few arch setup scripts floating around. You could try this one for btfs on luks: https://github.com/atweiden/pacstrapit

    ./pacstrapit start --bundle    "full"                \
                       --username  "newusername"         \
                       --hostname  "yourhostname"        \
                       --partition "/dev/sda"            \
                       --processor "intel"               \
                       --graphics  "nvidia"              \
                       --disk      "ssd"                 \
                       --luksname  "infinity"            \
                       --locale    "en_US"               \
                       --keymap    "us"                  \
                       --timezone  "America/Los_Angeles" \
                       --concealed
I don't really want a desktop environment + applications installed - as long as networking and disks are in place I can install what I need and set up my configs.
You're asking for something Arch will never provide. Having a "next > next > next" installer defeats the entire purpose of Arch.

I once shared the exact same wish, and I never truly adopted Arch until I installed it 3-4 times on one of my secondary computers. It is only by taking that path and practicing that I truly learned to appreciate what it is that Arch gives.

I'm sure you'll have that experience too, some day.

Well arch did have a menu system that was pretty close to next > next > next before the new pacstrap way of installing was done. You still had to do quite a bit more work than say installing ubuntu but it was quite a bit easier to get started with than it is now.

I don't really see that the current install way is any better, most users will just blindly follow the beginners guide and either give up if it doesn't work (or since it is likely to work) have a system setup with very little understanding of why they did what they did.

Oh yea, Arch is not for the lazy, that's why it's fun!
I think the Arch Way really shines if you stick to small applications that do one thing and do it well. This is the essence of Unix.

There are periodic surveys among Arch users, and it's pretty interesting to see a majority of them sticks to this ethos:

https://docs.google.com/forms/d/1_LisP8224B2yahtZTYB-pnIt0aP...

Such a choice would be considered hardcore in some more mainstream distros. I began transitioning to this setup more than 5 years ago and I couldn't be happier. A simple system configured in a few text files is very rewarding:

* xmonad+dmenu (no login manager, other tiling WMs like dwm or i3 are worth considering)

---

* zsh

* urxvt (completely keyboard-driven with https://github.com/muennich/urxvt-perls)

* emacs (nox version)

* remind (a great DSL for events https://www.roaringpenguin.com/products/remind)

---

* firefox+vimperator

* mutt+isync+notmuch (fast Gmail-like index and address book)

* zathura

* irssi (consider switching to https://github.com/WhisperSystems when implemented for CLI Linux)

---

* git

* rsync+btrfs-progs (incremental time stamped backups)

* openssh+sshfs

* gnupg

---

* powertop+thermald

* connman

---

* arch-init-scripts (for systemd lightweight containers, all my development happens there)

* texlive

Out of curiosity:

How's connman working for you? Do you have a GUI for it, or just CLI?

Does isync support IDLE? offlineimap has quite a few bugs and I can't wait to change it (I've a very similar mutt+offlineimap+notmuch+opensmtpd setup).

Connman is fantastic. Mind that it is used by Android and Jolla. I'm very happy with it. Super fast and robust, miles ahead wicd, networkmanager or netctl.

I use it from the CLI, but there are some QT GUIs around.

Isymc doesn't support IDLE, but its fast enough to be able to run it every 2 o 3 min. Ask in the mailing list thou, they had some discussions about implementing it.

Check mutt-kz too, soon it will replace mutt+notmuch.

I was aware of Jolla using it (I've a Jolla phone), but didn't know about android. That adds some pretty important backing to it.

I don't generally dislike cli, but using I've never felt comfortable using it for networking. I like the popup notifications when I get disconnected, and the very visual menus, for some reason. I'll try to give it a try though.

> Check mutt-kz too, soon it will replace mutt+notmuch.

FWIW, mutt-kz has pretty good notmuch support. At least as much as I've needed.

That's a really nice survey. Thanks for sharing!
Why emacs and then vimperator? And why not pentadactyl?
I prefer emacs for editing text, but modal vim-like interfaces for simple tasks such as browsing a document (zathura) or the web (vimperator).

I switched back and forth between vimperator and pentadactyl many times. Pentadactyl is a bit more complex, and used to break often. Perhaps it is no longer the case?

I haven't seen pentadactyl break anything in a long time, but then I run a very vanilla setup. I'm the current maintainer of pentadactyl-git on AUR; if you try it and have trouble you can always ask in the AUR comments.
Sounds great, I'll give it a try again very soon.
I'm not a huge fan of recommending yaourt. Users should really learn more about the AUR before just letting yaourt automate it all. I recommend cower until you get the hang of things (or maybe just use cower full time). Cower automates only the downloads and updates without completely abstracting everything away with regards to the build and install process.
Unless you use Antergos you need to at least manually build yaourt and its AUR dependencies once.

also, you can imitate yaourt with literally wget <pkgbuild> makepkg pacman -U <pkg>. There isn't a lot of secret sauce to take out of your life by automating those steps after you do it once or twice.

One word: dependencies. Of AUR packages on other AUR packages, in an unbalanced tree three-four levels deep. That's why most people use AUR helpers.
In case you haven't tried pacaur, you should give pacuar a try. From my experience, pacaur is better than yaourt.

pacaur: https://wiki.archlinux.org/index.php/Pacaur

Some AUR packages won't build with yaourt for some reason too, in which case you still have to use cower or download them from the website, and run makepkg yourself.
I didn't know about cower. Probably should give it a try. Thanks for the idea.
I have to give it to Arch, The Wiki is the single most helpful and well-written wiki I have ever seen. I wish Debian had a similarly exhaustive collection of information. I don't ever recall having to go off hunting for additional resources; the info was either on or linked to from the Wiki. Like others have mentioned, I too greatly appreciate the AUR and the ease with which one can put a package up for others to use.

The thing that turned me away from Arch is that, after having installed it four or five times, I really got tired of having to do things like manually modify configuration files for everything I install, manually configure every service I want to start at boot, and look up instructions for support for my specific hardware (not which packages are needed, but how to configure those packages to work at all), whereas with Debian, I can just run through the Debian installer and the basic system is good to go, networking and all, even for some of my obscure-branded wifi cards. I could make a script to do this, but it's been different for every machine I have, so there'd be a script for every machine. I like Debian because it has sensible defaults (at least for my definition of "sensible"), and the "testing" release is extremely stable in my experience but also has pretty recent software in the standard repositories (g++ 4.9.1, etc), which is one of my strict requirements for a Linux distribution.

Also, if you're using Arch, reading the news announcements on their website is not optional. You're just one `pacman -Syu` from a(n) [nigh-]unbootable system at all times, and you may have to run some commands by hand to upgrade smoothly. This kind of breakage happened twice or thrice to me when I was using Arch, and at least once it was very difficult to apply a fix after the fact. Linus help you if you happen to upgrade before a fix for the issue (which probably happened because of your specific configuration and so was not caught by the developers in testing) is widely disseminated. Debian, at least for me, has never become difficult to use from an `apt-get [dist-]upgrade`.

In short, I respect and admire Arch and the people who make it happen, but it was just too time-consuming (for me) to administer and upgrading has too much potential to knock out the system I depend on for daily work. It was great for learning "how to Linux" because the system does relatively little for you, but for a work-machine that needs to keep on trucking without much upkeep while still giving great performance (sorry, but -- bad ubuntu! bad!), I personally prefer another, specifically Debian. Arch is a really important distro that fills a certain niche for people that need it, but I don't think everyone fits in that niche (but is there any niche that fits everyone?).

A bit OT, but:

> http://www.dgeex.de/2015/04/17/why-i-dont-like-java/

About halfway through, when it got to the "No preprocessor" section, at first I wasn't sure if it was serious or ironic.

You missed some more good reasons after that like:

"It's not suitable for big projects"

"No global variables"

My takeaway from the article is "I [the author] don't like Java because it is not C/C++"

>Unlike other distributions, on Arch you’re not forced to use a specific Window Manager, a Desktop Environment, a File Manager, and so on.

Excuse me?

It's like the people complaining about Unity, not realizing that all the major WMs, DEs and FMs are a single apt-get command away...
Right. MAJOR. For example I use awesome 3.5 as my WM. It's a pain in the ass to install it on Debian. Wheezy libraries aren't compatible with the latest version of awesome. If you want to upgrade libc, you'll break the whole system.
It's not that simple. Ubuntu has a lot of patches to make stuff interact nicely, and installing a diferent DE/WM is not as trivial as you'd think.

The opposite is true in Arch: it's extremely simple to change de WM, and chances of breaking anything else are minimal. This is especially due to the fact that you build the system yourself, so you know exactly what changing the WM affects.

apt-get install xubuntu-desktop

apt-get install kubuntu-desktop

it is as trivial as you'd think.

I second this. I have both KDE and GNOME Shell installed and working on Ubuntu. They really are one-liners.
I love arch. I stopped running it as my main OS when after updating it rebooted and couldn't reach the internet, even with an ethernet cord. Didn't feel like diagnosing the problem without easy access to google so I switched away.

I want to switch back, never before was it so easy to install any piece of software or as simple to have the exact set up I wanted. I am fairly sure this could have been avoided by signing up for the arch-announce mailing and watching for "manual intervention needed". If anyone wants to make the jump I would recommend following that mailing list.

I used Slackware, Gentoo and Arch for ten years but in the end I'm on Ubuntu. I liked feeling in control on those systems and it was great to have everything available immediately on Portage or AUR, but after a while I just got tired of having to read a wiki page for doing something as simple as setting up Bluetooth and ending up with a less convenient end result. I find there's almost always a PPA for an obscure package I need, so I found Ubuntu pretty convenient for actually getting stuff done.
I had been using Debian-based distros since 2010 -- Debian itself and the Ubuntu. Switched to Arch a few weeks ago and it's been a quite nice experience. While installing, I wrote a brief installation outline (based off of Arch Wiki); if someone is interested, it's available at [1].

[1] https://drive.google.com/file/d/0ByEPyxMys7A6T19Qc25JWTNKRE0...

Not an Arch user, but I'm glad it exists. It's incredibly helpful to know which devs love tedium, boilerplate and hand-rolling; makes it easier to avoid them...
Arch is my workstation and it works very well (for maybe 5 years)

You just have to check the arch website for important updates (filesystem, etc) which may broke your system.

I had ubuntu before and it was impossible to upgrade to the new version after 6 months. I was obliged to reinstall my system ...

It was difficult t first to install Arch but like the article said, it makes you undesrtand Linux and your computer. A very good way to improve your skills

This isn't really the Arch Way but...

If you have a Mac or MacBook and want to give Arch Linux a shot: https://github.com/yantis/instant-archlinux-on-mac

Just run one line in Mac OSX and ten minutes later (depending on bandwidth) you will have a fully usable dual boot Arch Linux system.

The Arch Way was kicked to the curb when they transitioned to systemd. It's one of those things -- like "the Unix Philosophy" -- that's nice on paper but has nothing to do with the way Linux is actually run in the real world now.
I'm choosing between Arch and Debian Sid - what would you suggest?
If you like learning about how stuff works: Arch If you want the latest version of everything: Arch If you value flexibility: Arch

If you value simplicity to get this running ASAP: Debian If you're not comfortable configuring stuff yourself: Debian If you want something that won't mutate much over time: Debian

Both are good. It depends on your needs
i am using arch mostly as a server os and it works very well. if you want to quickly setup a working desktop i can recommend antergos.com, its essentially arch with a nice installer.
I love Arch, but bleeding-edge always intimidates me a bit for a production server. Plus, I've been using OpenBSD for servers since before I knew Arch, so I already have that flexibility (and makepkg is really based on BSD ports).

OTOH, I can't recommend Arch as a desktop OS enough!

Great Post, Thanks.