Arch Linux

Arch Linux Logo My favourite distribution of Linux is Arch Linux. The reason? It lets you choose exactly what components you'd like to install - nothing more. Unlike pre-packaged distros like Ubuntu, Arch doesn't come with an office suite, a graphics editor, various games, tons of GUI tools, etc. Oh, you can install all of these things. As a matter of fact, you can make Arch look and behave exactly like Ubuntu, or any other distro. But that's not what I'm into.

When I install Arch, I either run Tom's Window Manager (TWM) which was one of the original window managers for Unix, or I run XFCE4 which is a nice, lightweight but modern window manager. I tend to install Arch often - recently I re-did my laptop after buying a bigger hard drive, or into a virtual machine for testing purposes. Here is the guide I use to install Arch:

Installation Notes

# ping                   ;ensure you have Internet!
# timedatectl set-ntp true             ;ensure system clock is accurate
# lsblk                                ;list devices
# parted /dev/sdx                      ;partition drive
(parted) mklabel msdos
(parted) mkpart primary ext3 1MiB 99%  ;this is the primary partition
(parted) set 1 boot on
(parted) mkpart primary linux-swap 99% 100%
(parted) quit
# mkfs.ext4 /dev/sdxY                  ;format primary partition
# mkswap /dev/sdxZ
# swapon /dev/sdxZ
# mount /dev/sdxY /mnt
# vi /etc/pacman.d/mirrorlist          ;adjust for Canada (eh!)
# pacstrap -i /mnt base base-devel bash-completion vim rfkill
# pacstrap -i /mnt networkmanager      ;use nmtui to configure wifi!!!
# genfstab -U /mnt >> /mnt/etc/fstab
# vi /mnt/etc/fstab                    ;double check everything!
# arch-chroot /mnt
# vi /etc/locale.gen                   ;uncomment en_US.UTF-8 UTF-8
# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# ln -sf /usr/share/zoneinfo/{Zone}/{SubZone} /etc/localtime
# hwclock --systohc --utc
# echo {hostname} > /etc/hostname
# vi /etc/hosts                        ;add hostname at end of lines
# vi /etc/resolv.conf.head             ;add options single-request
# systemctl enable dhcpcd.service
# systemctl enable NetworkManager.service    ; if required
# passwd
# pacman -S grub
# grub-install --target=i386-pc /dev/sdx
# grub-mkconfig -o /boot/grub/grub.cfg
# vi /etc/pacman.conf                  ;uncomment multilib repository!
# useradd -m -G wheel -s /bin/bash rick
# passwd rick
# visudo                               ;uncomment 'wheel' group line!
# exit
# reboot

Once rebooted, install nice things. Run all these commands with:

sudo pacman -S {package}

first, update repositories:
sudo pacman -Sy

xfe                                    ;file manager
xv                                     ;for displaying wallpaper in TWM
xarchiver                              ;for opening .zip and .7z files (etc)
xcalc                                  ;calculator
xbindkeys                              ;map keys like volume and brightness
terminus-font                          ;nice font for the console!
                                       ;create; /etc/vconsole.conf with the line:

nvidia-340xx (optional for 3D accelerated graphics)
alsa-utils (optional for audio support)

pacman -S virtualbox-guest-utils
vi ~/.xinitrc                          ;add /usr/bin/VBoxClient-all

yaourt                                 ;aur + pacman wrapper
package-query                          ;required by yaourt
gkrellm                                ;system monitor
atom                                   ;source code editor
xephem                                 ;fantastic star/deepsky atlas
stellarium                             ;night sky simulator
stella                                 ;Atari 2600 emulator
gimp                                   ;image manipulation
firefox                                ;web browser
freshplayerplugin                      ;to allow Firefox to play Flash movies
pepper-flash                           ;required by freshplayerplugin
moc                                    ;music on console!
vlc                                    ;multimedia player
libreoffice                            ;office suite
clamav                                 ;antivirus
jre7-openjdk                           ;java runtime
virtualbox                             ;virtualization
                                       ;gpasswd -a {user} vboxusers
x86f-input-synaptics                   ;laptop touch pad driver (very good!)

HP printing
cups                                   ;systemctl enable org.cups.cupsd.service
                                       ;gpasswd -a {user} lp
hplip                                  ;hp-setup utility
python-pyqt5                           ;required by hp-setup
python-gobject                         ;also required by hp-setup
gtk3-print-backends                    ;required to print from Firefox

sudo pacman -Syu
yaourt -Syua