Arch linux install 🐧

Create partitions

Use fdisk or cdisk. UEFI configurations have 3 partitions (ESP in FAT32 512 Mb, / in ext4 , and swap of at least the RAM)

Format partitions

# mkfs.ext4 /dev/sdaY
# mkswap /dev/sdaZ
# swapon /dev/sdaZ
# mount /dev/sda1 /mnt
# pacstrap /mnt base
# genfstab -U /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
# hwclock --systohc
# locale-gen
LANG=en_US.UTF-8
KEYMAP=fr-latin1
myhostname
127.0.0.1	localhost.localdomain	localhost
::1		localhost.localdomain	localhost
127.0.1.1	myhostname.localdomain	myhostname
# passwd

For efi systems using grub.

grub-mkconfig will automatically detect the microcode update and configure GRUB appropriately. After installing the intel-ucode package, users are directed to regenerate the GRUB config to activate loading the microcode

pacman -S intel-ucode grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch
grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -p linux

For not efi configurations look precedent commits

Post installation instructions

Install minimum

pacman -S base-devel iw wpa_supplicant dialog sudo

Video

Xorg

  1. Install packages
pacman -S xorg xorg-apps xorg-server xorg-server-utils xorg-xinit
  1. Test using startx. If needed install xterm and xorg-twm

Drivers

Install minimun drivers

pacman -S xf86-video xf86-video-intel

if nvidia graphic card, install bumblebee mesa nvidia

Display manager

  1. Install packages
pacman -S xorg-xdm
  1. Enable service: systemctl enable xdm.service

Windows manager - i3

pacman -S i3 dmenu

Network manager

  1. Install networkmanager packages
pacman -S networkmanager network-manager-applet
  1. Enable service
systemctl enable NetworkManager

Touchpad

  1. Install libinput package
pacman -S xf86-input-libinput libinput
  1. Create file /etc/X11/xorg.conf.d/30-touchpad.conf to configure touchpad
Section "InputClass"
    Identifier "touchpad"
    Driver "libinput"
    MatchIsTouchpad "on"
    Option "Tapping" "on"
    Option "TappingButtonMap" "lmr"
EndSection
  1. Set X11 keyboard layout localectl --no-convert set-x11-keymap fr

Disks management

Install diskie, if old keys use: sudo pacman-key --refresh

pacman -S udisks2 udiskie

Additional

pacman -S tmux ranger mutt vim alacritty firefox xclip gnupg isync pass notmuch notmuch-mutt msmtp atool dunst sxiv rsync zathura zathura-pdf-poppler zathura-djvu rofi inkscape gvfs feh libreoffice-still filezilla pavucontrol openssh w3m ctags arandr unclutter mpd highlight scrot curl git flake8 nodejs npm mpd ncmpcpp mpc ntfs-3g

Bluetooth

  1. Install packages
pacman -S alsa-utils bluez bluez-utils blueman pulseaudio-bluetooth
  1. Enable service
systemctl enable bluetooth.service

Fonts

pacman -S ttf-inconsolata awesome-terminal-fonts powerline-fonts noto-fonts-emoji
curl -L https://github.com/ryanoasis/nerd-fonts/releases/download/v1.2.0/InconsolataGo.zip --output InconsolataGo.zip
extract InconsolataGo.zip
rm InconsolataGo.zip
mkdir /usr/share/fonts/InconsolataGo
mv InconsolataGo* /usr/share/fonts/InconsolataGo
chmod 0555 /usr/share/fonts/InconsolataGo
chmod 0444 /usr/share/fonts/InconsolataGo/InconsolataGo*

Python

pacman -S jupyter mathjax python-numpy python-matplotlib python-pandas python-virtualenvwrapper
pip install -U mutt_ics urlscan