# 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 # Current state: KWin + KF6 + Qt6 + Mesa + D-Bus + seatd # Future: add plasma-workspace, plasma-desktop when their deps are resolved include = ["desktop.toml", "redbear-legacy-base.toml", "redbear-legacy-desktop.toml", "redbear-device-services.toml", "redbear-netctl.toml"] [general] filesystem_size = 4096 [users.messagebus] uid = 100 gid = 100 name = "messagebus" home = "/nonexistent" shell = "/usr/bin/ion" [packages] # Red Bear OS branding redbear-release = {} # ext4 filesystem support ext4d = {} # Firmware loading + Wi-Fi control plane redbear-firmware = {} firmware-loader = {} redbear-wifictl = {} # Input layer evdevd = {} udev-shim = {} # D-Bus (session + system bus) dbus = {} redbear-sessiond = {} redbear-dbus-services = {} redbear-notifications = {} redbear-upower = {} redbear-udisks = {} redbear-polkit = {} # Diagnostic/runtime tooling redbear-info = {} redbear-hwutils = {} redbear-netctl = {} redbear-netctl-console = {} redbear-netstat = {} redbear-traceroute = {} redbear-mtr = {} redbear-nmap = {} # 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-kconfig = {} kf6-ki18n = {} kf6-kcolorscheme = {} kf6-kauth = {} # KF6 Frameworks — KWin session-surface chain kf6-kwindowsystem = {} kf6-knotifications = {} kf6-kconfigwidgets = {} kf6-kcrash = {} kf6-kdbusaddons = {} kf6-kglobalaccel = {} kf6-kservice = {} kf6-kpackage = {} kf6-kiconthemes = {} kirigami = {} kf6-kio = {} kf6-kdeclarative = {} kf6-kcmutils = {} kf6-kwayland = {} kdecoration = {} # KDE session surface (v2.0 Phases 3–4) kwin = {} # Graphics mesa = {} libdrm = {} # Firmware directory for AMD/Intel GPU blobs [[files]] path = "/lib/firmware/amdgpu" data = "" directory = true mode = 0o755 # ── Red Bear OS custom services ───────────────────────────────────── [[files]] path = "/usr/lib/init.d/12_dbus.service" data = """ [unit] description = "D-Bus system bus" requires_weak = [ "00_base.target", ] [service] cmd = "ion" args = [ "-c", "mkdir -p /var/lib/dbus /run/dbus; rm -f /run/dbus/pid; dbus-uuidgen --ensure; dbus-daemon --system", ] type = "oneshot_async" """ [[files]] path = "/var/lib/dbus" data = "" directory = true mode = 0o755 [[files]] path = "/run/dbus" data = "" directory = true mode = 0o755 [[files]] path = "/usr/lib/init.d/13_seatd.service" data = """ [unit] description = "seatd seat management daemon" requires_weak = [ "12_dbus.service", "13_redbear-sessiond.service", ] [service] cmd = "seatd" args = ["-l", "info"] type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/13_redbear-sessiond.service" data = """ [unit] description = "Red Bear session broker (org.freedesktop.login1)" requires_weak = [ "12_dbus.service", ] [service] cmd = "ion" args = [ "-c", "sleep 5; redbear-sessiond", ] type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/14_redbear-upower.service" data = """ [unit] description = "UPower D-Bus service (org.freedesktop.UPower)" requires_weak = [ "12_dbus.service", ] [service] cmd = "ion" args = [ "-c", "sleep 5; redbear-upower", ] type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/14_redbear-udisks.service" data = """ [unit] description = "UDisks2 D-Bus service (org.freedesktop.UDisks2)" requires_weak = [ "12_dbus.service", ] [service] cmd = "ion" args = [ "-c", "sleep 5; redbear-udisks", ] type = "oneshot_async" """ [[files]] path = "/usr/lib/init.d/14_redbear-polkit.service" data = """ [unit] description = "PolicyKit1 D-Bus service (org.freedesktop.PolicyKit1)" requires_weak = [ "12_dbus.service", ] [service] cmd = "ion" args = [ "-c", "sleep 5; redbear-polkit", ] 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_redbear-sessiond.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/29_activate_console.service" data = """ [unit] description = "Activate Orbital VT" requires_weak = [ "20_orbital.service", ] [service] cmd = "inputd" args = ["-A", "3"] type = "oneshot" """ [[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/sh export DISPLAY="" export WAYLAND_DISPLAY=wayland-0 export XDG_RUNTIME_DIR=/tmp/run/user/0 export XDG_SESSION_TYPE=wayland export XDG_SESSION_ID=c1 export XDG_SEAT=seat0 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) # Export session environment to D-Bus activation dbus-update-activation-environment \ WAYLAND_DISPLAY \ XDG_SESSION_ID \ XDG_SEAT \ XDG_SESSION_TYPE \ XDG_RUNTIME_DIR \ XDG_CURRENT_DESKTOP \ KDE_FULL_SESSION \ DISPLAY # Start KWin Wayland compositor kwin_wayland --replace """