1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-02 03:28:28 -04:00

fix(void): updated dms-greeter stability support

- Updates will land in DMS v1.5.1 and users are advised to hold off on v1.5.0

Related #2788

Port 1.5
This commit is contained in:
purian23
2026-07-11 01:07:00 -04:00
parent 204ecd0461
commit 71ab752e1b
10 changed files with 276 additions and 28 deletions
+16 -7
View File
@@ -58,7 +58,8 @@ checkout at `srcpkgs/<pkg>/template` to build or submit it.
## Dependencies
Installing `dms` automatically pulls in `quickshell`, `accountsservice`, `dgop`,
`matugen` (which drives the Material You theming), `dbus`, and `elogind`.
`matugen` (which drives the Material You theming), `dbus`, `elogind`, and
`mesa-dri` (GL drivers, required for compositors to render).
The rest are optional, install whichever features you want:
| Package | Enables |
@@ -123,7 +124,7 @@ sudo ln -sf /etc/sv/dbus /var/service/dbus
sudo ln -sf /etc/sv/elogind /var/service/elogind
```
The `dankinstall` Void path does this automatically after installing packages.
The `dankinstall` Void path enables both services after installing packages.
## Greeter (optional)
@@ -134,8 +135,16 @@ dms greeter enable # configures greetd + the Void seat/PAM bits below
dms greeter sync # optional: share theming with the shell
```
`dms greeter enable` handles what logind does automatically on systemd: it points
greetd at the greeter, enables `seatd`, adds `_greeter` to the `_seatd`/`video`/
`input` groups, and adds `pam_rundir` to `/etc/pam.d/greetd` (so the post-login
session gets an `XDG_RUNTIME_DIR`). A Wayland compositor and a working DRM device
(`/dev/dri/card*`) are required and not pulled in automatically.
`dms-greeter` requires D-Bus and elogind. `dms greeter enable` enables the
`dbus` and `elogind` runit services, configures greetd for elogind
(`LIBSEAT_BACKEND=logind`), adds `_greeter` to the `video` and `input` groups,
and adds `pam_rundir` to `/etc/pam.d/greetd` (so the post-login session gets an
`XDG_RUNTIME_DIR`). It disables seatd if enabled: on Void, seatd is the
alternative to elogind, and running both fights over the seat. Greeter sessions
are launched through `dbus-run-session`. A Wayland compositor and a working DRM
device (`/dev/dri/card*`) are required and not pulled in automatically.
`dms greeter enable` also rewrites `/etc/sv/greetd/run` to wait for the `dbus`
and `elogind` services, preventing a first-boot race that can leave the greeter
on a black screen. greetd package updates restore the stock run script; re-run
`dms greeter enable` afterwards.
+2 -2
View File
@@ -6,7 +6,7 @@
# Setup is done by `dms greeter enable`, not by this package — see distro/void/README.md.
pkgname=dms-greeter
version=1.5.0
revision=1
revision=2
short_desc="DankMaterialShell greeter for greetd"
maintainer="AvengeMedia <AvengeMedia.US@gmail.com>"
license="MIT"
@@ -14,7 +14,7 @@ homepage="https://danklinux.com"
distfiles="https://github.com/AvengeMedia/DankMaterialShell/archive/refs/tags/v${version}.tar.gz"
checksum=14f2678d6a15223ba069d1b8c8a21a5564b735d190c231f62ed44fd8bf48677c
depends="greetd quickshell acl-progs seatd pam_rundir"
depends="greetd quickshell acl-progs dbus elogind pam_rundir mesa-dri"
# Cache dir the greeter uses as $HOME (owned by greetd's _greeter user).
make_dirs="/var/cache/dms-greeter 0750 _greeter _greeter"
+2 -2
View File
@@ -7,7 +7,7 @@
# CI rewrites version/checksum from the selected release tag before building.
pkgname=dms
version=1.5.0
revision=1
revision=2
build_style=go
build_wrksrc="core"
go_import_path="github.com/AvengeMedia/DankMaterialShell/core"
@@ -23,7 +23,7 @@ distfiles="https://github.com/AvengeMedia/DankMaterialShell/archive/refs/tags/v$
checksum=14f2678d6a15223ba069d1b8c8a21a5564b735d190c231f62ed44fd8bf48677c
# Optional feature deps are listed in distro/void/README.md.
depends="quickshell accountsservice dgop matugen dbus elogind"
depends="quickshell accountsservice dgop matugen dbus elogind mesa-dri"
post_install() {
# QML shell tree (build_style=go already installed the dms binary)