boxy: Replace Kodi with Plasma Bigscreen #45
Open
ash-bot
wants to merge 5 commits from
ash/plasma-bigscreen into main
pull from: ash/plasma-bigscreen
merge into: johno:main
johno:main
johno:fix/ci-skip-cached-packages
johno:polecat/dust/x-fqaob@mlfbyrhb
johno:polecat/fury/x-iyz0w@mlecbczk
johno:polecat/nitro/x-xiiep@mlebx809
johno:polecat/shiny/x-qdkuu@mlec8nfv
johno:polecat/guzzle/x-xiiep@mlec0has
johno:polecat/chrome/x-ymkgu@mlebby8e
johno:polecat/rust/x-lnr8g@mlebamik
johno:polecat/rust/x-0cf@ml2ye219
johno:polecat/rust/hq-0h1p9m@ml2ugjq1
johno:renovate/lock-file-maintenance
johno:polecat/rust/x-nyo@mkoso6ie
johno:polecat/chrome/nix-6pi@mkiwlml9
johno:beads-sync
johno:bead/nixos-configs-w0v
johno:bead/nixos-configs-wgw
johno:bead/nixos-configs-apu
johno:bead/nixos-configs-g4n
johno:bead/nixos-configs-9eq
johno:bead/nixos-configs-4ht
johno:bead/nixos-configs-cto
johno:bead/nixos-configs-2mk
johno:bead/nixos-configs-0vf
johno:fix/mu4e-email-body-nixos-configs-9l8
johno:bead/nixos-configs-fkt
johno:bead/nixos-configs-tcu
johno:bead/nixos-configs-u81
johno:bead/nixos-configs-alr
johno:bead/nixos-configs-vru
johno:bead/nixos-configs-pea
johno:bead/nixos-configs-ek5
johno:bead/nixos-configs-bli
johno:bead/nixos-configs-tdf
johno:bead/nixos-configs-2hq
johno:bead/nixos-configs-85h
johno:bead/nixos-configs-7hd
johno:bead/nixos-configs-is4
johno:bead/nixos-configs-0ov
johno:bead/nixos-configs-v2v
johno:feat/prebuilt-doom-usb-nixos-configs-1wd
johno:feat/starship-prompt-nixos-configs-uji
johno:feature/sendspin-cli-package
johno:25.11
johno:nix-deck-setup
johno:boxy-app-launcher
johno:btrfs-role
johno:convert-nixbook-to-btrfs
johno:add-liveusb
johno:shared-steam-library
johno:add-steam-streaming-sleep-inhibitor
johno:kodi-add-kdeconnect
johno:kodi-updates
johno:kodi-hdr
johno:spotifyd
johno:plasma-manager
johno:fix-kodi-wayland
johno:k3s
johno:sway
johno:kodi-to-wayland
johno:home-manager-as-nixos-module
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "ash/plasma-bigscreen"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replaces the Kodi 10-foot UI on boxy with Plasma Bigscreen https://plasma-bigscreen.org/ — KDE's open-source TV interface.
What changed
• New role: roles/plasma-bigscreen/ — NixOS module + package derivation built from upstream master
• boxy config: swaps roles.kodi → roles.plasma-bigscreen
• Keeps everything: Jellyfin, Stremio, Firefox, KDE Connect, app-launcher-server, AVR volume control
• Session: autologins to plasma-bigscreen-wayland instead of plasma
Build notes
Plasma Bigscreen isn't in nixpkgs yet (tracking NixOS/nixpkgs#428077). Package is built from upstream master via fetchFromGitLab.
Based on the working derivation from NixOS/nixpkgs#428353, updated for the latest upstream commit (bd143fe).
Build fixes applied
Qt6::QmlPrivatebut neither QCoro's cmake config nor the upstream CMakeLists.txt imports it. Fixed by addingqtdeclarativeto build inputs and patching CMakeLists.txt tofind_package(Qt6 ... COMPONENTS QmlPrivate)before QCoro is loaded.Build verified
Rollback
Kodi role is still intact — just swap the role back in boxy's configuration.nix if Bigscreen doesn't work out.
Upstream nixpkgs status
Our package derives from NixOS/nixpkgs#428353, but diverges significantly:
nixpkgs PR (#428353) — still a draft, open since July 2025, last updated Feb 2026. Based on an older upstream commit (
37dcff3, July 2025) that has far fewer dependencies (no QCoro, no SDL3, no game controller support). Has open review feedback asking to switch tofetchFromGitLaband deduplicate deps via KDE'sdependencies.json.Our package — based on a much newer upstream commit (
bd143fe, March 2026) which added QCoro coroutine support, SDL3 game controller input, and several new KDE framework deps. This is why we hit the Qt6QmlPrivate build issue that the nixpkgs PR never encountered — QCoro was added upstream after their pinned commit.Workarounds that should go away when nixpkgs catches up
Qt6QmlPrivate patch — QCoro6Qml's cmake config references
Qt6::QmlPrivatewithout importing it. This is arguably a QCoro packaging bug in nixpkgs (it should propagate qtdeclarative). When QCoro or the nixpkgs plasma-bigscreen package is fixed upstream, we can drop ourfind_package(Qt6 ... COMPONENTS QmlPrivate)patch.Version pinning patch —
substituteInPlace CMakeLists.txt --replace-fail 'set(PROJECT_VERSION ...'to match our plasma-workspace version. This is needed because we're building an unreleased package against a stable Plasma release. Goes away once Plasma Bigscreen gets a proper release included in the KDE Gear/Plasma release cycle.The entire custom derivation — once NixOS/nixpkgs#428077 is resolved and plasma-bigscreen lands in nixpkgs, we should switch to
pkgs.kdePackages.plasma-bigscreenand deleteroles/plasma-bigscreen/package.nix.Known upstream issue to watch
The nixpkgs PR notes that the session launcher uses
dbus-run-session, which can cause an incorrect session bus. Unclear if this is still an issue with the newer upstream commit — worth testing on boxy.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.