Converting to Arch Linux: Lessons Learned

I've been playing with the idea of converting to Arch Linux, at least on a trial basis, for some time now.  A couple weeks ago I spun up a VM and installed it without a fuss, so it seemed like it would be okay to install on my laptop, but not having a lot of free time I put it off.  The popularity of Arch Linux in my What's your favorite Linux Distro poll pushed me over the top and I managed to find some time this weekend to sit down and do the install.

It took much longer than my install on the VM for a couple of reasons and would have gone a lot smoother had I been a bit more prepared.  However, now that I've been through it and made my mistakes, I'm quite confident I could get through the process in a reasonable amount of time as most of the difficulty came right at the start of the install. 
 
 
This is some of what I learned from the process of installing Arch Linux:
 
  • UEFI is a pain in the ... you know what I am talking about
  • If using UEFI, disable secure boot.  Not as straight forward as it would seem, at least not on my Acer Aspire.  In order to disable the secure boot, you have to first set a supervisor password, then disable the secure boot, then remove the supervisor password.  It seems like backwards logic to me, in my world the supervisor password shouldn't become an option unless secure boot is turned on, and turning off secure boot should disable the supervisor password.  But they didn't ask me when they wrote the UEFI so why should it make sense?
  • Your Boot partition needs to be flagged for UEFI-EF00. The Arch Linux Beginners guide is excellent and walks you through the install process almost flawlessly with the exception of this.  It tells you how to make the partition, but not how to flag it.  I spent way to much time trying to figure out why my install wouldn't boot, and scouring the guide for an answer.  The solution? install gdisk and add the EF00 type flag.
  • If you have multiple partitions or multiple drives, make sure you write down which slice is being mounted where as you create them and make sure you mount them in the correct order before running pacstrap, your boot partition probably doesn't have enough free space for the whole operating system.
  • The Arch Linux Wiki is excellent.  Unlike the Ubuntu Answers pages, it actually has answers.  The Arch Linux Wiki is very comprehensive, and covers pretty much everything I had to look up very well, and at the very least, gave me an idea of what I needed to look for to identify the source of the problem.
  • UbuntuOne client doesn't like to run unless you have installed extra fonts or a Desktop Environment.
  • Chrome currently isn't compatible with the installed libcrypt, so I am relegated to chromium, which is pretty much the same thing.
  • Installing base-devel is not optional

And that is basically it.  After the initial UEFI / partitioning battle, everything went pretty well as advertised and has really refreshed my knowledge of the underline workings of Linux.  I've been using Ubuntu for my desktop for two long (read: when they first started shipping install disks for free) and it's fogged my memory of configuration on the command line for desktop services such as X11(I spend most of my working life on server consoles).

Probably the best part for me(so far) is with breaking away from Ubuntu, I've been forced to take a serious look at the various window managers and desktop environments out there. Which has brought me to i3.wm, on it's own its excellent although there are a lot of new key bindings for me to learn and a almost crazy amount of customizability to play with, and it is missing some of the standard functionality I want in a desktop environment, such as wall papers, lock screen etc. Luckily it can replace the window manager in XFCE4 easily and makes for an excellent combination.

Update: After playing with i3 configuration, I've dropped XFCE and am using straight i3.wm and loving it.  Also, I've seen a lot of comments about this article on reddit.  If you are visiting from reddit and have a comment, please post it below so I see it and can respond. Thanks!