From 71288e2126ed4233bb4f6f843a173f2a30a3b79e Mon Sep 17 00:00:00 2001 From: 28allday Date: Sat, 13 Jun 2026 20:55:11 +0100 Subject: [PATCH] =?UTF-8?q?packaging:=20DEV.md=20=E2=80=94=20dev=20workflo?= =?UTF-8?q?w=20+=20layout=20map=20for=20the=20fork?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- packaging/DEV.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 packaging/DEV.md diff --git a/packaging/DEV.md b/packaging/DEV.md new file mode 100644 index 00000000..3c5ca4f2 --- /dev/null +++ b/packaging/DEV.md @@ -0,0 +1,34 @@ +# nosignal-shell — dev notes + +NoSignal's fork of `caelestia-dots/shell`. We build this (package `nosignal-shell`, +`provides`/`conflicts` `caelestia-shell`) instead of the AUR `caelestia-shell`, so +the interface/layout is ours and pinned — `pacman -Syu`/`yay` never overwrites it. + +- **Branch:** `nosignal` (cut off the `v2.0.2` tag). `main` tracks upstream + (`git remote -v` → `upstream` = caelestia-dots/shell). Merge upstream into + `nosignal` deliberately when wanted. +- **Install path:** `/etc/xdg/quickshell/caelestia/` (namespace stays `caelestia` + so caelestia-cli + hypr binds + `~/.config/caelestia/` keep working). +- **Shipping work:** commit to `nosignal`, then bump `NOSIGNAL_SHELL_COMMIT` in + the NoSignal builder (`~/Projects/nosignal/nosignal.sh`) to the new tip + rebuild. + +## Live preview loop (edit on host → reload in a VM) +From the NoSignal builder repo: `./vm/run-dev.sh` (boots the installed disk with +this checkout shared over 9p). In the VM terminal (Super+Return): + +``` +curl -fsSL https://raw.githubusercontent.com/28allday/nosignal-shell/nosignal/packaging/dev-mount.sh -o /tmp/d.sh && sudo sh /tmp/d.sh +setsid sh /mnt/fork/packaging/dev-sync.sh >/dev/null 2>&1 & +pkill -9 quickshell; sleep 2; caelestia shell -d +``` + +Then edit `.qml` here on the host — the VM shell auto-reloads in ~2-6s. +(`dev-mount.sh` links the shell at a local copy of the fork; `dev-sync.sh` polls +the 9p mount into that local copy so quickshell's file-watcher fires — 9p itself +doesn't propagate inotify.) + +## Layout map +`modules/bar/` (bar) · `modules/dashboard/` · `modules/sidebar/` · +`modules/launcher/` · `modules/session/` · `modules/drawers/` (slide-in panels) · +`modules/lock/` · `modules/nexus/pages/` (Settings) · `modules/notifications/` · +`modules/osd/`. Entry point: `shell.qml`. The compiled engine is `plugin/` (C++).