Arch Linux Everforest Ricing
This is a straight-forward guide for ricing Arch Linux with the Everforest colorscheme theme.
I use a minimal install of Arch Linux on UTM (QEMU virtual machine) on a Macbook Air M1 (2020). This guide should also work with the new Macbook Air M2 and the Pro versions.
Installation
Console keyboard layout
Find out which keyboard layout you are using and then set it using loadkeys
:
$ ls /usr/share/kbd/keymaps/**/*.map.gz
$ loadkeys de_CH-latin1
Partitioning
Check the name of the hard disk:
fdisk -l
Use the name (in my case vda) to start the fdisk
partitioning tool:
fdisk /dev/vda
Press g to create a new GPT Partition Table.
We will do it according to the example layout of the Arch wiki:
Mount point | Partition | Partition type | Suggested size |
---|---|---|---|
/mnt/boot | /dev/efi_system_partition | uefi | At least 300 MiB |
[SWAP] | /dev/swap_partition | swap | More than 512 MiB |
/mnt | /dev/root_partition | linux | Remainder of device |
Create boot partition
- Press n.
- Press Enter to use the default first sector.
- Enter +300M for the last sector.
- Press t and choose 1 and write uefi.
Create swap partition
- Press n.
- Press Enter to use the default first sector.
- Enter +512M for the last sector.
- Press t and choose 2 and write swap.
Create root partition
- Press n.
- Press Enter to use the default first sector.
- Enter Enter to use the default last sector.
- Press t and choose 3 and write linux.
When you are done partitioning don't forget to press w to save the changes!
After partitioning check if the partitions have been created using fdisk -l
.
Partition formatting
$ mkfs.ext4 /dev/root_partition
$ mkswap /dev/swap_partition
$ mkfs.fat -F 32 /dev/efi_system_partition
Mounting the file system
$ mount /dev/root_partition /mnt
$ mount --mkdir /dev/efi_system_partition /mnt/boot
$ swapon /dev/swap_partition
Package install
For a minimal system download and install these packages:
$ pacstrap -K /mnt base base-devel linux linux-firmware e2fsprogs dhcpcd networkmanager sof-firmware git neovim man-db man-pages texinfo
- Initialize pacman keys and populate them:
pacman-key --init
pacman-key --populate
- Synchronize Arch keyring:
archlinux-keyring-wkd-sync
Last steps
Generate fstab file
$ genfstab -U /mnt >> /mnt/etc/fstab
Change root into new system
$ arch-chroot /mnt
Set time zone
$ ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
$ hwclock --systohc
Localization
Edit /etc/locale.gen and uncomment en_US.UTF-8 UTF-8 and other needed locales. Generate the locales by running:
$ locale-gen
Create /etc/locale.conf and set the LANG variable according to your preferred language:
LANG=de_CH.UTF-8
Create /etc/vconsole.conf and set the following variables according to your preferred language:
KEYMAP=de_CH-latin1
FONT=Lat2-Terminus16
Network configurations
Create /etc/hostname and type any name you wish as your hostname:
arch
Edit /etc/hosts like this:
127.0.0.1 localhost
::1 localhost
127.0.1.1 arch (your host name here!)
Initramfs
$ mkinitcpio -P
Root password
Set a new password for root:
$ passwd
Bootloader
Install grub
and efibootmgr
:
$ pacman -S grub efibootmgr
Run the following command:
$ grub-install --efi-directory=/boot --bootloader-id=GRUB
Then create a GRUB config file:
$ grub-mkconfig -o /boot/grub/grub.cfg
Final step
Exit out of the chroot environment by typing exit
or pressing Ctrl+d.
Unmount all the partitions:
$ umount -R /mnt
Then type poweroff
and remove the installation disk from the virtual machine.
System-related Configurations
Update the system
First things first: Update the system!
$ pacman -Syu
sudo
Command
$ pacman -S sudo
Add your personal user account
$ useradd -m -g users -G wheel,storage,power,video,audio <your username>
$ passwd <your username> <your password>
Grant root access to our user
$ EDITOR=vim visudo
Uncomment the following line:
%wheel ALL=(ALL) NOPASSWD: ALL
You can then login as your newly created user:
$ su <your username>
If you wish to have the default XDG directories (like Downloads, Pictures, Documents etc.) do:
$ sudo pacman -S xdg-user-dirs
$ xdg-user-dirs-update
Install AUR package manager
To install yay:
$ sudo pacman -S base-devel git
$ mkdir aur
$ cd aur
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si
SPICE support on guest
This will enhance graphics and improve support for multiple monitors or clipboard sharing.
$ sudo pacman -S spice-vdagent xf86-video-qxl
Sound
$ sudo pacman -S pulseaudio
$ sudo pacman -S alsa-utils alsa-plugins
$ sudo pacman -S pavucontrol
PulseAudio Applet:
$ yay -S pa-applet-git
Network
$ sudo pacman -S openssh
$ sudo pacman -S iw wpa_supplicant
NetworkManager Applet:
$ sudo pacman -S network-manager-applet
Enable SSH, DHCP and NM:
$ sudo systemctl enable sshd
$ sudo systemctl enable dhcpcd
$ sudo systemctl enable NetworkManager
Bluetooth
$ sudo pacman -S bluez bluez-utils blueman
$ sudo systemctl enable bluetooth
Pacman
To beautify Pacman use:
$ sudo vim /etc/pacman.conf
Uncomment Color
and add below it ILoveCandy
.
Enable SSD Trim
$ sudo systemctl enable fstrim.timer
Enable Time Synchronization
$ sudo systemctl enable systemd-timesync
Then enable NTP:
$ timedatectl set-ntp true
Graphical User Interface (GUI) Settings
Xorg
$ sudo pacman -S xorg-server xorg-apps xorg-xinit xclip
i3
$ sudo pacman -S i3
After installing X and i3 create a file .xinitrc in your home directory with the following content:
exec i3
This way you can start the X server with the command startx
.
Drivers
If running outside UMT we need drivers:
Intel:
sudo pacman -S xf86-video-intel xf86-video-qxl intel-media-driver mesa
NVIDIA:
sudo pacman -S xf86-video-nouveau nvidia libva-mesa-driver
Compositor
$ sudo pacman -S picom
Font
$ sudo pacman -S noto-fonts noto-fonts-emoji
$ yay -S nerd-fonts-complete
Shell
$ sudo pacman -S zsh
Change default shell to zsh:
$ chsh -s $(which zsh)
Terminal
$ sudo pacman -S rxvt-unicode alacritty kitty
Editor
$ sudo pacman -S neovim
Switcher
$ sudo pacman -S dmenu rofi
Status Bar
$ sudo pacman -S polybar
File Manager
$ sudo pacman -S ranger
For previews we also need feh and Überzug:
$ sudo pacman -S feh ueberzug
Browser
$ sudo pacman -S firefox
Media Player
$ sudo pacman -S vlc
PDF Viewer
$ sudo pacman -S zathura
Wallpapers
Check these amazing wallpapers that harmonize with the Everforest theme: https://github.com/Apeiros-46B/everforest-walls
Other Tools
$ sudo pacman -S tldr bat fzf fd ripgrep unzip lsd tree htop nodejs npm yarn wget neofetch
What you also will need: