2021-12-28 22:09:22 +00:00
|
|
|
<div align="center">
|
|
|
|
|
2021-12-28 22:10:56 +00:00
|
|
|
# Lemurs 🐒
|
2021-12-28 22:09:22 +00:00
|
|
|
A TUI Display/Login Manager written in Rust
|
|
|
|
|
2021-12-28 21:56:14 +00:00
|
|
|
</div>
|
|
|
|
|
2021-12-31 18:48:24 +00:00
|
|
|
![Cover image](./cover.png)
|
|
|
|
|
|
|
|
**WIP: Whilst the project is working and installable, there are still a lot of
|
|
|
|
bugs and limitations.**
|
2021-12-28 21:56:14 +00:00
|
|
|
|
|
|
|
A minimal lightweight TUI [Display Manager/Login
|
|
|
|
Manager](https://wiki.archlinux.org/title/Display_manager) written in Rust
|
2021-12-28 22:18:22 +00:00
|
|
|
similar to [Ly](https://github.com/nullgemm/ly).
|
|
|
|
|
|
|
|
## Goal
|
|
|
|
|
2021-12-31 19:05:45 +00:00
|
|
|
The goal of this project is to create a small, robust and yet customizable
|
2021-12-28 22:18:22 +00:00
|
|
|
Login Manager which can serve as the front-end to your graphical GNU/Linux
|
|
|
|
or BSD environment. Lemurs uses Linux PAM as its method of authentication.
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
2021-12-31 19:02:53 +00:00
|
|
|
The `install.sh` script can be used to compile and setup the display manager on
|
|
|
|
your Unix machine. This will perform multiple steps:
|
|
|
|
|
|
|
|
1. Build the project in release mode (requires Rust's *cargo*)
|
|
|
|
2. Setup the `/etc/lemurs` folder which contains some of the configuration and
|
|
|
|
necessary files such as your selection of window managers.
|
|
|
|
3. Disables the previous Display Manager
|
|
|
|
4. Copy over the *systemd* service and enables it.
|
2021-12-31 19:05:45 +00:00
|
|
|
|
2021-12-31 19:13:23 +00:00
|
|
|
Although you might first want to set up some window managers (see
|
|
|
|
[Usage](#Usage)), upon rebooting you should now see Lemurs.
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
After running the installation script you can add your window managers by
|
|
|
|
creating runnable scripts also known as
|
|
|
|
[xinitrc](https://wiki.archlinux.org/title/Xinit)s under the `/etc/lemurs/wms`
|
|
|
|
folders. The name of the script is used as the name within lemurs. For example,
|
|
|
|
for the [bspwm](https://github.com/baskerville/bspwm) window manager, you might
|
|
|
|
add the script `/etc/lemurs/wms/bspwm`.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
#! /bin/sh
|
|
|
|
|
|
|
|
sxhkd &
|
|
|
|
exec bspwm
|
|
|
|
```
|
|
|
|
|
|
|
|
Remember to make this script runnable. This is done with the `chmod +x
|
|
|
|
/etc/lemurs/wms/bspwm` command.
|
|
|
|
|
|
|
|
Upon rebooting your new *xinitrc* should show up within Lemurs.
|
|
|
|
|
2022-01-05 18:58:43 +00:00
|
|
|
## configuration
|
|
|
|
|
|
|
|
Many parts for the UI can be configured with the `/etc/lemurs/config.toml`
|
|
|
|
file. This file contains all the options and explainations of their purpose.
|
|
|
|
The flag `--config <CONFIG FIlE>` can be used to select another configuration
|
|
|
|
file instead. An example configuration can be found in the `/extra` folder.
|
|
|
|
|
2021-12-31 19:05:45 +00:00
|
|
|
## License
|
|
|
|
|
|
|
|
The project is made available under the MIT and APACHE license. See the
|
|
|
|
`LICENSE-MIT` and `LICENSE-APACHE` files, respectively, for more information.
|