Introduction
What is tadaima?
Section titled “What is tadaima?”tadaima is a greetd greeter library for AGS / GJS.
It handles the hard parts of building a login screen:
- Authentication — communicates with greetd via the greetd-ipc(7) protocol (JSON over Unix socket)
- Session discovery — reads
.desktopfiles from standard XDG directories - State caching — remembers the last authenticated user and session
You bring the UI — use any GTK4 widget to design your login screen.
Why tadaima?
Section titled “Why tadaima?”- No Astal Greet dependency — tadaima implements the greetd IPC protocol directly, removing the need for
gi://AstalGreet - TypeScript first — full type safety with JSDoc documentation
- Framework agnostic — works with AGS/Gnim JSX, but the library itself has no UI opinions
- Distro agnostic — works on NixOS, Arch-based distributions, and any system with greetd
Architecture
Section titled “Architecture”The greeter runs inside cage, a minimal Wayland kiosk compositor:
greetd → dbus-run-session → cage → your greeter binary- cage automatically fullscreens your application
- dbus-run-session provides a D-Bus session bus for the greeter process
- greetd manages authentication via PAM and session lifecycle