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:

  • timeshift for system snapshots - using RSYNC it is lightning fast
  • restic for 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.