ZeStig's blog
343 words
2 minutes
Configuring Arch post-install

I’m using Arch with Hyprland, and so here’s a quick reference for getting things up-to-speed.

Initial configuration#

sudo pacman -S waybar mako libnotify starship wl-clipboard hyprland pipewire \
               pipewire-pulse xdg-desktop-portal-hyprland git ripgrep fd bat blueman \
			   brave-bin librewolf-bin \
		       eza fuse2 git-delta gpm grim slurp swappy hugo keepassxc \
			   kitty ly nano-syntax-highlighting zsh-syntax-highlighting neofetch  \
               networkmanager-applet noto-fonts oh-my-zsh-git pacman-contrib  \ 
	           openssh pinentry playerctl qt5-wayland qt6-wayland tree wireplumber \
	           man-pages # provides man pages for some C functions/headers
	 
usermod -aG input,video,dialout stig # in case this returns an error, modify accordingly

# Switch to Zsh as the user shell
chsh -s /usr/bin/zsh 

paru -S hyprpaper eww-tray-wayland-git

# Autostart required services
systemctl --user enable --now xdg-desktop-portal-hyprland wireplumber pipewire-pulse pipewire 

Configuring GTK settings#

paru -S arc-gtk-theme papirus-icon-theme bibata-cursor-theme-bin 

To make Arc-dark the default system theme, add this to ~/.config/gtk-3.0/settings.ini - note that the required packages have been installed above. If you want a different set, modify accordingly.

  [Settings]
  gtk-theme-name = Arc-Dark
  gtk-icon-theme-name = ePapirus-Dark
  gtk-cursor-theme-name = Bibata-Modern-Ice
  

And add this to ~/.icons/default/index.theme:

[Icon Theme]
Name=Default
Comment=Default Cursor Theme
Inherits=Bibata-Modern-Ice

Fonts#

For my setup, JetBrains Mono Nerd Font and Symbols Mono Nerd are required for font rendering. I’ve also installed noto-fonts for fallback rendering of non-English characters.

# paru -S ttf-ms-fonts # proprietary font required for LibreOffice Flatpak
paru -S ttf-jetbrains-mono-nerd ttf-nerd-fonts-symbols-common ttf-nerd-fonts-symbols-mono noto-fonts
sudo fc-cache -fv
fc-cache -fv

Flatpak#

This section involves installing and configuring Flatpak. Note that all my Flatpak packages will be

paru -S flatpak
# DON'T ADD flathub for root!
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Polkit#

sudo pacman -S polkit-gnome gnome-keyring libgnome-keyring
# /lib/polkit-gnome/polkit-gnome-authentication-agent-1 is part of Hyprland config
systemctl --user enable --now gnome-keyring-daemon

Swap#

sudo fallocate -l 8G /swapfile # allocate 8 gigs to an empty file
sudo chmod 600 /swapfile # fix permissions
sudo mkswap /swapfile  # create the swap file
echo '/swapfile    none    swap    sw    0    0' | sudo tee -a /etc/fstab # make changes permanent
# sudo reboot to use the swapfile 

Hibernate settings#

Edit /etc/systemd/logind.conf:

# InhibitDelayMaxSec=5
HandlePowerKey=ignore
HandlePowerKeyLongPress=poweroff
HandleLidSwitch=hibernate
HandleLidSwitchExternalPower=hibernate
# DefaultTimeoutStopSec=5s

Edit /etc/systemd/sleep.conf:

AllowHibernation=yes
HibernateDelaySec=3600