Repository navigation
Releases
Releases · AuthenticSm1les/hyprlogin
v0.4.0
Breaking changes
- The in-greeter PAM and fingerprint backends are gone. greetd already runs PAM, so all authentication now goes through greetd. For fingerprint login, add
auth sufficient pam_fprintd.soto/etc/pam.d/greetd. Removed with them: theauth:*options and the$PAMFAIL,$PAMPROMPT,$FPRINTFAIL,$FPRINTPROMPT,$USERand$DESClabel variables. Thepamandsdbus-c++dependencies are dropped too. general:debug_modeandgeneral:debug_log_pathare replaced by command-line flags. The flags take effect before the config is parsed, so config errors now reach the debug log:-d/--debug(orHYPRLOGIN_DEBUG=1) turns on debug logging and logs to/var/cache/hyprlogin/debug.log.--log-file <path>(orHYPRLOGIN_LOG_FILE) writes the log to a different file.- The environment variables can go in greetd's
command, so you don't have to edithyprland-greeter.lua.
- The greeter no longer runs with
--verbose. It logged every frame into greetd's journal.
Removed options in an existing config are reported as config errors, and the greeter starts anyway.
New
- Remembers the last user and session, like tuigreet does. On by default:
sessions:remember_user,sessions:remember_sessionandsessions:remember_dir. The cache directory is created by the package'stmpfiles.dentry. - Nix flake with a package, an overlay and a NixOS module (
programs.hyprlogin).
Fixes
- The password never appears in the debug log, and neither does its length.
- The debug log file is created with mode 0600 and doesn't follow symlinks. Lines are written unbuffered, so a crash doesn't lose them.
XDG_CURRENT_DESKTOPis set correctly for sessions with severalDesktopNames(#17, thanks @prismaticbridge).- Logging in before the session lock is active no longer leaves the greeter stuck (#15, thanks @manumuxoz).
- The binary is rebuilt against
libhyprgraphics.so.5(#16). - A warning is logged when a background or image isn't readable by the greeter user.
- Fixed the
exit_commandsyntax in the example config. - Upstream hyprlock fixes: auth now starts only once the session lock is acquired (hyprwm/hyprlock#1091), and a failure message stays until the next key press (hyprwm/hyprlock#1084).
Prebuilt binary
Built on Arch Linux for x86_64, against hyprlang (.so.2), hyprutils (.so.13) and hyprgraphics (.so.5).
-
hyprlogin-0.4.0-x86_64.tar.gzhas the binary, the configs and thetmpfiles.dentry:sudo tar -xzf hyprlogin-0.4.0-x86_64.tar.gz -C / sudo systemd-tmpfiles --create hyprlogin.conf
-
hyprloginis the bare stripped binary.
SHA256SUMS has the checksums for both files.
v0.3.0
What's changed
- Fixed slow login:
exit_commandnow works on the Lua-config greeter (hyprctl eval 'hl.dispatch(hl.dsp.exit())'), eliminating the ~5s greetd timeout wait. - Synced 13 upstream hyprlock fixes: EGL/rendering, animation, config parsing, PAM (deadlock, fprintd, conversation), lock-surface, cmake libpam.
- Removed lock-screen-only code: screencopy + dmabuf/GBM, grace period, SIGUSR1 external-unlock.
- Documentation:
HYPRLOCK-DIVERGENCE.mdso future upstream ports don't reintroduce removed subsystems.
Binary
Pre-built hyprlogin (x86_64, stripped). Install with:
sudo install -Dm755 hyprlogin /usr/bin/hyprloginv0.2.0
What Changed
- Crash fix: Added
hide_when_emptyto label config values map (was missing, caused RASSERT abort on startup) - New feature:
hide_when_emptyconfig option for labels - $GREETD_USER improvement: Clears entire format string when no username set
- Greet label: Enabled by default in example.conf with
font_size = 16andhide_when_empty = true - Debug logging: Added formatString logging for easier diagnosis
v0.1.0
What changed
- Dead code removal (15+ files cleaned)
- Bug fix: isExecutableCommand() infinite loop with env-var prefixes
- Bug fix: updatePlaceholder $FAIL mutation corrupting placeholder text after failed login
- Bug fix: redundant updatePlaceholder calls (~50/sec → 2 per session)
- Bug fix: layout label overlap (250px → 25%)
- Global debug logging via Log::CLogger::debug()
- 9 test suites with 191 tests
- Created src/helpers/Box.hpp wrapper
Full changelog: d229ed6...5ca0998