Arch Linux Setup


Last updated on 2026-02-21 (history).

This page has list of things that makes Linux experience better.

System will keep functioning without these things, but the experience will be subpar at places (like not good font rendering, having to enter ssh password multiple times). Since system will keep functioning, these are easy to miss and difficult to identify and fix.

Linux distros are always evolving, so there might be things on this page which might not be relevant because of various reasons like they being by the distro or they being replaced with something new.

## System Services

### SSH Agent Daemon1

Enabling ssh-agent makes it possible to use ssh-add once and keep using it without needing to enter password again for ssh.

1
systemctl enable --user ssh-agent.service

### Ghostty Daemon2

This allows opening a new ghostty terminal window faster.

1
systemctl enable --user app-com.mitchellh.ghostty.service

## Fonts

This list includes fonts for system, symbols, emojis, and icons. Without these fonts, fonts do not looks good on website, emojis are not rendered on websites, symbol fonts are not rendered in system elements (like waybar).

1
2
3
4
5
sudo pacman -S noto-fonts \
  noto-fonts-emoji \
  ttf-dejavu \
  ttf-liberation \
  ttf-nerd-fonts-symbols

## Setting up Fingerprint

Follow https://wiki.archlinux.org/title/Fprint

For fingerprint support in swaylock, follow this - https://github.com/swaywm/swaylock/issues/61#issuecomment-965175390

## External Display Brightness Control

Load i2c-dev kernel module.

1
sudo modprobe i2c-dev

To load this module on every boot automatically, use this:

1
echo i2c-dev | sudo tee /etc/modules-load.d/i2c-dev.conf

Once i2c-dev module is loaded, you should be able to use ddcutil for managing external monitor brightness.

## udev Rules for QMK Via Keyboards3

By default, QMK Via keyboard devices are added to system without read/write permissions. This result in being unable to make changes to it via http://usevia.app/.

To resole this, add 50-qmk.rules to /etc/udev/rules.d/. This will make the device readable and writable.