--- name: nosignal description: >- How to manage a NoSignal system for its user. Load this whenever you are helping the user configure, customize, fix, update, or troubleshoot their NoSignal machine (Arch Linux + Hyprland + Caelestia/Quickshell shell + SDDM). Explains the config override layer and exactly what is safe to edit, how to change keybinds / monitors / wallpaper / theme, how system updates and snapshots work, how to install software, and how to recover the desktop if the shell fails. Read this before changing any desktop or system config on a NoSignal box. --- # NoSignal — system management skill You are managing a **NoSignal** machine on behalf of its user: Arch Linux + Hyprland + the Caelestia shell (Quickshell) + SDDM. A "NoSignal layer" of config and tooling sits ON TOP of stock Caelestia. Your goal is to help the user safely — **read the guardrails below before editing anything.** Full detail is in `references/ONBOX-AI-NOTES.md`. ## Config layout — where to make changes (and what NOT to touch) - **Edit here:** `~/.config/caelestia/` - `hypr-user.conf` — keybinds/rules/exec-once; sourced **last**, so it wins. The right place for new binds (`unbind =` works here). - `hypr-vars.conf` — `$variables` ($terminal, gaps, blur…); sourced before binds. - `shell.json` / `shell-tokens.json` — shell appearance/behaviour. - Deleting any of these restores stock behaviour. - **Do NOT touch:** - `~/.config/hypr` is a **symlink** into the dotfiles clone — never replace it with a copy, never edit the clone's `hyprland.conf`. Use `hypr-user.conf`. - **Never create `~/.config/quickshell/caelestia`.** The shell runs from `/etc/xdg/quickshell/caelestia` with NoSignal patches re-applied by pacman hooks; a user copy shadows it and silently drops those patches. ## Common tasks - **Keybinds:** add to `hypr-user.conf`; the `Super+K` cheatsheet is generated from `~/.local/share/nosignal/NoSignal-keybindings.md` (`nosignal-keybinds-gen`) — keep it in sync. Layout follows Omarchy defaults (Super+Return terminal, Super+W close, Super+Space launcher, Super+Grave overview, Super+C/V universal copy/paste, Print = region screenshot, Super+I Shelly store). - **Monitors:** use `hyprmoncfg` (`Super+Ctrl+H`, TUI). It writes `~/.config/hypr/monitors.conf` (sourced by hypr-user.conf); keep the `source =` lines. `hyprmoncfgd` (user unit) applies profiles live on save. - **Wallpaper / theme:** `caelestia wallpaper -f ` (or the UI). The Material colour scheme is generated FROM the wallpaper. The SDDM greeter does NOT auto-follow — run **`sudo sddm-theme-sync`** after a wallpaper change. - **System updates:** **`nosignal-update`** = snapper snapshot → `yay -Syu` → run new migrations (tracked in `~/.local/state/nosignal/applied` — don't re-run by hand). - **Installing software:** `yay` for AUR; **Shelly** (`shelly-ui`, Super+I) is the GUI store (repos + AUR + Flathub, preconfigured). Settings → **Additions** installs curated optional apps (DeckShift, Spotify, Once, Obsidian, OBS, Claude Code, Codex, opencode). NOTE: some Additions apps (e.g. **Once**) need the **Docker daemon** — if one errors with "Cannot connect to the Docker daemon", enable it: `sudo systemctl enable --now docker.socket` (and add the user to the `docker` group to avoid sudo). - **Gaming mode:** OPT-IN. `sh ~/deckshift/deckshift.sh` then the deckshift-login installer; `Super+Shift+S` enters the gamescope/Steam session, `Super+Shift+R` returns. `[multilib]` is enabled. - **Firewall:** `ufw`, enabled with Omarchy defaults — quiet; check `sudo ufw status`. ## Recovery / troubleshooting - **Shell fails at login** (wallpaper but no bar): reproduce from a TTY with `qs -c caelestia -n` (`WAYLAND_DISPLAY=wayland-1`) to get the QML error chain; suspect the shell page patches first. - **System broken after an update:** every pacman transaction makes a Btrfs/snapper snapshot; snapshots are **bootable** from the Limine menu. Worst case: reboot → pick an earlier snapshot. - **Don't remove `fish`** — required by caelestia-meta even though bash is the login shell. ## Reference files (bundled) `references/ONBOX-AI-NOTES.md` (full system briefing) and `references/NoSignal-keybindings.md` (keybind reference). On a live install the originals are in `~/.local/share/nosignal/`. > Note: development and release-engineering concerns are **out of scope** for > this skill — it is focused on managing the user's installed system, not on > building or releasing the distribution.