Basic i3 Arch Linux Setup
In this post I document my first basic setup process for any installation. Please note that this is what works for me and can differ depending on hardware.
After I botched my Manjaro i3 installation and some further readings, I dove deeper into other Arch-based alternatives. I wanted a pre-configured tiling window manager setup out of the box as I didn’t want to spend a lot of time customising and optimising my system.
Backups
Having a systematic backup approach is always important, especially in the case of Arch not being known to be the most stable distro. Tools I use:
timeshiftfor system snapshots - using RSYNC it is lightning fastresticfor home directory backups, also using RSYNC.
Next in ~/.config/i3/, I change a few keybindings such as hjkl. Now a few hardware-specific configuations need to be addressed.
Brightness adjustment script
Adapted from https://gitlab.com/Nmoleo/i3-volume-brightness-indicator to use brightnessctl because xbacklight does not work for me.
# Uses regex to get brightness from brightnessctl
function get_brightness {
brightnessctl | grep -Po '[0-9]{1,3}%'
}
# In main function:
case $1 in
brightness up)
# Increases brightness and displays the notification
brightnessctl set $brightness_step%+
show_brightness_notif
;;
brightness_down)
# Decreases brightness and displays the notification
brightnessctl set $brightness_step%-
show_brightness_notif
;;
esac
Then in i3’s config, call the script functions like so:
bindsym XF86MonBrightnessUp exec --no-startup-id ~/.config/i3/scripts/volume_brightness.sh brightness_up
bindsym XF86MonBrightnessDown exec --no-startup-id ~/.config/i3/scripts/volume_brightness.sh brightness_down
Internal mic mute button
Dependencies: amixer.
bindsym XF86AudioMicMute exec amixer sset Capture toggle
Touchpad configuration
To enable natural scrolling and tapping on X11 start, in /usr/share/X11/xorg.conf.d/30-touchpad.conf:
Section "InputClass"
Identifier "devname"
Driver "libinput"
MatchIsTouchPad "on"
Option "Tapping" "on"
Option "Natural Scrolling" "true"
EndSection
Make Firefox scroll smoothly with the touchpad
By default the scrolling experience is not smooth. This command should fix that:
echo export MOZ_USE_XINPUT2=1 | sudo tee /etc/profile.d/use-xinput2.sh
Missing fonts
Most of the time special fonts will be missing. These are the packages to install to fix that:
sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
Enable TRIM on SSD drive
Optional, helps maintain SSD performance.
sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer
Conclusion
With this I have a basic functioning i3 setup. I find that it’s hard to go without a tiling window manager anymore, it just makes my workflow much faster and fluid especially on a laptop without a mouse.