A customizable TUI display/login manager written in Rust
A customizable TUI display/login manager written in Rust
Lemurs is a Terminal User Interface (TUI) Display/Login Managers written in Rust that works on most GNU/Linux and BSD distributions. It can work both with or without SystemD.
This project creates a small, robust and yet customizable Login Manager which can serve as the front-end to your TTY, X11 or Wayland sessions. Lemurs uses Pluggable Authentication Modules (PAM) as its method of authentication.
Installation follows three steps.
init process to run lemursLemurs can be installed from the extra repository.
sudo pacman -S lemurs
# Not needed if you don't have a window manager yet
sudo systemctl disable display-manager.service
sudo systemctl enable lemurs.serviceAlternatively, lemurs-git is available in the AUR.
The install.sh script can be used to compile and setup the display manager on
your Unix machine. This will perform multiple steps:
/etc/lemurs folder which contains some of the configuration and
necessary files such as your selection of window managers.Although you might first want to set up some window managers (see Usage), upon rebooting you should now see Lemurs.
After installation you can add your environments by creating runnable scripts.
For your Xorg put your xinitrc scripts
in the /etc/lemurs/wms directory. For Wayland, put a script that starts your
compositor in the /etc/lemurs/wayland directory. For both cases, the name of
the runnable script file is the name that is shown in the environment switcher
within lemurs. Multiple Xorg and Wayland environments can exist at the same time.
For the bspwm window manager, you might
add the script /etc/lemurs/wms/bspwm.
#! /bin/sh
sxhkd &
exec bspwmRemember to make this script runnable. This is done with the sudo chmod 755 /etc/lemurs/wms/bspwm command.
Upon rebooting your new bspwm should show up within Lemurs.
For the sway compositor and window manager, you might
add the script /etc/lemurs/wayland/sway. Ensure that you have sway installed
and added yourself to the seat group.
#! /bin/sh
exec swayRemember to make this script runnable. This is done with the sudo chmod 755 /etc/lemurs/wayland/sway command.
Upon rebooting your new sway should show up within Lemurs.
Configuration is done through a TOML file. By default, Lemurs searches for a
/etc/lemurs/config.toml file, but an alternative location can be specified
using the --config flag. The configuration type can
contain any subset of the available options. All the options and explanations
as to what they do can be found in the
extra/config.toml file. This file also serves as the
default configuration.
Additionally, there is the possibility of variables in the configuration file.
By default, Lemurs searches for a /etc/lemurs/variables.toml file, but an
alternative location can be specified using the `--variables
Ctrl + A: Go to the beginning of the focused input field
Tested on
build-essential and libpam-dev)pam and pam-devel)services.displayManager.lemurs.enable = true;)Lemurs has a Minimum Supported Rust Version policy of N - 2. This means that we only use Rust languages features that have been in Rust as of 2 releases.
The icon used at the top of the repository is not a logo and taken as an icon from the SVGRepo. It is marked under CC0 and therefore freely distributable and amendable under a new license.
The project is made available under the MIT and APACHE license. See the
LICENSE-MIT and LICENSE-APACHE files, respectively, for more information.
Please report any bugs and possible improvements as an issue within this repository. Pull requests are also welcome.
No open issues yet, or sync has not completed.