Gentoo Hyprland dotfiles
My desktop setup lives here: a mostly keyboard-driven Hyprland session, a narrow Quickshell bar down the left edge, and a restrained charcoal palette with steel-blue accents. The configs are tuned to my machine, so expect to adjust paths and hardware-specific bits before using them elsewhere.
What’s in the repo
| Path | What it configures |
|---|---|
.config/hypr/ |
Hyprland layout, animations, key bindings, monitor defaults, and startup commands |
.config/quickshell/ |
The bar, app launcher, wallpaper picker, system tray, quick settings, and power menu |
.config/foot/ |
Foot terminal font, spacing, scrollback, key bindings, and matching colors |
.config/fish/ |
Interactive shell defaults, including a quiet greeting and vim alias |
.config/fastfetch/ |
System summary shown in the terminal |
The desktop
Hyprland uses a compact dwindle layout, small gaps, subtle borders, and short window animations. SUPER+E opens Foot, SUPER+D opens the Quickshell launcher, and SUPER+P opens the wallpaper picker. The config also binds workspace navigation, media keys, volume, brightness, screenshots, and power actions.
Quickshell handles the things I want at a glance or one click away: workspace and status indicators, audio and media controls, Wi-Fi and Bluetooth, battery and brightness, night light, calendar, tray menus, and power controls. Its panels share Foot’s dark colors, with blue for focus and olive green for battery status.
Foot uses Maple Mono at 9 pt, 14 px padding, and a 10,000-line scrollback. The palette carries through to Quickshell; Fish keeps startup quiet, while Fastfetch prints the system summary when I need it.
Software
- Session and shell: Gentoo Linux, Hyprland, Quickshell, Fish
- Terminal and system display: Foot, Fastfetch
- Desktop services: Hyprpaper, PipeWire, NetworkManager, BlueZ
- Controls and utilities:
pactl,wpctl,playerctl,brightnessctl,hyprsunset,nmcli,bluetoothctl,grim,slurp, andwl-clip-persist
The config expects Maple Mono, the Bibata Modern Classic cursor, and a GTK theme named KVJ. It also calls ~/.local/bin/wallpaper-set and looks for wallpapers in ~/Pictures/Wallpapers; those aren’t included here. Some actions use doas, so review those commands and your doas rules before enabling them.
Using these files
Clone the repo and copy the .config directories you want into your home directory. There’s no install script; check the paths and commands in hyprland.lua and shell.qml first, since several are specific to my setup.
Keep API keys, passwords, private keys, and machine-specific secrets out of the repo. Store those in a local, untracked file or a password manager.



