Information about my setups and their respective configurations
  • CSS 50.3%
  • Shell 49.7%
Find a file
2026-06-27 19:15:37 +02:00
assets chore: update screenshot 2026-05-11 13:37:57 +02:00
home feat: add stuff 2026-06-27 19:12:23 +02:00
root/etc feat: clean up, add more stuff about my laptop setup 2026-06-03 09:27:21 +02:00
scripts feat: clean up, add more stuff about my laptop setup 2026-06-03 09:27:21 +02:00
.gitignore chore: clean up; feat: move to ly 2026-05-10 22:18:03 +02:00
.stow-local-ignore chore: clean up; feat: move to ly 2026-05-10 22:18:03 +02:00
apply chore: clean up; feat: move to ly 2026-05-10 22:18:03 +02:00
LICENSE feat: add initial readme, license and configs 2026-05-07 22:05:00 +02:00
README.md feat: add protonup-qt 2026-06-27 19:15:37 +02:00

dotfiles

My dotfiles and other stuff about my systems' configurations.

Screenshot of my setup

Systems I use these setups on

Desktop:

  • AMD Ryzen 7 9800x3D
  • 64GB DDR5-6000 (2x32GB)
  • NVIDIA GeForce RTX 4080 SUPER
  • 4TB SAMSUNG 990 PRO

Laptop: Lenovo ThinkPad X1 Yoga Gen 8 with Intel Core i5-1345U, 32GB RAM, 512GB NVMe and a 1920x1200 screen

