Personal Hyprland configuration with a split, layered conf.d setup, some theming, and a small Rust TUI to quickly pick a config file to edit. This repo is shared as a reference; feel free to copy bits as I did from others, but there’s no turnkey installer yet and much of the config is quite niche and/or opinionated.
hyprland.conf— top-level compositor config; defines$confDirand$scrPath, and sourcesconf.d/*.conf.conf.d/— numbered includes by topic to keep things sane and mergeable:00-env.conf(env + compositor hints)05-exec.conf(autostart services; eww, portal reset, cliphist, hyprpaper)10-input.conf,20-layout.conf,30-render.conf40-workspaces.conf,50-misc.conf,55-animations.conf60-windowrules.conf,70-binds.conf,80-monitors.conf90-theme.conf(sourcesthemes/),91-plugins.conf,92-userprefs.conf99-overrides.conf(local drop-ins)
hyprpaper.conf,hypridle.conf,hyprlock.conf— utility daemons and lockscreen config.themes/—common.conf,colors.conf,theme.conf(sourced viaconf.d/90-theme.conf).plugins/— optional Hyprland plugin configs (e.g. hyprscrolling, hyprwinwrap); toggled viahyprpm.hyprconf/— Rust TUI used to search/pick a config file to edit (see below).
- Single entrypoint:
hyprland.confsources numberedconf.dfiles to keep scope small and changes conflict-free. - The
90-theme.confgroups theme files (themes/common.conf,themes/colors.conf,themes/theme.conf). 91-plugins.confcontains disabled-by-default sources; enable withhyprpmand/or toggle thesourcelines.92-userprefs.confis the “personal sandbox” for bindings/layout tweaks that aren’t broadly useful.95-nvidia.conf/99-overrides.confare for machine-specific or vendor-specific overrides.- Utilities (
hyprpaper,hypridle,hyprlock) are isolated in their own files for clarity.
hyprconf is a small TUI to skim-search config files and open one in your editor.
- Scans:
hyprland.conf, utilities (hyprpaper,hyprlock,hypridle),conf.d/*.conf,themes/*.conf,plugins/*.conf, and executablescripts/*. - Displays a colored list with category, alias, and an optional description (first comment line).
- Opens the selected file in
$EDITOR(fallback:hx).
Build and run:
cd hyprconf
cargo build --release
# or
cargo run -- --helpExamples:
# use default root (~/.config/hypr)
hyprconf
# filter to conf.d and open with nvim
hyprconf --category conf-d --editor nvim
# set an explicit root
hyprconf --root ~/.config/hyprFlags worth knowing:
--root DIRto override config root (defaults to$XDG_CONFIG_HOME/hypror~/.config/hypr).--category {hyprland,utility,themes,plugins,conf-d,scripts}to pre-filter.--editor CMDto choose editor; or set$EDITOR.--color SPECto set skim theme (e.g.dark,light, or a custom spec).--no-seg-colorsto disable per-line segment coloring.
- Drop this directory at
~/.config/hypr(or pointhyprconf --rootat it). - Review
conf.d/05-exec.conffor autostarts and make sure the tools exist in your system:eww,cliphist,hyprpaper,hyprpm,udiskie,wl-paste, andxdg-desktop-portal-*.
- Update monitor names and wallpapers in
hyprpaper.confandconf.d/80-monitors.confto match your setup. - Optionally toggle plugins in
plugins/viahyprpmandconf.d/91-plugins.conf.
- This is a personal repo: no install script, no guarantees. Expect to customize.
- Some pieces are rough or tailored to my hardware (monitor names, fonts, themes).
- Plugins are optional; comment/uncomment
sourcelines and runhyprpmaccordingly. - I will likely add a Nix module and bootstrap script in the future.
- PRs/issues are welcome, but this repo isn't currently intended for general use.