Beta
gardm
Display Manager
A system-level display manager with a graphical greeter. gardm manages user login sessions with a clean, modern interface and seamless integration with the gar desktop.
gardm screenshot 1200 × 700
Features
- Graphical greeter with modern UI
- PAM-based authentication
- Session selection (X11 and Wayland)
- Multi-user support
- Auto-login capability
- Systemd service integration
- Configurable theming
- User avatar support
- Last session memory
- Accessible design
Installation
$
curl -fsSL https://gar.dev/install.sh | bash -s -- --component=gardm Or use the universal installer to install all components.
Configuration
config.toml
# /etc/gardm/config.toml
[general]
# Default session to launch
default_session = "gar"
# Auto-login (use with caution)
auto_login = false
auto_login_user = ""
[greeter]
# Background image
background = "/usr/share/gardm/backgrounds/default.png"
# Theme colors
background_color = "#14171e"
foreground_color = "#abb2bf"
accent_color = "#61afef"
# Font settings
font = "Inter"
font_size = 14
[sessions]
# Session directories to scan
dirs = [
"/usr/share/xsessions",
"/usr/share/wayland-sessions"
]
[security]
# Minimum UID to display
min_uid = 1000
# Maximum UID to display
max_uid = 65534
# Hide users matching these shells
hide_shells = ["/usr/sbin/nologin", "/bin/false"] Architecture
gardm consists of two components:
gardmd
The daemon process that runs as root, managing X server startup, user sessions, and authentication.
gardm-greeter
The graphical login interface that runs as a dedicated user, communicating with the daemon via IPC.
Installation
Note: gardm requires system-wide installation and root privileges. Test in a VM or with TTY backup access.
After installation, enable gardm as your display manager:
$ sudo systemctl disable gdm sddm lightdm # Disable current DM
$ sudo systemctl enable gardm
$ sudo reboot
Files
- /usr/bin/gardmd Display manager daemon
- /usr/bin/gardm-greeter Graphical greeter
- /etc/gardm/config.toml Configuration file
- /etc/pam.d/gardm PAM configuration
- /usr/lib/systemd/system/gardm.service Systemd service