51f3c21121
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
295 lines
5.1 KiB
TOML
295 lines
5.1 KiB
TOML
# Red Bear OS KDE Plasma Desktop Configuration
|
|
# Build: make all CONFIG_NAME=redbear-kde
|
|
# Live: make live CONFIG_NAME=redbear-kde
|
|
#
|
|
# KDE Plasma 6 session with Wayland compositor
|
|
# Requires: D-Bus, libinput, Mesa, Qt6, KF6, KWin, plasma-workspace
|
|
|
|
include = ["desktop.toml"]
|
|
|
|
[general]
|
|
filesystem_size = 4096
|
|
|
|
[packages]
|
|
# Red Bear OS branding
|
|
redbear-release = {}
|
|
|
|
# ext4 filesystem support
|
|
ext4d = {}
|
|
|
|
# Firmware loading
|
|
firmware-loader = {}
|
|
|
|
# Input layer
|
|
evdevd = {}
|
|
udev-shim = {}
|
|
|
|
# D-Bus (session + system bus)
|
|
dbus = {}
|
|
|
|
# Wayland protocol
|
|
libwayland = {}
|
|
wayland-protocols = {}
|
|
|
|
# Input
|
|
libxkbcommon = {}
|
|
libevdev = {}
|
|
libinput = {}
|
|
|
|
# Seat management
|
|
seatd = {}
|
|
|
|
# Qt6 stack
|
|
qtbase = {}
|
|
qtdeclarative = {}
|
|
qtsvg = {}
|
|
qtwayland = {}
|
|
|
|
# KF6 Frameworks — Tier 1 (no special deps)
|
|
kf6-extra-cmake-modules = {}
|
|
kf6-kcoreaddons = {}
|
|
kf6-kwidgetsaddons = {}
|
|
kf6-kconfig = {}
|
|
kf6-ki18n = {}
|
|
kf6-kcodecs = {}
|
|
kf6-kguiaddons = {}
|
|
kf6-kcolorscheme = {}
|
|
kf6-kauth = {}
|
|
kf6-kitemmodels = {}
|
|
kf6-kitemviews = {}
|
|
|
|
# KF6 Frameworks — Tier 2
|
|
kf6-karchive = {}
|
|
kf6-kwindowsystem = {}
|
|
kf6-knotifications = {}
|
|
kf6-kjobwidgets = {}
|
|
kf6-kconfigwidgets = {}
|
|
|
|
# KF6 Frameworks — Tier 3 (needs D-Bus)
|
|
kf6-kcrash = {}
|
|
kf6-kdbusaddons = {}
|
|
kf6-kglobalaccel = {}
|
|
kf6-kservice = {}
|
|
kf6-kpackage = {}
|
|
kf6-kiconthemes = {}
|
|
kf6-kxmlgui = {}
|
|
kf6-ktextwidgets = {}
|
|
kf6-kirigami = {}
|
|
kf6-solid = {}
|
|
kf6-sonnet = {}
|
|
|
|
# KF6 Frameworks — Tier 4 (needs kio + kxmlgui)
|
|
kf6-kio = {}
|
|
kf6-kbookmarks = {}
|
|
kf6-kcompletion = {}
|
|
kf6-kdeclarative = {}
|
|
kf6-kcmutils = {}
|
|
plasma-framework = {}
|
|
|
|
# KDE Plasma
|
|
kwin = {}
|
|
plasma-workspace = {}
|
|
plasma-desktop = {}
|
|
breeze = {}
|
|
kde-cli-tools = {}
|
|
|
|
# Graphics
|
|
mesa = {}
|
|
libdrm = {}
|
|
|
|
# Workaround: bash fails to cross-compile
|
|
bash = "ignore"
|
|
|
|
# Firmware directory for AMD/Intel GPU blobs
|
|
[[files]]
|
|
path = "/usr/firmware/amdgpu"
|
|
data = ""
|
|
directory = true
|
|
mode = 0o755
|
|
|
|
# ── Neutralize broken legacy scripts from upstream configs ─────────
|
|
# base.toml uses "notify <service>" which is not a keyword in the legacy
|
|
# script parser. Base source package ships proper .service/.target files.
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/00_base"
|
|
data = ""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/00_drivers"
|
|
data = ""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/10_net"
|
|
data = ""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/20_orbital"
|
|
data = ""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/30_console"
|
|
data = ""
|
|
|
|
# ── Red Bear OS custom services ─────────────────────────────────────
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/05_firmware-loader.service"
|
|
data = """
|
|
[unit]
|
|
description = "Firmware loading scheme"
|
|
requires_weak = [
|
|
"00_pcid-spawner.service",
|
|
]
|
|
|
|
[service]
|
|
cmd = "firmware-loader"
|
|
type = { scheme = "firmware" }
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/10_evdevd.service"
|
|
data = """
|
|
[unit]
|
|
description = "Evdev input daemon"
|
|
requires_weak = [
|
|
"00_pcid-spawner.service",
|
|
]
|
|
|
|
[service]
|
|
cmd = "evdevd"
|
|
type = "oneshot_async"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/11_udev.service"
|
|
data = """
|
|
[unit]
|
|
description = "udev compatibility shim"
|
|
requires_weak = [
|
|
"00_pcid-spawner.service",
|
|
]
|
|
|
|
[service]
|
|
cmd = "udev-shim"
|
|
type = { scheme = "udev" }
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/12_dbus.service"
|
|
data = """
|
|
[unit]
|
|
description = "D-Bus system bus"
|
|
requires_weak = [
|
|
"00_base.target",
|
|
]
|
|
|
|
[service]
|
|
cmd = "dbus-daemon"
|
|
args = ["--system"]
|
|
type = "oneshot_async"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/13_seatd.service"
|
|
data = """
|
|
[unit]
|
|
description = "seatd seat management daemon"
|
|
requires_weak = [
|
|
"12_dbus.service",
|
|
]
|
|
|
|
[service]
|
|
cmd = "seatd"
|
|
args = ["-l", "info"]
|
|
type = "oneshot_async"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/20_orbital.service"
|
|
data = """
|
|
[unit]
|
|
description = "Orbital display server (KDE session)"
|
|
requires_weak = [
|
|
"10_net.target",
|
|
"12_dbus.service",
|
|
"13_seatd.service",
|
|
]
|
|
|
|
[service]
|
|
cmd = "orbital"
|
|
args = ["orbital-kde"]
|
|
envs = { VT = "3" }
|
|
type = "oneshot_async"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/30_console.service"
|
|
data = """
|
|
[unit]
|
|
description = "Console terminals"
|
|
requires_weak = [
|
|
"20_orbital.service",
|
|
]
|
|
|
|
[service]
|
|
cmd = "getty"
|
|
args = ["2"]
|
|
type = "oneshot_async"
|
|
"""
|
|
|
|
[[files]]
|
|
path = "/usr/lib/init.d/31_debug_console.service"
|
|
data = """
|
|
[unit]
|
|
description = "Debug console"
|
|
requires_weak = [
|
|
"20_orbital.service",
|
|
]
|
|
|
|
[service]
|
|
cmd = "getty"
|
|
args = ["/scheme/debug/no-preserve", "-J"]
|
|
type = "oneshot_async"
|
|
"""
|
|
|
|
# KDE session launcher
|
|
[[files]]
|
|
path = "/usr/bin/orbital-kde"
|
|
mode = 0o755
|
|
data = """
|
|
#!/usr/bin/env bash
|
|
set -ex
|
|
|
|
export DISPLAY=""
|
|
export WAYLAND_DISPLAY=wayland-0
|
|
export XDG_RUNTIME_DIR=/tmp/run/user/0
|
|
export XDG_SESSION_TYPE=wayland
|
|
export KDE_FULL_SESSION=true
|
|
export XDG_CURRENT_DESKTOP=KDE
|
|
export HOME=/root
|
|
export LIBSEAT_BACKEND=seatd
|
|
export SEATD_SOCK=/run/seatd.sock
|
|
|
|
mkdir -p /tmp/run/user/0
|
|
mkdir -p /var/lib/dbus
|
|
mkdir -p /run/dbus
|
|
|
|
# Start D-Bus system bus (if not already running)
|
|
if [ ! -S /run/dbus/system_bus_socket ]; then
|
|
dbus-uuidgen --ensure
|
|
dbus-daemon --system --fork
|
|
fi
|
|
|
|
# Start D-Bus session bus
|
|
eval $(dbus-launch --sh-syntax)
|
|
|
|
# Start KWin Wayland compositor
|
|
kwin_wayland --replace &
|
|
|
|
sleep 2
|
|
|
|
# Start Plasma Shell
|
|
plasmashell &
|
|
"""
|