Monitors:

  • Samsung G5 Ultrawide (3440x1440, 165hz, 34")
  • Samsung G51 (2560x1440, 165hz, 27")

Notes

⚠️ IMPORTANT
The Waybar theme relies on the Catppuccin GTK theme mentioned below to be installed. If you don't want to do so, you must change the padding of the workspace buttons from 2px to 2px 8px.

I use Arch Linux with a unified kernel image signed with a custom Secure Boot key created by and managed with sbctl.

Due to some weirdness with symlinks, the GTK themes need to be installed manually. Download the "Borderless + macOS buttons" Frappé pack from here: https://www.opendesktop.org/p/1715554 and follow the instructions.

To enable hibernate and resume, a swapfile must be created, enabled and resume must be added to /etc/mkinitcpio.conf, followed by rebuilding the initramfs with sudo mkinitcpio -P. I don't use ZRAM so I disabled that by ading systemd.zram=0 to /etc/kernel/cmdline.

A number of helper scripts can be found in the scripts directory.

Requirements

  • GNU Stow

Usage

Run ./apply.

Manual install

Installing dotfiles to $HOME: stow --adopt --no-folding -t "${HOME}" home

Installing dotfiles to root (for example libvirt configuration files): sudo stow --adopt --no-folding -t / root

Helper scripts

This repository contains some helper scripts which will be detailed in this section:

  • set_up_git sets the git config to be my preferred configuration
  • set_up_mobile_broadband sets up a connection for my cellular modem
  • create_swap <swapfile size> sets up swap

Applying Themes and Wallpapers

For GTK themes use GNOME Tweaks to set the theme. For Qt use qt6ct-kde (Qt6 Settings). For wallpapers use awww -o <output name> <path to file>. My own wallpapers can be found in home/Pictures/Wallpapers.

Installed Packages

This is a list of all packages I have installed, which systems I have installed them on and why I have them installed. Drivers, firmware and the likes aren't included unless deviating from a standard Arch installation.

Links are to the source repository or other applicable first-party website. The package names are the names used in the Arch Linux package list or the Arch User Repository.

For networking, during the install I opt to set up NetworkManager backed by iwd for wireless connectivity.

System Tools

These are system tools I don't often directly invoke but use for other tasks like system tweaks, filesystem compatibility and the likes.

Package Description Link Systems
sbctl Secure Boot key manager https://github.com/foxboron/sbctl Desktop, Laptop
cpupower Userspace utilities for managing CPU frequency scaling Part of Kernel Desktop
dosfstools Suite of tools to work with DOS filesystems such as the FAT family https://github.com/dosfstools/dosfstools Desktop
dnsmasq Suite of network services, needed for libvirt to work properly with NetworkManager https://dnsmasq.org/doc.html Desktop
exfat-utils Utilities for working with exFAT filesystems https://github.com/relan/exfat Desktop
gamemode Command prefix to ensure games run better https://github.com/feralinteractive/gamemode Desktop, Laptop
lact GPU configuration and monitoring tool https://github.com/ilya-zlobintsev/LACT Desktop
libinput-tools Helper tool to work with libinput https://wayland.freedesktop.org/libinput/doc/latest/tools.html Desktop
btop A better alternative to the top command https://github.com/aristocratos/btop Desktop, Laptop
bind DNS implementation, provides the dig command https://www.isc.org/software/bind/ Desktop, Laptop
paru AUR helper https://github.com/morganamilo/paru Desktop, Laptop
rsync Fast, incremental file transfer https://rsync.samba.org/ Desktop
traceroute Tool for tracing route to target host https://traceroute.sourceforge.net/ Desktop
ventoy-bin CLI tool to manage Ventoy https://www.ventoy.net/en/index.html Desktop
wget Tool to retrieve remote files https://www.gnu.org/software/wget/wget.html Desktop, Laptop
unzip CLI tool to extract ZIP archives http://www.info-zip.org/Zip.html Desktop, Laptop
android-udev Allows user to connect Android devices https://github.com/M0Rf30/android-udev-rules Desktop
gnupg Free implementation of PGP https://www.gnupg.org/ Desktop
pacman-contrib Scripts and tools for pacman https://gitlab.archlinux.org/pacman/pacman-contrib Desktop, Laptop
less It's less, not much to say https://www.greenwoodsoftware.com/less/ Desktop, Laptop
wl-clipboard Tool to copy text from a terminal into the clipboard on Wayland https://github.com/bugaevc/wl-clipboard Desktop
man-db Manual pages https://gitlab.com/man-db/man-db Desktop, Laptop
brightnessctl Allows controlling monitor brightness https://github.com/Hummer12007/brightnessctl Laptop
tlp Tool/service to optimise battery life on laptops https://linrunner.de/tlp/index.html Laptop
modemmanager Manages cellular modems https://www.freedesktop.org/wiki/Software/ModemManager Laptop
openresolv Provider of resolvconf for NetworkManager https://roy.marples.name/projects/openresolv Laptop
displaylink Support for DisplayLink devices https://www.synaptics.com/products/displaylink-graphics Laptop
cups Printing support https://openprinting.github.io/cups/ Desktop
hplip HP printer drivers https://hplipopensource.com/ Desktop
system-config-printer GUI tool to configure printers https://github.com/OpenPrinting/system-config-printer Desktop
sane Scanning support https://gitlab.com/sane-project/backends Desktop
naps2-bin Scanning frontend https://www.naps2.com/ Desktop

Environment

These are the packages that make my environment. This includes all the "meta" basics for a working environment on which you can build up on. Some configurations, like Niri may also depend on packages from other categories (my Niri configuration depends on kitty).

Package Description Link Systems
swaybg Simply wallpaper tool for wayland https://github.com/swaywm/swaybg Desktop, Laptop
catppuccin-cursors-frappe Custom theme cursors http://github.com/catppuccin/cursors Desktop, Laptop
fuzzel App launcher and fuzzy finder for Wayland https://codeberg.org/dnkl/fuzzel Desktop, Laptop
nwg-look Software I primarily use to manage GTK theming https://github.com/nwg-piotr/nwg-look Desktop, Laptop
nemo File explorer https://github.com/linuxmint/nemo Desktop, Laptop
niri Niri, a Wayland window compositor https://github.com/niri-wm/niri Desktop, Laptop
noto-fonts Basic Noto fonts for unicode characters https://fonts.google.com/noto Desktop, Laptop
noto-fonts-cjk Chinese, Japanese and Korean fonts https://github.com/notofonts/noto-cjk Desktop, Laptop
noto-fonts-emoji Emoji support http://fonts.google.com/noto/specimen/Noto+Emoji Desktop, Laptop
gnome-keyring Secret portal https://gitlab.gnome.org/GNOME/gnome-keyring Desktop, Laptop
polkit-kde-agent Policykit agent for applications to graphically ask for root permissions https://github.com/KDE/polkit-kde-agent-1 Desktop, Laptop
qt6ct-kde Graphical tool to change Qt theme https://www.opencode.net/trialuser/qt6ct Desktop, Laptop
swaylock-effects Lockscreen for Wayland (with extra features not present in normal swaylock) https://github.com/jirutka/swaylock-effects Desktop, Laptop
ttf-firacode-nerd My preferred monospace font https://www.nerdfonts.com/font-downloads Desktop, Laptop
waybar Wayland bar https://github.com/Alexays/Waybar Desktop, Laptop
network-manager-applet Provides a tray applet for NetworkManager and the GUI connection editor used in my waybar config https://gitlab.gnome.org/GNOME/network-manager-applet Desktop, Laptop
ly TTY-based greeter https://codeberg.org/fairyglade/ly Desktop, Laptop
dunst Notification daemon https://github.com/dunst-project/dunst Desktop, Laptop
xdg-desktop-portal-wlr Required portal for screencasting https://github.com/emersion/xdg-desktop-portal-wlr Desktop, Laptop
xdg-desktop-portal-gtk Required portal for most basic functionality https://github.com/flatpak/xdg-desktop-portal-gtk Desktop, Laptop
xwayland-satellite Rootless Xwayland integration for Wayland compositors https://github.com/Supreeeme/xwayland-satellite Desktop, Laptop
iio-niri Automatically rotates the screen with Niri https://github.com/Zhaith-Izaliel/iio-niri Laptop
wireguard-tools Tools to interact with WireGuard https://www.wireguard.com/ Laptop
overskride-bin Bluetooth client https://github.com/kaii-lb/overskride Laptop

Development

This includes tools I use for development.

Package Description Link Systems
kitty Terminal emulator https://github.com/kovidgoyal/kitty Desktop, Laptop
neovim Modern Vim-based text editor https://neovim.io/ Desktop, Laptop
git Repository management tool https://git-scm.com/ Desktop, Laptop
base-devel Basic development tools, meta-package https://archlinux.org/packages/core/any/base-devel/ Desktop, Laptop
rustup Rust toolchain installer https://rustup.rs/ Desktop, Laptop
shellcheck Shell script linter https://www.shellcheck.net/ Desktop, Laptop
docker Containerisation system https://www.docker.com/ Desktop
jetbrains-toolbox Launcher to install and manage JetBrains IDEs https://www.jetbrains.com/toolbox-app/ Desktop, Laptop
virt-manager GUI for libvirt https://github.com/virt-manager/virt-manager Desktop
qemu-full Backend for creating virtual machines https://www.qemu.org/ Desktop
opentofu FOSS Terraform alternative https://opentofu.org/ Desktop
docker-compose Enables docker compose support https://www.docker.com/ Desktop
pyenv Tool for managing Python versions https://github.com/pyenv/pyenv Desktop, Laptop
go Golang https://go.dev/ Laptop
ansible Ansible https://ansible.com Desktop

Messaging

This includes software I use for messaging.

Package Description Link Systems
vesktop Customisable and privacy friendly Discord client https://vesktop.dev/ Desktop, Laptop
element-desktop Desktop Matrix client https://element.io/en Desktop

Media

This includes tools I use to consume media.

Package Description Link Systems
vlc Multimedia player https://www.videolan.org/ Desktop, Laptop
vlc-plugin-ffmpeg FFMPEG plugins for VLC https://archlinux.org/packages/extra/x86_64/vlc-plugin-ffmpeg/ Desktop, Laptop
coreimage Small and lightweight image viewer https://cubocore.gitlab.io/ Desktop, Laptop
spotify Spotify desktop application https://spotify.com Laptop

Creativity

This includes tools for creative work as well as note-taking.

Package Description Link Systems
xournalpp Notetaking app with support for pages and handwriting/drawing https://xournalpp.github.io Desktop, Laptop
obs-studio Screen recording suite https://github.com/obsproject/obs-studio Desktop

Other

This includes the odd ones out which didn't have a better place elsewhere.

Package Description Link Systems
ausweisapp German ID verification app https://www.ausweisapp.bund.de/en/open-source-software Desktop
azahar Nintendo 3DS emulator https://azahar-emu.org/ Desktop
chromium Browser; Will be switched for something better in due time https://www.chromium.org/chromium-projects/ Desktop, Laptop
filezille File explorer and remote filesystem client https://filezilla-project.org/ Desktop
hyfetch Fetch with pride flags https://github.com/hykilpikonna/hyfetch Desktop, Laptop
prismlauncher Minecraft Java Edition version manager and launcher https://prismlauncher.org/ Desktop
steam Game launcher https://store.steampowered.com/ Desktop
stow Symlink manager https://www.gnu.org/software/stow/ Desktop
thunderbird E-Mail client https://www.thunderbird.net/ Desktop, Laptop
ente-auth-bin TOTP Generator https://ente.com/auth/ Desktop, Laptop
qalculate-qt Calculator https://qalculate.github.io Desktop, Laptop
wvkbd-git On-screen keyboard https://github.com/jjsullivan5196/wvkbd Desktop, Laptop
nextcloud-client Desktop client for NextCloud https://nextcloud.com/ Desktop
pdfpc PDF presentation software https://github.com/pdfpc Laptop
protonup-qt-bin GUI Proton version manager https://github.com/DavidoTek/ProtonUp-Qt Desktop, Laptop

Package notes

Package Note
rustup Run rustup toolchain install stable for initial stable install; rustup update to update
displaylink Requires dkms, linux-headers and evdi-dkms to be installed; Start service after install
pyenv Requires tk to be installed for Python compilation and installation to work properly
gamemode Also install lib32-gamemode

Further Reading

This is a collection of links I found helpful while setting up my systems.

Description Link
Description of CPU frequency scaling and tools to make use of it https://wiki.archlinux.org/title/CPU_frequency_scaling
General information about the ThinkPad X1 Yoga Gen 8 on Arch Linux https://wiki.archlinux.org/title/Lenovo_ThinkPad_X1_Yoga_(Gen_8)
Power management for laptops on Arch Linux https://wiki.archlinux.org/title/TLP
General documentation for niri https://github.com/niri-wm/niri/wiki
Setting up secure boot https://github.com/foxboron/sbctl
DisplayLink https://wiki.archlinux.org/title/DisplayLink

Attributions

Catppuccin is licensed under the MIT license. It doesn't require me to reship their license or mention it but I do want you to be aware of this awesome theme.