I installed Arch for the first time this March. I’ve been enjoying customizing my system to my needs – and literally everything can be customized, which greatly pleases the control-freak in me – so I’m sharing the process here.


Start-up: my /etc/issue, MOTD, login manager

  • I have a Message of the Day (MOTD) that sets my TTY colors to Monokai. I copied it from pywal.
  • My /etc/issue is also customised.
  • I've edited my GeTTY service to remove my hostname from the login prompt. (Add --no-hostname to the login arguments.)
  • I don't have a login manager, I just use startx because I use the CLI about as much as the GUI now that I write in the TTY. I wrote a hacky login manager in my .zprofile, as shown below:

    if [[ ! $DISPLAY && $XDG_VTNR -eq 1 && ! $TMUX ]]; then
    echo “Start X / start tmux / go to console? [x/T/c] “
    read choice
    if [[ $choice == ‘c’ ]]; then
    echo #“Not starting X”
    elif [[ $choice == ‘x’ ]]; then
    exec startx
    else
    exec tmux
    fi
    fi
    

    I don’t use this any more, though; I just run startx (which I’ve got aliased to sx).

    My .zshrc contains more hacks – mostly setting and changing colourschemes for the TTY/AwesomeWM.

Network

  • I use wifi-menu (requires iwd and dialog) and netctl-auto as described here.
    • Tip: don’t use hyphens in profile names with netctl-auto.
  • I don’t use a GUI network manager because I really like wifi-menu and I know my way around netctl now.
  • Despite my laissez-faire approach, I’ve never had any of the network issues that plagued me on Ubuntu. ;)
  • (I haven’t gotten around to setting up USB tethering but it’s on my to-do list.)

File management

  • Use xdg-user-dirs to create home directories (pictures, downloads, etc.)
  • I use Thunar for GUI file management, with GVFS. A nice thing about it is that you can configure notifications to be sent to you whenever a device is detected; I use libnotify (notify-send).
  • Tip: install ntfs-3g to be able to use/write to external HDDs that use NTFS. I was mystified as to why the heck my HDDs always mounted as read-only despite the command I used being listed as the right one on the wiki – then, when idly browsing /r/archlinux, I found that you need ntfs-3g to write to an NTFS drive. Super obvious in hindsight, but it never occurred to me that the HDD’s filesystem would cause such a problem.
  • Also, install gvfs-mtp to access your Android’s storage via Thunar, and install gvfs-afc and gvfs-gphoto2 to access your iOS device’s storage.
  • Thunar starts very slowly if you enable auto-mounting network drives, so disable it.

Hardware config: touchpad, CUPS, Sane, sound, PC beep

  • My touchpad mostly uses the default settings. I enabled tap-to-click following this Reddit post, using this file.

  • One thing that annoyed me a lot on my fresh install was the awful, lifespan-shortening beep that some programs like less emit when you do something they don’t like. You can disable it by blacklisting the PC speaker module.

  • Other hardware config: Sane for scanning, CUPS for printing. It feels incredible to print and scan from the command line, but you might like Simplescan for your GUI needs. I also set up sound following the wiki.

Pacman and the AUR

  • Use Reflector to order your Pacman mirrors
  • Consider setting ILoveCandy in your pacman options – it’s cuter than the default.
  • Never run pacman -sy.

Setting up the AUR

Installing packages from the AUR is a piece of cake. Go to aur.archlinux.org, search for what you want, pick a package. Get your hands on its PKGBUILD by downloading it or cloning the provided Git URL. Read the PKGBUILD – you can learn a lot – and edit it if you like (you can add or remove features, like I did with alpine, and otherwise modify the package). Then run makepkg -si in the directory. Easy as pie! You can read more about the Arch Build System on the wiki.

Of course, you could also download an AUR helper. I like yay.

Productivity: Taskwarrior and Calcurse

  • Taskwarrior runs my life. I have physical task lists for the day-to-day as well as a physical calendar, and I use Taskwarrior as the master list of my tasks. I’ve been using it for a couple of years now and I love it for the fine-grained control it gives me. I also use Habitica, and I have a couple of hook scripts to synchronize the two – I use a modified version of these.
    • I haven’t set up a Taskserver yet, but it’s on the list!
  • I’ve started using Calcurse recently. So far, I’ve found it helpful when I’m away from my desk (or, more specifically, my paper calendar) and for recurring events like birthdays. I might write more about it in the future if I decide to stick with it.

WebDAV is love, WebDAV is life

If you haven’t already, install a WebDAV server on your phone. It’s a total game-changer. Say goodbye to fiddling about with cables. (I like this one for Android and am accepting recommendations for iOS.)

I mostly use Thunar with GVFS for accessing WebDAV servers. Sometimes I use cadaver for when blob completion is easier.

You can also set up your computer’s home folder as a WebDAV share like so. I use this on my HTPC.


I’ll be posting about my CLI and GUI setups as well as more software recommendations once I write them up!


Giving thanks where it’s due: