Fix: Known issues from the dotfiles documentation pass #8

Merged
thomas merged 13 commits from thomas/fixes/known_issues AGit into main 2026-10-22 08:29:48 +01:00
Owner

Fixes the problems found while documenting the dotfiles in Outline (see the Known Issues page). Most come from the Lua migration: Hyprland 0.55+ with hyprland.lua rejects the old hyprctl dispatch <name> and hyprctl keyword syntax.

Broken → fixed

  • Log out (bar power menu and swaync) used hyprctl dispatch exit → now hl.dsp.exit().
  • Wake after sleep in hypridle used dispatch dpms on → now hl.dsp.dpms({action = "on"}). Both forms are taken from Hyprland's own /usr/share/hypr/hypridle.conf and hyprland.lua.
  • Super+Alt+scroll zoom used hyprctl keyword ("keyword can't work with non-legacy parsers") → now hyprctl eval.
  • Touchpad toggle relied on $TOUCHPAD_ENABLED from the legacy Laptops.conf → now finds the touchpad in hyprctl devices and toggles it with hl.device() via eval. This also removes the hard-coded ASUS device name.
  • swaync power/lock buttons called Wlogout.sh and LockScreen.sh, which don't exist → rofi power menu / loginctl lock-session.
  • Super+S ran HyprMod from ~/hyprmod, which doesn't exist → /usr/bin/hyprmod.
  • Plexamp autostart pointed at /usr/bin/Plexamp.AppImage → plexamp (what plexamp-bin installs).
  • Super+Shift+A animation picker copied .conf files nothing loads → rewritten to switch presets/anim-*.lua by changing the single require() in appearance/animations.lua. The previous animation set is kept as presets/anim-hyprflux.lua (the default).
  • Super+V clipboard menu pointed at a missing rofi config → launcher type-4 theme.
  • Cursor: four different themes were named and none was installed → Bibata-Modern-Classic everywhere (env, GTK, gsettings, initial-boot), bibata-cursor-theme-bin added to packages.txt, and the unquoted gsettings call fixed.
  • hyprlock fonts: SF Pro Display was only in hypr/hyprlock/Fonts/ and invisible to fontconfig → moved to dotfiles/.local/share/fonts/ (stowed), and the font name corrected to JetBrainsMono Nerd Font. Dropped the bundled JetBrains copy, since ttf-jetbrains-mono-nerd provides it.

Fresh install

  • bootstrap.sh now clones oh-my-zsh and the zsh-autosuggestions / zsh-syntax-highlighting plugins. .zshrc sources them, and before this a new machine's first shell would print errors. It uses git clone, not the oh-my-zsh installer, which would write a template .zshrc that conflicts with stow.
  • ttf-cascadia-code-nerd (the Quickshell bar font) added to packages.txt.
  • bootstrap.sh and sync-dotfiles.sh create ~/.local/share/fonts before stowing (so stow links the files instead of folding the folder into the repo) and run fc-cache afterwards.

Tidy-up

  • NVIDIA env vars only apply when /proc/driver/nvidia/version exists (forcing LIBVA_DRIVER_NAME=nvidia breaks VA-API on the laptop). The duplicate QT_QPA_PLATFORMTHEME line is removed.
  • Refresh.sh (Super+Shift+R) no longer kills and relaunches Waybar. The Quickshell restart is now pkill -x qs; qs &, so it also starts qs when it isn't running.
  • Removed the special:nyx rule for Vesktop/Discord/Spotify; the later workspace-3 rule always won (verified: they open on 3).
  • README program list updated (Quickshell, oh-my-posh, Ghostty) with a link to the Outline docs; fastfetch config-v2 logo points at arch.png.
  • Removal: pre-Lua hyprland.conf, hyprland-gui.conf, UserConfigs/, colours/, animations/ (−2,500 lines; nothing loads them). This is a separate commit, easy to drop.

Tested on the desktop

  • Hyprland reloads with no config errors and all 116 binds load.
  • Zoom in/out tested (1 → 2 → 1).
  • A child process of the live session gets XCURSOR_THEME/HYPRCURSOR_THEME=Bibata-Modern-Classic, QT_QPA_PLATFORMTHEME=qt6ct, LIBVA_DRIVER_NAME=nvidia.
  • fc-list finds SF Pro Display after restow.
  • swaync config reloads; CheckQuickshellSetup.sh still 28 passed / 1 warning (Tailscale down, unrelated).
  • The animation picker's list and rewrite were tested without the rofi UI.
  • All scripts pass bash -n.

Not tried for real: clicking Log out, wake after suspend, the touchpad toggle (no touchpad on the desktop), and the rofi UIs for the picker and clipboard.

After merging

  • yay -S bibata-cursor-theme-bin, then log out and back in.
  • On the laptop: the next System Update pulls and restows this.

🤖 Generated with Claude Code

