Added login-manager for gentoo

This commit is contained in:
nils 2025-01-17 13:15:16 +01:00
parent 60ed407fa4
commit b80eeb9e00

View file

@ -0,0 +1,99 @@
A login manager is a small graphical interface providing a nice login screen for getting into a graphical session. In this guide it is assumed that River will be used as window manager and as such it will also be used as the backend for the login manager. Before emerging the necessary packages first add some USE flags for river and keywords for `gtkgreet`:
``` title="/etc/portage/package.use/river"
gui-wm/river X
gui-libs/wlroots X
x11-libs/libxkbcommon X
media-libs/libepoxy X
media-libs/libglvnd X
media-libs/mesa X
```
``` title="/etc/portage/package.accept_keywords/gtkgreet"
gui-apps/gtkgreet ~amd64
```
Then emerge River and the `greetd` components:
```
root@host:~# emerge -av river gtkgreet greetd display-manager-init swaybg
```
Now `greetd` has to be configured to launch River with `gtkgreet`. Besides that styling `gtkgreet` can be done using css files and GTK themes and using this configuration a wallpaper which resides at `/etc/greetd/current_wallpaper.png`.
``` title="/etc/greeld/config.toml"
[terminal]
vt = 7
[default_session]
command = "river -c /etc/greetd/river.init -no-xwayland"
user = "greetd"
```
``` title="/etc/greetd/river.init"
#!/bin/sh
riverctl spawn "swaybg -m fill -i /etc/greetd/current_wallpaper.png"
riverctl spawn "GTK_THEME='Orchis-Dark-Compact' gtkgreet -l -s /etc/greetd/gtkgreet.css; riverctl exit"
```
``` title="/etc/greetd/gtkgreet.css"
@import url("/etc/greetd/wal/colors-waybar.css");
* {
color: @foreground;
background-color: transparent;
font-family: "Roboto";
}
box#body {
padding: 10px;
background-color: @background;
border-radius: 2px;
}
```
``` title="/etc/greetd/environments"
dbus-run-session -- river
bash
```
``` title="/etc/greetd/wal/colors-waybar.css"
@define-color foreground #c3c4c7;
@define-color background #121320;
@define-color cursor #c3c4c7;
@define-color color0 #121320;
@define-color color1 #5D629A;
@define-color color2 #6E729D;
@define-color color3 #7E82A9;
@define-color color4 #9698AB;
@define-color color5 #9195BC;
@define-color color6 #9EA1C0;
@define-color color7 #c3c4c7;
@define-color color8 #5e6073;
@define-color color9 #5D629A;
@define-color color10 #6E729D;
@define-color color11 #7E82A9;
@define-color color12 #9698AB;
@define-color color13 #9195BC;
@define-color color14 #9EA1C0;
@define-color color15 #c3c4c7;
```
Finally configure `display-manager` to start `greetd` upon boot:
``` title="/etc/conf.d/display-manager"
CHECKVT=7
DISPLAYMANAGER="greetd"
```
Then enable the `display-manager` service to start on boot:
```
root@host:~# rc-update add display-manager default
```
> Before enabling the `display-manager` service it is recommend to simply first start it ones to see if it works.