Dotfiles
Personal Linux desktop configuration managed as code.
Problem
A desktop setup grows slowly: window manager config, launcher scripts, notification styling, terminal defaults, browser and application defaults, package lists, notes, status modules, and recovery steps. Without a source of truth, each rebuild depends on memory and drift.
Approach
The dotfiles repo uses GNU Stow to manage configuration from ~/.dots into the home directory. The init.sh workflow bootstraps Debian and Ubuntu systems, installs available desktop and development packages, configures i3 and Xorg support, Flathub, themes, application defaults, and power policies, refreshes local tools, and restows the managed files.
The current i3 setup includes native and Flatpak launchers, a control center, searchable keybinding help, a scratchpad terminal, Markdown notes, media and radio controls, a clickable i3blocks status bar, dunst notifications, CopyQ, a portable Firefox launcher, screenshots, a wallpaper picker, lid-aware monitor layout and scaling, keyboard, Bluetooth, audio, and network helpers, power and battery policies, and Catppuccin Frappe theming.
Result
The repo turns the workstation into a repeatable system instead of an accumulation of undocumented tweaks. Bindings live in the cheat sheet, restore steps live in RESTORE.md, the backup helper checks for accidental secrets before committing or pushing, and local-only credentials or station lists stay out of the repository.