gitmyhub

ly

Zig ★ 7.4k updated 1d ago

A lightweight TUI (ncurses-like) display manager for Linux and BSD (mirror of https://codeberg.org/fairyglade/ly).

Ly is a minimal text-based login screen for Linux and BSD systems written in Zig. It replaces graphical login managers with a lightweight terminal-style interface that works without systemd.

ZigPAMXCBX11Waylandsetup: moderatecomplexity 3/5

Ly is a display manager for Linux and BSD. A display manager is the login screen that appears when your computer boots, where you type your username and password and choose which desktop environment to start. Unlike most display managers, which are graphical applications with buttons and images, Ly uses a minimal text-based interface that looks similar to old-school terminal programs.

One of Ly's stated goals is portability: it does not require systemd to run. The README includes installation instructions for six different init systems including systemd, OpenRC, runit, s6, dinit, and sysvinit, as well as FreeBSD. This makes it appealing to users running more minimal Linux setups or BSD systems where systemd is not available.

Ly supports both X11 and Wayland desktop sessions, discovering them through standard .desktop files in the usual system directories. If a desktop environment is not showing up in the list, the README explains how to create a custom .desktop file for it. Arrow keys are used to navigate between fields at login, and F1 and F2 trigger shutdown and reboot.

Building Ly from source requires Zig 0.16.x (the Zig programming language that Ly is written in), plus system libraries for PAM (authentication) and optionally XCB for X11 support. Packages are available in the repositories of several Linux distributions so you can install it without building from source.

Configuration lives in /etc/ly/config.ini, which the README describes as fully commented with default values included. The project's primary development happens on Codeberg, with GitHub serving as a mirror. A Matrix chat room is available for community discussion.

Where it fits