diff --git a/main/postmarketos-ui-niri/APKBUILD b/main/postmarketos-ui-niri/APKBUILD new file mode 100644 index 000000000..893d94688 --- /dev/null +++ b/main/postmarketos-ui-niri/APKBUILD @@ -0,0 +1,70 @@ +# Reference: https://postmarketos.org/uipkg +# Maintainer: Aster Boese +pkgname=postmarketos-ui-niri +pkgver=1 +pkgrel=0 +pkgdesc="(Wayland) A scrollable-tiling compositor (DOES NOT RUN WITHOUT HW ACCELERATION!)" +url="https://postmarketos.org" +# Blocked by niri +arch="x86_64 aarch64 ppc64le" +license="GPL-3.0-or-later" +subpackages="$pkgname-openrc" +depends=" + bluez + dnsmasq + elogind + niri + polkit-elogind + postmarketos-base-ui + postmarketos-base-ui-audio + postmarketos-base-ui-networkmanager + xdg-desktop-portal-gtk + xdg-desktop-portal-wlr + " +_pmb_recommends=" + dmenu + foot + greetd-wlgreet + postmarketos-artwork-wallpapers + swaybg + swayidle + swaylock + xwayland + " +_pmb_groups="seat" +install="$pkgname.pre-install" +source=" + niri-greet.kdl + wlgreet.toml + " +# No tests +options="!check pmb:gpu-accel pmb:systemd" + +package() { + # niri configuration for the greeter + install -Dm644 "$srcdir"/niri-greet.kdl \ + "$pkgdir"/etc/greetd/niri-greet.kdl + + # greetd configuration to start niri + install -Dm644 "$srcdir"/wlgreet.toml \ + "$pkgdir"/etc/greetd/wlgreet.toml +} + +openrc() { + install_if="$pkgname=$pkgver-r$pkgrel openrc" + install="$subpkgname.post-install $subpkgname.post-upgrade" + depends=" + bluez-openrc + elogind-openrc + modemmanager-openrc + networkmanager-openrc + seatd-openrc + " + + mkdir -p "$subpkgdir" +} + +sha512sums=" +d679d3900904c89381b923a2ca4b92b65b300162d9ca581a2b11c37b34405c89b0b530821282c94067a3ff351642842fd7cee17d3c10c4357663471f57e1e3f8 niri-greet.kdl +49f9c81c2ab7edc5127818de27c5a4fa74cd7fae403afe5bac641ac44132f8d99f0d78e09d2c85d676f30001b201f0ad1b1160becef0b3d0788173f02f9562fa wlgreet.toml +" diff --git a/main/postmarketos-ui-niri/niri-greet.kdl b/main/postmarketos-ui-niri/niri-greet.kdl new file mode 100644 index 000000000..da180b394 --- /dev/null +++ b/main/postmarketos-ui-niri/niri-greet.kdl @@ -0,0 +1,5 @@ +hotkey-overlay { + skip-at-startup +} + +spawn-at-startup "sh" "-c" "wlgreet --command niri; niri msg action quit --skip-confirmation" diff --git a/main/postmarketos-ui-niri/postmarketos-ui-niri-openrc.post-install b/main/postmarketos-ui-niri/postmarketos-ui-niri-openrc.post-install new file mode 100644 index 000000000..f9edbd512 --- /dev/null +++ b/main/postmarketos-ui-niri/postmarketos-ui-niri-openrc.post-install @@ -0,0 +1,6 @@ +#!/bin/sh + +rc-update add elogind default +rc-update add networkmanager default + +exit 0 diff --git a/main/postmarketos-ui-niri/postmarketos-ui-niri-openrc.post-upgrade b/main/postmarketos-ui-niri/postmarketos-ui-niri-openrc.post-upgrade new file mode 120000 index 000000000..cfb9b6de2 --- /dev/null +++ b/main/postmarketos-ui-niri/postmarketos-ui-niri-openrc.post-upgrade @@ -0,0 +1 @@ +postmarketos-ui-niri-openrc.post-install \ No newline at end of file diff --git a/main/postmarketos-ui-niri/postmarketos-ui-niri.pre-install b/main/postmarketos-ui-niri/postmarketos-ui-niri.pre-install new file mode 100644 index 000000000..a05f55eac --- /dev/null +++ b/main/postmarketos-ui-niri/postmarketos-ui-niri.pre-install @@ -0,0 +1,11 @@ +#!/bin/sh + +addgroup -S greetd 2>/dev/null +adduser -S -D -H \ + -h /var/lib/greetd \ + -s /sbin/nologin \ + -G greetd \ + -g "Account for launching from greeters." \ + greetd 2>/dev/null + +exit 0 diff --git a/main/postmarketos-ui-niri/wlgreet.toml b/main/postmarketos-ui-niri/wlgreet.toml new file mode 100644 index 000000000..d7e692d5f --- /dev/null +++ b/main/postmarketos-ui-niri/wlgreet.toml @@ -0,0 +1,6 @@ +[terminal] +vt = 1 + +[default_session] +command = "niri --config /etc/greetd/niri-greet.kdl" +user = "greetd"