Arch Linux

Publish Date: May 28, 2013    Last Update: Oct 20, 2016

Archlinux is by far the best Linux system I have ever used. It provides a comprehensive wiki, which answers 90% of the questions. The installation wiki should always be opened when performing new installation. This document simplifies the Arch Wiki and provides a procedure tailored for my own needs.

Installation

Arch Linux can be installed through USB stick. To prepare the installation media, one should:

$ lsblk
	# Check /dev/sdx is not mounted
$ dd bs=4M if /path/to/archlinux.iso of=/dev/sdx && sync     
  # Copy the image to USB

Since the installation process varies a lot, you can always refer to wiki for detailed information.

Post installation tweaks

  1. Change the root password.
## passwd
  1. Add non-root user and sudo
## useradd -m -g users -G wheel -s /bin/bash newuser
## passwd newuser 
## pacman -S sudo
## visudo // Uncomment the two lines with wheel
  1. fstab auto-mount
lsblk -l
  # Look at available disk
sudo blkid /dev/sda1
  # Look at the UUID of the disk

Desktop & Appearance

Install Xorg

The first step to have a desktop envoironment is to install the Xorg. Note it seems we need to install many xorg-apps group packages manually. Also check out this thread for additional information

## Install Xorg-server
sudo pacman -S xorg xorg-apps
## Install trackpad support
sudo pacman -S xf86-input-synaptics
sudo pacman -S xf86-input-libinput
## Install video card
lspci | grep VGA
sudo pacman -S xf86-video-intel

Next step is to choose the appropriate desktop environments. Current I have two sets of set-ups

i3

i3 is a dynamic tiling window manager. It takes little system resources but is also highly configurable. Along with i3, I utilize the following tools as my workflow:

  1. x-system tools
    1. arandr: for different monitor support
    2. .xinitrc: script to load all the Xresources, Xmodmap
    3. .Xresources: configurations for DPI and URxvt
    4. config.fish: default fish configuration; startx automatically
  2. feh: background image
  3. URxvt: a very good terminal
  4. thuanr: file manager
  5. xfce4-power-manager: to help manage the power settings for laptop

I use the /etc/fonts/local.conf to set the global settings for sans, sans serif, and monospace fonts.

For GTK2/3 themes, I use numix-gtk-theme. To easily switch between GTK themes, I use lxappearance.

AUR

aurman

I use aurman as the AUR helper tool. Some basic functions include

aurman -Ss foobar     // Search in remote package repository
aurman -Qs foobar     // Search in local package repository
aurman -Rsn foobar    // Delete this package and orphan dependencies
aurman -Rsc foobar    // Delete package recursively
aurman -Rdd foobar    // Delete package only
aurman -Sw foobar     // Download without installing
aurman -U foobar      // Install local package
aurman -Sc -Scc       // Remove cache

Manual Install

Sometimes when you want to keep an off-line source of yaourt script, just download the file needed, copy it to the /tmp/yaourt-* folder, and modify the script and replace the original source URL.

Others

Setting Up the Sound System

In most cases, you will need alsa to manage the backend of the sound system. I also use pulseaudio as the middle manager.

yaourt -S alsa-utils pulseaudio pulseaudio-alsa

Sometimes I also need to change the default order of sound card. We can achieve this by creating a .asoundrc file. I followed this article mostly.

Setting Up Bluetooth

Follow the office wiki and use bluetoothctl to setup bluetooth devices which connect at boot.

Software

Basic

  1. ntfs-3g: this will solve the permission problem for USB drives
  2. file-roller: for openning compressed files
  3. ibus: chinese input
  4. dnsmasq: DNS cacher (follow wiki for configuration)
  5. ntp: sync time with internet server
  6. fish: shell tool; also download oh-my-fish.

Production

  1. google-chrome: from AUR
  2. docker: container tool
  3. vlc: media player
  4. pandoc: file converter
  5. meld: for visualizing diff
  6. pip: manager python modules
  7. texlive: for pdf output
  8. dropbox: Dropbox syncs
  9. insync: Google drive syncs
  10. treesheets: Mindmaping and structuring tool