Skip to content

Commit 6c8a9a1

Browse files
committed
Ghostty Kiosk now runs in cage
1 parent ac572e1 commit 6c8a9a1

6 files changed

Lines changed: 28 additions & 33 deletions

File tree

build_files/base/01-base-system.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ dnf5 -y clean all
1212
### Enable Hypercube COPR for custom packages
1313
dnf5 -y copr enable binarypie/hypercube
1414

15-
### Display Manager: greetd + hypercube-utils
16-
# hypercube-utils provides hypercube-greeter and hypercube-onboard (run directly on TTY)
15+
### Display Manager: greetd + cage + hypercube-utils
16+
# cage: minimal Wayland compositor for kiosk/greeter mode
17+
# hypercube-utils provides hypercube-greeter and hypercube-onboard
1718
dnf5 -y install \
1819
greetd \
1920
greetd-selinux \
21+
cage \
2022
hypercube-utils
2123

2224
### Desktop Portals & Integration

build_files/hypercube/99-tests.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ echo "Running Hypercube validation tests..."
1010
REQUIRED_PACKAGES=(
1111
# Display manager
1212
"greetd"
13+
"cage"
1314
"hypercube-utils"
1415
# Hyprland stack
1516
"hyprland"

system_files/shared/etc/greetd/config.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
vt = 1
33

44
[default_session]
5-
command = "hypercube-greeter"
5+
command = "cage -s -- ghostty-kiosk hypercube-greeter"
66
user = "greeter"
77

88
[initial_session]
9-
command = "hypercube-onboard --config /usr/share/hypercube/config/hypercube-onboard/onboard.toml"
9+
command = "cage -s -- ghostty-kiosk 'hypercube-onboard --config /usr/share/hypercube/config/hypercube-onboard/onboard.toml'"
1010
user = "root"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[Mount]
2+
Options=mode=620,gid=5,ptmxmode=0666
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
# Migration: Update greetd to use cage + ghostty for greeter
3+
4+
set -euo pipefail
5+
6+
CONFIG="/etc/greetd/config.toml"
7+
8+
# Skip if file doesn't exist
9+
[[ -f "$CONFIG" ]] || exit 0
10+
11+
# Skip if already using cage greeter
12+
grep -q 'cage -s -- ghostty-kiosk hypercube-greeter' "$CONFIG" && exit 0
13+
14+
echo "Updating greetd default_session to use cage + ghostty-kiosk..."
15+
16+
# Only update the default_session command line
17+
sed -i '/^\[default_session\]/,/^\[/ s|^command = .*|command = "cage -s -- ghostty-kiosk hypercube-greeter"|' "$CONFIG"
18+
19+
echo "greetd config updated"

system_files/shared/usr/share/hypercube/migrations/001-greetd-remove-cage.sh

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)