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:
@@ -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 1000–65533, real shell).
|
||||
- Icons (`avatar-default-symbolic`, `system-shutdown-symbolic`) come from
|
||||
`adwaita-icon-theme`.
|
||||
Reference in New Issue
Block a user