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

# iwctl                                ;when using wifi instead of LAN
[iwd]# device list                     ;make note of your device ie: wlan0
[iwd]# station {device} connect {SSID}
# ping archlinux.org                   ;ensure you have Internet!
# timedatectl set-ntp true             ;ensure system clock is accurate
# lsblk                                ;list devices
# fdisk /dev/sdx                       ;partition drive
Command: g                             ;create GPT table - clears drive
Command: n, 1, enter, +512M            ;partition 1 for EFI
Command: t, 1, 1                       ;set partition 1 type = 1 (EFI Boot)
Command: n, 2, enter, +8192M           ;partition 2 for Swap
Command: t, 2, 19                      ;set partition 1 type = 19 (swap)
Command: n, 3, enter, enter            ;partition 3 for Linux System
                                       ;by default, partition type = system
Command: p                             ;display partition table - double check!
Command: w                             ;write changes and exit app
# mkfs.fat -F32 /dev/sdxX              ;format EFI boot partition
# mkfs.ext4 /dev/sdxY                  ;format primary partition
# mkswap /dev/sdxZ
# swapon /dev/sdxZ
# mount /dev/sdxY /mnt
# pacman -Syy 
# pacman -S reflector
# reflector -c "Canada" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
# pacstrap /mnt base base-devel bash-completion linux linux-firmware vim rfkill
# pacstrap /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
# timedatectl set-timezone Canada/Eastern
# timedatectl status                   ;validate time and date are correct
# hwclock --systohc --utc
# echo {hostname} > /etc/hostname      ;replace {hostname} with your preference
# vi /etc/hosts                        ;insert lines listed below:
127.0.0.1	localhost
::1		localhost
127.0.1.1	{hostname}
# systemctl enable NetworkManager.service    ; if required
# passwd
# pacman -S grub efibootmgr
# mkdir /boot/efi
# mount /dev/sdxX /boot/efi
# grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
# 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

PACKAGES:
---------
xorg
xorg-server
xorg-server-utils
xorg-apps
xorg-xinit
xorg-twm
xterm
xorg-xlogo
xorg-xclock
xorg-xload
xorg-xeyes
xorg-fonts-100dpi
xorg-fonts-75dpi
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
xscreensaver
terminus-font                          ;nice font for the console!
                                       ;create; /etc/vconsole.conf with the line:
                                       ;FONT=ter-p24n

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

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

OTHER PACKAGES:
---------------
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

UPDATES:
--------
sudo pacman -Syu
or
yaourt -Syua