NoSignal-OS/os updates/display-manager-sddm/install-display-manager-sddm.sh
28allday 19fd794b6b NoSignal — fully-offline Arch → Hyprland desktop installer
Single-script builder (nosignal.sh) that turns a stock Arch Linux ISO into a
fully-offline installer for a themed Hyprland + caelestia (Quickshell) desktop:
matching SDDM greeter, Btrfs/Limine bootable snapshots, chwd-style GPU
detection, and a curated "os updates" layer (keybind cheatsheet, settings
panels, system polish, on-box management skill). See README.md.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 11:03:10 +01:00

32 lines
1.4 KiB
Bash
Executable file

#!/bin/sh
# install-display-manager-sddm.sh — switch the display manager from greetd to
# SDDM, so DeckShift's SDDM-based desktop<->gaming session switching works.
# Idempotent. Needs sudo. Takes effect on next reboot.
set -eu
SRC=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
# 1. Install SDDM (+ xorg-server for the reliable X11 greeter; the Hyprland
# session itself stays Wayland). For an X-free image use the Wayland greeter
# instead (see sddm-10-nosignal.conf) and drop xorg-server here.
echo ":: installing sddm + xorg-server (sudo)..."
sudo pacman -S --needed --noconfirm sddm xorg-server
# 2. Config drop-in (default desktop session = the uwsm-managed Hyprland).
sudo install -D -m 0644 "$SRC/sddm-10-nosignal.conf" /etc/sddm.conf.d/10-nosignal.conf
echo ":: installed /etc/sddm.conf.d/10-nosignal.conf"
# 3. Swap the active display-manager service: greetd -> sddm.
if systemctl is-enabled greetd.service >/dev/null 2>&1; then
sudo systemctl disable greetd.service
echo ":: disabled greetd.service"
fi
sudo systemctl enable sddm.service
echo ":: enabled sddm.service (display-manager.service -> sddm)"
cat <<'EOF'
Done. Reboot to log in via SDDM.
- At the SDDM session picker choose "Hyprland (uwsm-managed)" once; SDDM remembers it.
- DeckShift's switch-to-gaming / switch-to-desktop then drive SDDM to flip
between your desktop and the Gamescope/Steam session.
EOF