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>
83 lines
5 KiB
Text
83 lines
5 KiB
Text
# NoSignal: Omarchy default keybindings — unbinds + extra binds.
|
|
# Appended to ~/.config/caelestia/hypr-user.conf (parsed last, so unbind here
|
|
# removes binds defined earlier in keybinds.conf).
|
|
|
|
# Toggle group on Super+G (Omarchy). Super+G was GitHub Desktop (hardcoded),
|
|
# Super+Comma was toggle group — GitHub Desktop moves to Super+Shift+G.
|
|
unbind = Super, G
|
|
unbind = Super, Comma
|
|
bind = Super, G, togglegroup
|
|
bind = Super+Shift, G, exec, app2unit -- github-desktop
|
|
|
|
# Clear notifications on Super+Shift+Comma (Omarchy: dismiss all). That key
|
|
# was group-lock, which is dropped. Ctrl+Alt+C still works as an alias.
|
|
unbind = Super+Shift, Comma
|
|
bindl = Super+Shift, Comma, global, caelestia:clearNotifs
|
|
|
|
# Music on Super+Shift+M (Omarchy). The mute alias on that key is dropped —
|
|
# XF86AudioMute still mutes. Super+M also still toggles music.
|
|
unbind = Super+Shift, M
|
|
bind = Super+Shift, M, exec, caelestia toggle music
|
|
|
|
# Alt+Tab cycles windows (Omarchy); group cycling moved to Super+Alt+Tab.
|
|
bind = Alt, Tab, cyclenext,
|
|
bind = Alt, Tab, bringactivetotop,
|
|
bind = Shift+Alt, Tab, cyclenext, prev
|
|
bind = Shift+Alt, Tab, bringactivetotop,
|
|
|
|
# Workspace cycling on Super+Tab (Omarchy). The overview sidecar that lived
|
|
# on Super+Tab moves to Super+Grave (the installer edits that existing bind).
|
|
bind = Super, Tab, workspace, e+1
|
|
bind = Super+Shift, Tab, workspace, e-1
|
|
bind = Super+Ctrl, Tab, workspace, previous
|
|
|
|
# Move window to workspace 1-10 on Super+Shift+number (Omarchy). Bound by
|
|
# keycode, not keysym — the shifted number row produces symbols on the GB
|
|
# layout. The old Super+Alt+number binds keep working as aliases.
|
|
bind = Super+Shift, code:10, exec, $wsaction movetoworkspace 1
|
|
bind = Super+Shift, code:11, exec, $wsaction movetoworkspace 2
|
|
bind = Super+Shift, code:12, exec, $wsaction movetoworkspace 3
|
|
bind = Super+Shift, code:13, exec, $wsaction movetoworkspace 4
|
|
bind = Super+Shift, code:14, exec, $wsaction movetoworkspace 5
|
|
bind = Super+Shift, code:15, exec, $wsaction movetoworkspace 6
|
|
bind = Super+Shift, code:16, exec, $wsaction movetoworkspace 7
|
|
bind = Super+Shift, code:17, exec, $wsaction movetoworkspace 8
|
|
bind = Super+Shift, code:18, exec, $wsaction movetoworkspace 9
|
|
bind = Super+Shift, code:19, exec, $wsaction movetoworkspace 10
|
|
|
|
# Remaining Omarchy keys mapped onto their NoSignal equivalents.
|
|
bind = Super, P, pseudo, # Pseudo window
|
|
bind = Super, J, layoutmsg, togglesplit # Toggle window split (Hyprland 0.54+ needs layoutmsg)
|
|
bind = Super, Space, exec, qs -c caelestia ipc call drawers toggle launcher # Launch apps (Super-tap still works; exec form bypasses caelestia's launcherInterrupt)
|
|
bind = Super, K, exec, ~/.local/bin/nosignal-keybinds # Show key bindings
|
|
bind = Super+Shift, B, exec, app2unit -- $browser # Browser (Omarchy alias)
|
|
bind = Super+Ctrl, E, exec, pkill fuzzel || caelestia emoji -p # Emoji picker
|
|
bind = Super+Ctrl, V, exec, pkill fuzzel || caelestia clipboard # Clipboard manager
|
|
bind = Super+Ctrl, A, exec, app2unit -- pavucontrol # Audio controls
|
|
bind = Super+Ctrl, T, exec, caelestia toggle sysmon # Activity (system monitor)
|
|
bind = Super, Print, exec, hyprpicker -a # Color picker
|
|
bindl = Ctrl+Alt, Delete, global, caelestia:session # Session menu (old key kept as alias)
|
|
|
|
# Super+D toggles the dashboard (calendar + widgets), previously hover-only.
|
|
# Super+D was the communication special-workspace toggle ($kbCommunication) —
|
|
# moved to Super+Shift+D so nothing is lost.
|
|
unbind = Super, D
|
|
bind = Super, D, exec, qs -c caelestia ipc call drawers toggle dashboard # Dashboard / calendar
|
|
bind = Super+Shift, D, exec, caelestia toggle communication # Communication workspace (moved from Super+D)
|
|
|
|
# Gaming Mode on Super+Shift+S — enters the DeckShift gamescope session IF it is
|
|
# installed; otherwise does NOTHING. Self-guards on the gaming session file +
|
|
# switch-to-gaming helper (DeckShift's opt-in install provides both), so the key
|
|
# is safe to bind unconditionally in the base. Replaces caelestia's Super+Shift+S
|
|
# screenshot-freeze — region shots stay on Print / Shift+Print / Super+Shift+Alt+S.
|
|
# Exit Gaming Mode from inside the session (Super+Shift+R, or Steam > Exit to Desktop).
|
|
unbind = Super+Shift, S
|
|
bind = Super+Shift, S, exec, sh -c '[ -x /usr/local/bin/switch-to-gaming ] && [ -f /usr/share/wayland-sessions/gamescope-session-steam-nm.desktop ] && exec /usr/local/bin/switch-to-gaming'
|
|
|
|
# Robust shell restart (see component shell-restart-fix). Stock caelestia binds
|
|
# Ctrl+Super+Alt+R to `qs -c caelestia kill; sleep .1; caelestia shell -d` — the
|
|
# fixed 100ms sleep often relaunches before the old instance releases its single-
|
|
# instance lock, so the shell doesn't fully come back. Wait until the old instance
|
|
# stops answering IPC (it's gone), up to ~5s, then relaunch detached.
|
|
unbind = Ctrl+Super+Alt, R
|
|
bindr = Ctrl+Super+Alt, R, exec, sh -c 'qs -c caelestia kill 2>/dev/null; for i in $(seq 1 50); do qs -c caelestia ipc show >/dev/null 2>&1 || break; sleep 0.1; done; setsid caelestia shell -d'
|