From f169d387d44211fe544ee8490e98586ef8167727 Mon Sep 17 00:00:00 2001 From: nevaforget Date: Sat, 28 Mar 2026 10:29:20 +0100 Subject: [PATCH] feat: initial PKGBUILD collection for the Moonarch ecosystem Add PKGBUILDs for moonset-git, moonlock-git, and moongreet-git. Intended as a paru custom AUR source for easy installation of all Moonarch components via `paru -S moonset-git`. --- README.md | 34 ++++++++++++++++++++++ moongreet-git/.SRCINFO | 19 ++++++++++++ moongreet-git/PKGBUILD | 48 +++++++++++++++++++++++++++++++ moongreet-git/moongreet.install | 17 +++++++++++ moonlock-git/.SRCINFO | 21 ++++++++++++++ moonlock-git/PKGBUILD | 51 +++++++++++++++++++++++++++++++++ moonset-git/.SRCINFO | 17 +++++++++++ moonset-git/PKGBUILD | 42 +++++++++++++++++++++++++++ 8 files changed, 249 insertions(+) create mode 100644 README.md create mode 100644 moongreet-git/.SRCINFO create mode 100644 moongreet-git/PKGBUILD create mode 100644 moongreet-git/moongreet.install create mode 100644 moonlock-git/.SRCINFO create mode 100644 moonlock-git/PKGBUILD create mode 100644 moonset-git/.SRCINFO create mode 100644 moonset-git/PKGBUILD diff --git a/README.md b/README.md new file mode 100644 index 0000000..7696208 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# Moonarch PKGBUILDs + +Arch Linux package builds for the Moonarch ecosystem. Use with [paru](https://github.com/Morganamilo/paru) as a custom AUR source. + +## Packages + +| Package | Description | +|---------|-------------| +| `moonset-git` | Wayland session power menu | +| `moonlock-git` | Wayland lockscreen with PAM and fingerprint support | +| `moongreet-git` | greetd greeter for Wayland | + +## Setup + +Add to `~/.config/paru/paru.conf`: + +```ini +[moonarch] +Url = https://gitea.moonarch.de/nevaforget/moonarch-pkgbuilds +``` + +## Install + +```bash +paru -S moonset-git moonlock-git moongreet-git +``` + +## Update + +Standard system upgrade picks up new versions automatically: + +```bash +paru -Syu +``` diff --git a/moongreet-git/.SRCINFO b/moongreet-git/.SRCINFO new file mode 100644 index 0000000..cbc65d1 --- /dev/null +++ b/moongreet-git/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = moongreet-git + pkgdesc = A greetd greeter for Wayland with GTK4 and Layer Shell + pkgver = 0.3.1.r5.g4c9b436 + pkgrel = 1 + url = https://gitea.moonarch.de/nevaforget/greetd-moongreet + install = moongreet.install + arch = x86_64 + license = MIT + makedepends = git + makedepends = cargo + depends = gtk4 + depends = gtk4-layer-shell + depends = greetd + provides = moongreet + conflicts = moongreet + source = git+https://gitea.moonarch.de/nevaforget/greetd-moongreet.git + sha256sums = SKIP + +pkgname = moongreet-git diff --git a/moongreet-git/PKGBUILD b/moongreet-git/PKGBUILD new file mode 100644 index 0000000..86fecdb --- /dev/null +++ b/moongreet-git/PKGBUILD @@ -0,0 +1,48 @@ +# ABOUTME: PKGBUILD for Moongreet — greetd greeter for Wayland. +# ABOUTME: Builds from git source with automatic version detection. + +# Maintainer: Dominik Kressler + +pkgname=moongreet-git +pkgver=0.3.1.r5.g4c9b436 +pkgrel=1 +pkgdesc="A greetd greeter for Wayland with GTK4 and Layer Shell" +arch=('x86_64') +url="https://gitea.moonarch.de/nevaforget/greetd-moongreet" +license=('MIT') +depends=( + 'gtk4' + 'gtk4-layer-shell' + 'greetd' +) +makedepends=( + 'git' + 'cargo' +) +provides=('moongreet') +conflicts=('moongreet') +install=moongreet.install +source=("git+${url}.git") +sha256sums=('SKIP') + +pkgver() { + cd "$srcdir/greetd-moongreet" + git describe --long --tags | sed 's/^v//;s/-/.r/;s/-/./' +} + +build() { + cd "$srcdir/greetd-moongreet" + cargo build --release --locked +} + +package() { + cd "$srcdir/greetd-moongreet" + install -Dm755 target/release/moongreet "$pkgdir/usr/bin/moongreet" + + # Greeter config + install -Dm644 config/moongreet.toml "$pkgdir/etc/moongreet/moongreet.toml" + + # Cache directories + install -dm755 "$pkgdir/var/cache/moongreet" + install -dm755 "$pkgdir/var/cache/moongreet/last-session" +} diff --git a/moongreet-git/moongreet.install b/moongreet-git/moongreet.install new file mode 100644 index 0000000..39a56ce --- /dev/null +++ b/moongreet-git/moongreet.install @@ -0,0 +1,17 @@ +# ABOUTME: pacman install hooks for Moongreet. +# ABOUTME: Sets ownership on cache directory and prints setup instructions. + +post_install() { + if getent passwd greeter > /dev/null 2>&1; then + chown greeter:greeter /var/cache/moongreet + chown greeter:greeter /var/cache/moongreet/last-session + fi + + echo "==> Moongreet installed." + echo "==> Add moongreet to your greeter compositor command in /etc/greetd/config.toml." + echo "==> Adjust wallpaper: /etc/moongreet/moongreet.toml" +} + +post_upgrade() { + post_install +} diff --git a/moonlock-git/.SRCINFO b/moonlock-git/.SRCINFO new file mode 100644 index 0000000..48dab46 --- /dev/null +++ b/moonlock-git/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = moonlock-git + pkgdesc = A secure Wayland lockscreen with GTK4, PAM and fingerprint support + pkgver = 0.4.1.r2.g58c0761 + pkgrel = 1 + url = https://gitea.moonarch.de/nevaforget/moonlock + arch = x86_64 + license = MIT + makedepends = git + makedepends = cargo + depends = gtk4 + depends = gtk4-layer-shell + depends = gtk-session-lock + depends = pam + depends = systemd-libs + optdepends = fprintd: fingerprint authentication support + provides = moonlock + conflicts = moonlock + source = git+https://gitea.moonarch.de/nevaforget/moonlock.git + sha256sums = SKIP + +pkgname = moonlock-git diff --git a/moonlock-git/PKGBUILD b/moonlock-git/PKGBUILD new file mode 100644 index 0000000..517f6a4 --- /dev/null +++ b/moonlock-git/PKGBUILD @@ -0,0 +1,51 @@ +# ABOUTME: PKGBUILD for Moonlock — secure Wayland lockscreen. +# ABOUTME: Builds from git source with automatic version detection. + +# Maintainer: Dominik Kressler + +pkgname=moonlock-git +pkgver=0.4.1.r2.g58c0761 +pkgrel=1 +pkgdesc="A secure Wayland lockscreen with GTK4, PAM and fingerprint support" +arch=('x86_64') +url="https://gitea.moonarch.de/nevaforget/moonlock" +license=('MIT') +depends=( + 'gtk4' + 'gtk4-layer-shell' + 'gtk-session-lock' + 'pam' + 'systemd-libs' +) +makedepends=( + 'git' + 'cargo' +) +optdepends=( + 'fprintd: fingerprint authentication support' +) +provides=('moonlock') +conflicts=('moonlock') +source=("git+${url}.git") +sha256sums=('SKIP') + +pkgver() { + cd "$srcdir/moonlock" + git describe --long --tags | sed 's/^v//;s/-/.r/;s/-/./' +} + +build() { + cd "$srcdir/moonlock" + cargo build --release --locked +} + +package() { + cd "$srcdir/moonlock" + install -Dm755 target/release/moonlock "$pkgdir/usr/bin/moonlock" + + # PAM configuration + install -Dm644 config/moonlock-pam "$pkgdir/etc/pam.d/moonlock" + + # Example config + install -Dm644 config/moonlock.toml.example "$pkgdir/etc/moonlock/moonlock.toml.example" +} diff --git a/moonset-git/.SRCINFO b/moonset-git/.SRCINFO new file mode 100644 index 0000000..5889eb6 --- /dev/null +++ b/moonset-git/.SRCINFO @@ -0,0 +1,17 @@ +pkgbase = moonset-git + pkgdesc = A Wayland session power menu with GTK4 and Layer Shell + pkgver = 0.1.0.r8.g934a923 + pkgrel = 1 + url = https://gitea.moonarch.de/nevaforget/moonset + arch = x86_64 + license = MIT + makedepends = git + makedepends = cargo + depends = gtk4 + depends = gtk4-layer-shell + provides = moonset + conflicts = moonset + source = git+https://gitea.moonarch.de/nevaforget/moonset.git + sha256sums = SKIP + +pkgname = moonset-git diff --git a/moonset-git/PKGBUILD b/moonset-git/PKGBUILD new file mode 100644 index 0000000..6f1a5d8 --- /dev/null +++ b/moonset-git/PKGBUILD @@ -0,0 +1,42 @@ +# ABOUTME: PKGBUILD for Moonset — Wayland session power menu. +# ABOUTME: Builds from git source with automatic version detection. + +# Maintainer: Dominik Kressler + +pkgname=moonset-git +pkgver=0.1.0.r8.g934a923 +pkgrel=1 +pkgdesc="A Wayland session power menu with GTK4 and Layer Shell" +arch=('x86_64') +url="https://gitea.moonarch.de/nevaforget/moonset" +license=('MIT') +depends=( + 'gtk4' + 'gtk4-layer-shell' +) +makedepends=( + 'git' + 'cargo' +) +provides=('moonset') +conflicts=('moonset') +source=("git+${url}.git") +sha256sums=('SKIP') + +pkgver() { + cd "$srcdir/moonset" + git describe --long --tags | sed 's/^v//;s/-/.r/;s/-/./' +} + +build() { + cd "$srcdir/moonset" + cargo build --release --locked +} + +package() { + cd "$srcdir/moonset" + install -Dm755 target/release/moonset "$pkgdir/usr/bin/moonset" + + # Example config + install -Dm644 config/moonset.toml "$pkgdir/etc/moonset/moonset.toml.example" +}