NoSignal-OS/os updates/cheatsheet-keymap-path/README.md
28allday 19fd794b6b NoSignal — fully-offline Arch → Hyprland desktop installer
Single-script builder (nosignal.sh) that turns a stock Arch Linux ISO into a
fully-offline installer for a themed Hyprland + caelestia (Quickshell) desktop:
matching SDDM greeter, Btrfs/Limine bootable snapshots, chwd-style GPU
detection, and a curated "os updates" layer (keybind cheatsheet, settings
panels, system polish, on-box management skill). See README.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 11:03:10 +01:00

1.9 KiB
Executable file

cheatsheet-keymap-path

User-level, no root.

Symptom / risk

The Super+K cheatsheet is generated by nosignal-keybinds-gen from the keymap markdown. Its source-resolution order is:

$1 arg  →  $NOSIGNAL_KEYMAP_MD  →  $HOME/Downloads/NoSignal-keybindings.md
                                 →  $HOME/.local/share/nosignal/NoSignal-keybindings.md

~/Downloads is checked before the canonical layer copy. Today that copy is absent so it falls through and works — but any stale NoSignal-keybindings.md left in ~/Downloads (a common scratch location) would silently shadow the real keymap, so the cheatsheet would show wrong/old keys. The nosignal-keybinds header comment also still says the doc lives in ~/Downloads.

Fix

  • nosignal-keybinds-gen: drop the ~/Downloads candidate so the canonical ~/.local/share/nosignal/NoSignal-keybindings.md is the only implicit source. The explicit $1 arg and $NOSIGNAL_KEYMAP_MD override are kept for dev use.
  • nosignal-keybinds: correct the header comment to point at the canonical path.

fix-cheatsheet-keymap-path.sh patches the on-system scripts idempotently (awk for the candidate line + a sanity sh -n before saving; sed for the comment), then refreshes the cached keybinds.list. No-op if already fixed.

Builder integration

Make the canonical change in the layer's nosignal-keybinds-gen and nosignal-keybinds sources directly; this component is the equivalent patch for an already-installed system.

Verify

grep -n 'NoSignal-keybindings.md' "$(readlink -f "$(command -v nosignal-keybinds-gen)")"
# only the ~/.local/share/nosignal path should remain (no ~/Downloads)
nosignal-keybinds-gen | head -3        # still generates the keymap

Files

  • fix-cheatsheet-keymap-path.sh — idempotent patcher.
  • migrations/1781445600-cheatsheet-keymap-path.sh — delegates to it.