# Login manager

To make it easier to log into the system, set up a login manager. For a minimal and wayland-compatible login manager use `greetd` with `gtkgreet`. Install them with:

```
# xbps-install -Sy greetd gtkgreet-git
```

Because Wayfire gets used as window manager for this install, that also means that it can be utilised as the login greeter. 

A specific wayfire bash script for greetd may be created in `/usr/local/bin`. That exports all the essential environment variables for the login session.

```
# cp -r {config-files-repo}/wayfire/wayfire-greetd /usr/local/bin/
```

Also, a wayfire config may be created specific for greetd with minimal settings.

```
# mkdir /etc/greetd/config
# cp -r {config-files-repo}/wayfire/wayfire-greetd.ini /etc/greetd/config/
```

Then, in `/etc/greetd/config.toml` set:

```
command = "wayfire-greetd -c /etc/greetd/config/wayfire-greetd.ini"
```

The user `_greeter` needs seatd permission for wayfire to function.

```
# usermod -aG _seatd _greeter
```

For styling of gtkgreet edit `/etc/greetd/config/gtkgreet.css`:

```
# cp -r {config-files-repo}/gtkgreet/gtkgreet.css /etc/greetd/config/
```

Finally add `wayfire-run` and possibly `bash` to `/etc/greetd/environments`.

```
wayfire-run
bash
```

Additionally `kanshi` may be added in the greeter session. To obtain the right display configuration in the greeter session.

```
# cp -r {config-files-repo}/kanshi /etc/greetd/config
```

Greetd may then be enabled by linking it to `/var/service`. However, the best practice is to first test `greetd`. Since, with a non-functioning `greetd`, it may not be possible anymore to log into the system.

The best practice is thus to create a down file in the `greetd` service.

```
# touch /etc/sv/greetd/down
```

And then linking and enabling `greetd`.

```
# ln -s /etc/sv/greetd /var/service
# sv up greetd
```

If `greetd` functions properly the down file may be removed.
