NoSignal-OS/os updates/software-install/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

57 lines
2.5 KiB
Markdown
Executable file

# NoSignal — software installation
The base ships `pacman` only: no AUR helper and no GUI store, even though ~750
of the base packages come from the AUR. NoSignal gives users a complete way
to install software.
## The model
| Layer | Tool | Who it's for |
|-------|------|--------------|
| Plumbing | **yay** (AUR helper) | terminal users: `yay -S <pkg>`, `yay <search>`; also what `nosignal-update` uses for upgrades |
| App store | **Shelly** (`shelly-bin`) | everyone: GUI package manager on `Super+I` — official repos + AUR + Flathub + AppImage in one UI |
| Flatpak backend | **flatpak** + Flathub remote | sandboxed/proprietary desktop apps via Shelly's flatpak pages |
[Shelly](https://github.com/Seafoam-Labs/Shelly-ALPM) is a GTK4 package manager
built directly on libalpm (pacman's own library). CachyOS adopted it as their
default GUI package manager in April 2026. The `shelly-bin` AUR package
(maintained by the Shelly author) installs:
- `shelly-ui` — the GUI (what `Super+I` launches; also in the app launcher as "Shelly")
- `shelly` — the CLI
- `shelly-notifications` — tray service for update notifications (started via
`exec-once` in the appended Hyprland config)
## Files
| File | Role |
|------|------|
| `install-software-install.sh` | idempotent installer — bootstraps yay if missing, installs `shelly-bin` + `flatpak` + `archlinux-appstream-data`, adds the Flathub remote, appends the bind |
| `hyprland-software-install.conf` | `Super+I` bind + `shelly-notifications` autostart → appended to `~/.config/caelestia/hypr-user.conf` |
```sh
sh ~/Downloads/software-install/install-software-install.sh
```
Also wired into `nosignal-update` as migration `1781222400-software-install.sh`.
## Packaging
Bake the packages into the base instead of installing post-hoc:
- **Add to the package list:** `yay-bin` (or `yay`), `shelly-bin`, `flatpak`,
`archlinux-appstream-data`. This also satisfies the change-3 recommendation
("ship an AUR helper").
- **Preconfigure the Flathub remote** (`flatpak remote-add --if-not-exists
flathub https://dl.flathub.org/repo/flathub.flatpakrepo`) in the image build
or firstboot.
- The `Super+I` bind + notifier autostart land via `hypr-user.conf` like the
other NoSignal binds.
## Caveats
- Shelly is young (rapid 1.x → 2.x churn through 2026); pin `shelly-bin` updates
to `nosignal-update` runs like everything else. CachyOS shipping it as default
is a reasonable endorsement.
- `shelly-bin` lists `fish` as an optdepend for shell completions only — not a
reason to keep fish.