Initial commit — TANINUX (camel): management app + distro packaging

- app: GTK System Settings (tsettings) + Software Hub (thub) + TUI
- distro/: camel.toml manifest + MANIFEST.md (Arch + [tanin] repo model)
- packaging/: taninux, tanin-desktop (niri metapackage), tanin-greet,
  tanin-libadwaita, tanin-setup
- docs/, data/, LICENSE (GPL-3.0-or-later)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-18 20:18:30 +02:00
commit 10b88a67bc
167 changed files with 19624 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
# tanin-greet
TANINUX's custom **GTK4 greeter** for greetd. Built because ReGreet's layout is
fixed — this gives full control to match the design:
- a **black top bar** like the eww topbar (`TANINUX` · clock · power)
- a **wallpaper** background under a dark scrim
- **user + password** centered as pills (Fuji violet focus ring, Enter submits)
- the **session selector** tucked tiny in the **bottom-right corner**
It speaks the greetd IPC directly (create_session → auth → start_session) and is
hosted by `cage`.
## Files
- `tanin-greet``/usr/bin/tanin-greet` — the GTK4 app (PyGObject)
- `tanin-greet.css``/etc/greetd/tanin-greet.css` — the look (mirrors `eww.scss`)
- `config.toml``/etc/greetd/config.toml` — greetd; `cage -s -- tanin-greet`
- `dev/` → preview helper + greetd mock (not packaged)
## Preview (no logout, no real auth)
```sh
./dev/preview.sh # uses your current wallpaper path
./dev/preview.sh /path/to/wall.jpg
# screenshot lands at /tmp/tanin-greet.png ; override output with GREET_OUTPUT=HDMI-A-1
```
The greeter renders even without greetd; `dev/mockgreetd.py` provides a fake
socket so the password prompt and login flow work for a full dry-run.
## Env overrides (used by the preview)
- `TANIN_GREET_CSS` stylesheet path (default `/etc/greetd/tanin-greet.css`)
- `TANIN_GREET_BG` wallpaper path (default `/usr/share/backgrounds/tanin/login.jpg`)
- `TANIN_GREET_SESSIONS` sessions dir (default `/usr/share/wayland-sessions`)
- `TANIN_GREET_BRAND` top-bar text (default `TANINUX`)
## Install (on the distro)
```sh
makepkg -si
sudo systemctl enable greetd # disable any other DM first
```
Drop a login wallpaper at `/usr/share/backgrounds/tanin/login.jpg` (or ship a
`tanin-backgrounds` package). Without one, the greeter shows a dark scrim.
## Notes
- Sessions are read from `/usr/share/wayland-sessions/*.desktop`; Niri is the
default selection. Users are read from `/etc/passwd` (uid 100065533, real shell).
- Icons (`avatar-default-symbolic`, `system-shutdown-symbolic`) come from
`adwaita-icon-theme`.