--- # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json name: bc250-console-gnome description: BC-250 couch gaming console — Bazzite GNOME with cyan-skillfish GPU governor, remote admin (SSH + GNOME Remote Desktop), and BC-250 ttm kernel args. base-image: ghcr.io/ublue-os/bazzite-gnome image-version: stable modules: - type: rpm-ostree repos: - https://copr.fedorainfracloud.org/coprs/filippor/bazzite/repo/fedora-%OS_VERSION%/filippor-bazzite-fedora-%OS_VERSION%.repo install: - cyan-skillfish-governor-smu - gnome-remote-desktop # RDP GUI (installing games via Steam) - openssh-server # headless admin (updates, shell) # files/console/ only — files/system/ holds the 40-CU unlock tooling, # which stays out of this stable 24-CU console image. - type: files files: - source: console destination: / - type: script snippets: - chmod 0755 /usr/bin/bc250-remote-setup /usr/bin/bc250-steam-bpm-autostart /usr/bin/bc250-gfn-install - dconf update # compile the local.d/gdm.d console defaults into the dconf dbs - type: default-flatpaks@v1 # notify: true is broken on multi-user systems (kid + parent): the # module's per-app notification does `sudo -u` with all users mashed # into one newline-joined string -> "unknown user" -> service fails # mid-install. Seen on first hardware boot 2026-07-13. notify: false system: install: - net.davidotek.pupgui2 # ProtonUp-Qt: Proton-GE manager - com.heroicgameslauncher.hgl # Heroic: Epic + GOG - net.retrodeck.retrodeck # RetroDECK: retro emulation - org.prismlauncher.PrismLauncher # Minecraft (Java; sign in with Microsoft account) - type: systemd system: enabled: - cyan-skillfish-governor-smu.service - sshd.service - tailscaled.service # idle until 'sudo tailscale up' - bc250-gfn-install.service # GeForce NOW beta from NVIDIA's flatpak repo (first boot) masked: - hhd.service # Handheld Daemon crash-loops on BC-250 # Always-on console: hard-block every suspend path (the box must # stay reachable over SSH/RDP even from the login screen) - sleep.target - suspend.target - hibernate.target - hybrid-sleep.target # No signing module: this image is built locally and installed via ISO. # If you ever push to a registry for OTA `bootc upgrade`, generate your own # cosign keypair (do NOT reuse upstream's cosign.pub) and re-add: # - type: signing