Files
karim 8fb8efcbbd packaging/iso: uninstall safety, fail-closed AUR updates, no sshd on live ISO
- tanin-greet.install: post_remove restores the previous greetd config —
  removing the package no longer leaves greetd pointing at a dead binary
- aur-autoupdate: skip packages when the AUR RPC is unreachable instead of
  building blind (fail closed)
- build-tanin-repo: per-package makepkg logs instead of >/dev/null
- live ISO: drop sshd.service enablement (root has an empty password on the
  live medium); encoded in bootstrap-profile.sh so it survives re-bootstrap
- gtklock config: de-personalize hardcoded /home/karim path, mark as
  not-yet-packaged reference
- tanin-desktop PKGBUILD: correct stale AUR-vs-extra comments (gtklock,
  awww, cliphist are in extra), document the eww-git provides=eww contract
- docs/distribution.md: mark SigLevel TrustAll as temporary/insecure, add
  repo-signing TODO (repo-add -s, SigLevel Required), tick done roadmap items
- tanin-calendar + niri-config.kdl: pending session work

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 21:22:20 +02:00
..

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)

./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)

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.