README.md

This commit is contained in:
wfalkowski committed 2026-10-15 21:36:08 +00:00
1 parent dbe9df5e12
commit b1f7165880
1 file changed
+16 -23
+16 -23
View File
@@ -1,44 +1,37 @@
# Gentoo Hyprland dotfiles
# Gentoo / Hyprland
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.
The configs I use on my Gentoo machine. Hyprland runs the session; Quickshell supplies the bar and desktop controls. The look is deliberately plain: near-black surfaces, a muted blue accent, small gaps, and Maple Mono in the terminal.
![Desktop with the Quickshell side bar and media notification](screenshots/desktop.png)
## What’s in the repo
## Configs
| Path | What it configures |
| Directory | Contents |
| --- | --- |
| `.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 |
| `.config/hypr/` | Hyprland Lua config, key bindings, layout, animations, startup, and wallpaper settings |
| `.config/quickshell/` | Bar, launcher, wallpaper picker, tray, status panels, and power menu |
| `.config/foot/` | Foot terminal settings and color palette |
| `.config/fish/` | Interactive shell defaults and aliases |
| `.config/fastfetch/` | Fastfetch module layout |
## The desktop
## Session details
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.
Hyprland uses the dwindle layout with 5 px inner gaps, 10 px outer gaps, and a one-pixel border. `SUPER+E` launches Foot, `SUPER+D` opens the launcher, and `SUPER+P` opens the wallpaper picker. Media keys control playback, volume, and brightness; Print takes a full screenshot, while Shift+Print starts a region capture.
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.
The Quickshell bar sits on the left. Its panels cover audio devices and playback, Wi-Fi, Bluetooth, battery, brightness, night light, and the system tray. There’s also a calendar, wallpaper browser, and power menu. The same palette appears in Foot and the Quickshell panels.
![Battery and brightness panel](screenshots/battery-panel.png)
![Audio devices and volume controls](screenshots/audio-panel.png)
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.
Foot uses Maple Mono at 9 pt, 14 px padding, and 10,000 lines of scrollback. Fish starts without a greeting; Fastfetch provides the machine summary when run from the terminal.
![Volume on-screen display](screenshots/volume-osd.png)
## 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`, and `wl-clip-persist`
Gentoo Linux, Hyprland, Quickshell, Fish, Foot, Fastfetch, and Hyprpaper make up the session. Quickshell talks to PipeWire through `pactl` and its PipeWire module; NetworkManager and BlueZ provide network and Bluetooth control. Other commands used by the configs include `playerctl`, `wpctl`, `brightnessctl`, `hyprsunset`, `grim`, `slurp`, and `wl-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.
## Adapting it
## 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.
This isn’t a portable installer. The wallpaper picker expects `~/Pictures/Wallpapers`, and wallpaper changes call `~/.local/bin/wallpaper-set`. The config also names the `KVJ` GTK theme and Bibata Modern Classic cursor, and invokes `doas` for power and WireGuard actions. Check those paths, programs, and privileges before copying the files to another machine.