Fixes the problems found while documenting the dotfiles in Outline (see the [Known Issues](https://outline.twhomelab.co.uk/doc/known-issues-SAGdVszVQd) page). Most come from the Lua migration: Hyprland 0.55+ with `hyprland.lua` rejects the old `hyprctl dispatch <name>` and `hyprctl keyword` syntax. ## Broken → fixed - **Log out** (bar power menu and swaync) used `hyprctl dispatch exit` → now `hl.dsp.exit()`. - **Wake after sleep** in hypridle used `dispatch dpms on` → now `hl.dsp.dpms({action = "on"})`. Both forms are taken from Hyprland's own `/usr/share/hypr/hypridle.conf` and `hyprland.lua`. - **Super+Alt+scroll zoom** used `hyprctl keyword` ("keyword can't work with non-legacy parsers") → now `hyprctl eval`. - **Touchpad toggle** relied on `$TOUCHPAD_ENABLED` from the legacy `Laptops.conf` → now finds the touchpad in `hyprctl devices` and toggles it with `hl.device()` via eval. This also removes the hard-coded ASUS device name. - **swaync power/lock buttons** called `Wlogout.sh` and `LockScreen.sh`, which don't exist → rofi power menu / `loginctl lock-session`. - **Super+S** ran HyprMod from `~/hyprmod`, which doesn't exist → `/usr/bin/hyprmod`. - **Plexamp autostart** pointed at `/usr/bin/Plexamp.AppImage` → `plexamp` (what `plexamp-bin` installs). - **Super+Shift+A animation picker** copied `.conf` files nothing loads → rewritten to switch `presets/anim-*.lua` by changing the single `require()` in `appearance/animations.lua`. The previous animation set is kept as `presets/anim-hyprflux.lua` (the default). - **Super+V clipboard menu** pointed at a missing rofi config → launcher type-4 theme. - **Cursor:** four different themes were named and none was installed → Bibata-Modern-Classic everywhere (env, GTK, gsettings, initial-boot), `bibata-cursor-theme-bin` added to `packages.txt`, and the unquoted `gsettings` call fixed. - **hyprlock fonts:** SF Pro Display was only in `hypr/hyprlock/Fonts/` and invisible to fontconfig → moved to `dotfiles/.local/share/fonts/` (stowed), and the font name corrected to `JetBrainsMono Nerd Font`. Dropped the bundled JetBrains copy, since `ttf-jetbrains-mono-nerd` provides it. ## Fresh install - `bootstrap.sh` now clones oh-my-zsh and the `zsh-autosuggestions` / `zsh-syntax-highlighting` plugins. `.zshrc` sources them, and before this a new machine's first shell would print errors. It uses `git clone`, not the oh-my-zsh installer, which would write a template `.zshrc` that conflicts with stow. - `ttf-cascadia-code-nerd` (the Quickshell bar font) added to `packages.txt`. - `bootstrap.sh` and `sync-dotfiles.sh` create `~/.local/share/fonts` before stowing (so stow links the files instead of folding the folder into the repo) and run `fc-cache` afterwards. ## Tidy-up - NVIDIA env vars only apply when `/proc/driver/nvidia/version` exists (forcing `LIBVA_DRIVER_NAME=nvidia` breaks VA-API on the laptop). The duplicate `QT_QPA_PLATFORMTHEME` line is removed. - `Refresh.sh` (Super+Shift+R) no longer kills and relaunches Waybar. The Quickshell restart is now `pkill -x qs; qs &`, so it also starts qs when it isn't running. - Removed the `special:nyx` rule for Vesktop/Discord/Spotify; the later workspace-3 rule always won (verified: they open on 3). - README program list updated (Quickshell, oh-my-posh, Ghostty) with a link to the Outline docs; fastfetch `config-v2` logo points at `arch.png`. - **Removal:** pre-Lua `hyprland.conf`, `hyprland-gui.conf`, `UserConfigs/`, `colours/`, `animations/` (−2,500 lines; nothing loads them). This is a separate commit, easy to drop. ## Tested on the desktop - Hyprland reloads with no config errors and all 116 binds load. - Zoom in/out tested (1 → 2 → 1). - A child process of the live session gets `XCURSOR_THEME`/`HYPRCURSOR_THEME=Bibata-Modern-Classic`, `QT_QPA_PLATFORMTHEME=qt6ct`, `LIBVA_DRIVER_NAME=nvidia`. - `fc-list` finds SF Pro Display after restow. - swaync config reloads; `CheckQuickshellSetup.sh` still 28 passed / 1 warning (Tailscale down, unrelated). - The animation picker's list and rewrite were tested without the rofi UI. - All scripts pass `bash -n`. **Not tried for real:** clicking Log out, wake after suspend, the touchpad toggle (no touchpad on the desktop), and the rofi UIs for the picker and clipboard. ## After merging - `yay -S bibata-cursor-theme-bin`, then log out and back in. - On the laptop: the next System Update pulls and restows this. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
thomas added 13 commits 2026-10-22 08:28:32 +01:00
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hyprland.lua and its modules replaced all of these in the Lua migration;
nothing loads or reads them any more.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Author
Owner

Will keep

Reverting action is to revert Git merge

Will keep Reverting action is to revert Git merge
thomas merged commit 20873c1ca6 into main 2026-10-22 08:29:48 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: thomas/dotfiles#8