1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-22 11:05:22 -04:00

distros(void linux): initial packaging support

This commit is contained in:
purian23
2026-06-21 01:21:39 -04:00
parent de91b78943
commit 465cf7355b
8 changed files with 371 additions and 4 deletions
@@ -0,0 +1,15 @@
dms-greeter installed.
Configure and enable it with:
dms greeter enable
This points greetd at the greeter and sets up everything Void needs that logind
would handle on systemd: enables seatd, adds the greeter user to the seat/video/
input groups, and adds pam_rundir to the greetd PAM stack. Optionally sync your
shell theme into the greeter with:
dms greeter sync
Requirements not pulled in automatically: a Wayland compositor (niri, hyprland,
sway, …) and a working DRM device (/dev/dri/card*; in a VM, enable virtio-gpu).
+35
View File
@@ -0,0 +1,35 @@
# Template file for 'dms-greeter'
#
# greetd greeter for DankMaterialShell
# Builds from the same DMS release tarball as 'dms'; keep version/checksum in sync.
# Setup is done by `dms greeter enable`, not by this package — see distro/void/README.md.
pkgname=dms-greeter
version=1.4.6
revision=1
short_desc="DankMaterialShell greeter for greetd"
maintainer="AvengeMedia <AvengeMedia.US@gmail.com>"
license="MIT"
homepage="https://danklinux.com"
distfiles="https://github.com/AvengeMedia/DankMaterialShell/archive/refs/tags/v${version}.tar.gz"
checksum=f54601e522c883fa9cce02bec070e4321e47389a1cf453e7ad0bb7379ad91b61
depends="greetd quickshell acl-progs seatd pam_rundir"
# Cache dir the greeter uses as $HOME (owned by greetd's _greeter user).
make_dirs="/var/cache/dms-greeter 0750 _greeter _greeter"
do_install() {
# Launcher wrapper -> /usr/bin/dms-greeter
vbin quickshell/Modules/Greetd/assets/dms-greeter
# Same QML tree as the shell; greeter mode is selected at runtime via DMS_RUN_GREETER.
vmkdir usr/share/quickshell/dms-greeter
vcopy "quickshell/*" usr/share/quickshell/dms-greeter
# Sample compositor configs for reference
vinstall quickshell/Modules/Greetd/assets/dms-niri.kdl 644 usr/share/dms-greeter
vinstall quickshell/Modules/Greetd/assets/dms-hypr.conf 644 usr/share/dms-greeter
vdoc quickshell/Modules/Greetd/README.md
vlicense LICENSE
}
+48
View File
@@ -0,0 +1,48 @@
# Template file for 'dms'
#
# DankMaterialShell stable release
#
# NOTE: the binary is built with the `distro_binary` build tag, which is the
# packaged variant upstream ships (it drops the in-app self-update command).
pkgname=dms
version=1.4.6
revision=1
build_style=go
build_wrksrc="core"
go_import_path="github.com/AvengeMedia/DankMaterialShell/core"
go_package="${go_import_path}/cmd/dms"
go_build_tags="distro_binary"
go_ldflags="-X main.Version=${version}"
short_desc="DankMaterialShell — Material 3 desktop shell for Wayland"
maintainer="AvengeMedia <AvengeMedia.US@gmail.com>"
license="MIT"
homepage="https://danklinux.com"
changelog="https://github.com/AvengeMedia/DankMaterialShell/releases"
distfiles="https://github.com/AvengeMedia/DankMaterialShell/archive/refs/tags/v${version}.tar.gz"
checksum=f54601e522c883fa9cce02bec070e4321e47389a1cf453e7ad0bb7379ad91b61
# Optional feature deps (XBPS has no "recommends") are listed in distro/void/README.md.
depends="quickshell accountsservice dgop matugen"
post_install() {
# QML shell tree (build_style=go already installed the dms binary)
vmkdir usr/share/quickshell/dms
vcopy "${wrksrc}/quickshell/*" usr/share/quickshell/dms
echo "${version}" > "${DESTDIR}/usr/share/quickshell/dms/VERSION"
# Desktop entry + icon
vinstall "${wrksrc}/assets/dms-open.desktop" 644 usr/share/applications
vinstall "${wrksrc}/assets/danklogo.svg" 644 usr/share/icons/hicolor/scalable/apps
# Shell completions (generated by the built binary; skip when cross-building)
vmkdir usr/share/bash-completion/completions
vmkdir usr/share/zsh/site-functions
vmkdir usr/share/fish/vendor_completions.d
if [ -z "$CROSS_BUILD" ]; then
"${DESTDIR}/usr/bin/dms" completion bash > "${DESTDIR}/usr/share/bash-completion/completions/dms"
"${DESTDIR}/usr/bin/dms" completion zsh > "${DESTDIR}/usr/share/zsh/site-functions/_dms"
"${DESTDIR}/usr/bin/dms" completion fish > "${DESTDIR}/usr/share/fish/vendor_completions.d/dms.fish"
fi
vlicense "${wrksrc}/LICENSE"
}