Jeena's opinionated Hyprland setup with helper scripts
Find a file
Jeena c8f642d392 whisrs: type dictation with no inter-key delay
Batch emission means the whole text is injected right after the key
is released, when the target TUI is idle, and zero delay landed every
character in testing (2ms was whisrs's default, 10ms my earlier
anti-drop experiment — both just made the text trickle out slowly for
no benefit here).
2026-09-18 06:57:49 +09:00
fcitx5 fcitx5: Commit config normalized to defaults 2026-09-18 05:01:27 +09:00
helix helix: Wrap markdown files at 80 characters 2026-03-19 14:13:17 +09:00
hypr hypr: make Calc the single hold-to-talk key on rutherford 2026-09-18 06:54:48 +09:00
kitty kitty: Fix OpenCode middle mouse to paste 2026-03-19 14:14:25 +09:00
screenshots Rename wlogout and add comments to screenshots in readme 2025-09-02 10:53:50 +09:00
systemd/user Add systemd timers to auto-mute/unmute when idle-inhibit is active 2026-04-11 14:41:24 +00:00
tofi first commit 2025-08-28 11:23:01 +09:00
waybar fix: remove hardcoded TypeMatrix keyboard name so language widget works on all hosts 2026-05-09 02:27:37 +00:00
whisrs whisrs: type dictation with no inter-key delay 2026-09-18 06:57:49 +09:00
wlogout Add aditional explanation to wlogout 2026-01-18 15:43:51 +09:00
.gitignore chore: track all hypr/hosts files (remove host gitignore) 2026-08-24 10:15:06 +09:00
LICENSE first commit 2025-08-28 11:23:01 +09:00
README.md docs: rutherford dictates on the RTX 3060 via cuda 2026-09-18 06:17:36 +09:00

Jeena's Hyprland setup

This git repo hosts all the dotfiles I need for my hyprland setup. You can use it to learn and to copy from it, but you probably don't want to just use it as it is because it's very opinionated and hard coded.

Introduction Video

Jeena's Hyprland Demo

Screenshots

Hyprlock lockscreen with custom font and showing keyboard layout

Empty hyprland screen

Firefox and Kitty side by side, no margin on the outside

If only one window is visible, border is removed

Tofi as app menu

nmtui to edit network and tofi to choose I/O audio devices

wlogout menu

Install

You need to clone this git repository to your computer, let's assume you do:

mkdir -p ~/Projects/
cd ~/Projects/
git clone https://git.jeena.net/jeena/hypr-dotfiles.git

The next step is to set up a hostname config where you can overwrite hyprland configs for a specific host:

cd ~/Projects/hypr-dotfiles/hypr/hosts/
touch $(hostname).conf
ln -s $(hostname).conf host.conf

Then you need to soft link the directories in this git repo to the ~/.config/ directory, make sure that those directories don't exist yet in your ~/.config, you will need to delete or move them before. In our example it would be:

cd ~/.config
ln -s ~/Projects/hypr-dotfiles/hypr hypr
ln -s ~/Projects/hypr-dotfiles/waybar waybar
ln -s ~/Projects/hypr-dotfiles/tofi tofi
ln -s ~/Projects/hypr-dotfiles/wlogout wlogout
ln -s ~/Projects/hypr-dotfiles/kitty kitty
ln -s ~/Projects/hypr-dotfiles/helix helix
ln -s ~/Projects/hypr-dotfiles/fcitx5 fcitx5
ln -s ~/Projects/hypr-dotfiles/whisrs whisrs

To enable the auto-mute/unmute timers (mutes at 21:00, unmutes at 07:00, only when idle-inhibit is active), link the systemd user units:

systemctl --user link ~/Projects/hypr-dotfiles/systemd/user/auto-mute.service
systemctl --user link ~/Projects/hypr-dotfiles/systemd/user/auto-mute.timer
systemctl --user link ~/Projects/hypr-dotfiles/systemd/user/auto-unmute.service
systemctl --user link ~/Projects/hypr-dotfiles/systemd/user/auto-unmute.timer
systemctl --user enable --now auto-mute.timer auto-unmute.timer

You also need to install all the dependencies:

  • hyprland
  • hypridle
  • hyprlock
  • wlogout
  • tofi
  • waybar
  • swaybg
  • nmtui
  • kitty
  • python3
  • Curved Square font https://www.1001freefonts.com/curved-square.font
  • FontAwesome
  • ttf-jetbrains-mono-nerd (required for waybar icons)
  • xdg-desktop-portal-hyprland
  • xdg-desktop-portal-gtk
  • uwsm (recommended; log in via the "Hyprland (uwsm-managed)" session so systemd starts the portals before the autostart apps — otherwise apps like waybar and chromium intermittently come up in light mode. Without uwsm the portal startup script falls back to launching the portals manually.)
  • fcitx5
  • fcitx5-hangul
  • pipewire-alsa (whisrs captures audio via raw ALSA; without it the default PCM is the headset-jack mic, which is silent when nothing is plugged in)
  • a GPU driver with its toolkit: vulkan-intel + vulkan-icd-loader on the laptop's iGPU, cuda + nvidia on rutherford's RTX 3060
  • whisrs (hold-to-talk voice dictation on SUPER+SHIFT+F23, which is what the Copilot key on newer laptops sends, on AltGr on rutherford; on Arch install whisrs-git from the AUR). Rebuild it locally with -march=native and a GPU cargo feature (vulkan or cuda — see the GPU feature you have), otherwise decoding is slow; the rebuild tooling lives in ~/Projects/whisrs-local-build and takes the feature as its argument

There are probably more, I will update the list next time I'm installing it on a new computer.

License

All scripts here are under the GPL-v3 or a later version.