wayblueorg/wayblue

Fedora Atomic images for wayland compositors

YAML

354

684 commits

updated Sep 21, 2026

See the code

README

Notice: These images are considered beta.

wayblue

wayblue trivy Discord

This repo takes the BlueBuild template and builds out minimally-opinionated Fedora Atomic operating system images for the following wayland compositors:

  • wayfire (with wf-shell)
  • hyprland (with waybar)
  • sway (with waybar)
  • river (with waybar)
  • qtile (experimental)
  • niri (with waybar)

What

Changes and decisions in the images:

  • Set saner SDDM defaults
  • Set saner wf-shell defaults
  • Set saner waybar defaults
  • Add a reasonable suite of tools that are needed to have a working desktop with a wayland compositor
  • Build in a minimally opinionated config for each compositor and tools that work out of the box

Why

The Fedora Atomic ecosystem provides excellent base images and tooling for immutable image building. Aside from sway however, there aren't images available for wayland compositors. This repo aims to provide those images and provide them with sane defaults.

For more info on BlueBuild, check out the BlueBuild homepage.

Customization

If you want to add your own customizations on top of wayblue, you are advised strongly against forking. Instead, create a repo for your own image by using the BlueBuild template, then change your base-image to a wayblue image. This will allow you to apply your customizations to wayblue in a concise and maintainable way, without the need to constantly sync with upstream.

Installation

Available Images

[!NOTE] nvidia-open images are recommended for systems with Nvidia GPUs Turing or newer.

nvidia images are recommended for systems with Nvidia GPUs Pascal or older.

NameWMNvidia Support
wayfireWayfireNo
wayfire-nvidiaWayfireYes, closed drivers
wayfire-nvidia-openWayfireYes, open drivers
swaySwayNo
sway-nvidiaSwayYes, closed drivers
sway-nvidia-openSwayYes, open drivers
hyprlandHyprlandNo
hyprland-nvidiaHyprlandYes, closed drivers
hyprland-nvidia-openHyprlandYes, open drivers
riverRiverNo
river-nvidiaRiverYes, closed drivers
river-nvidia-openRiverYes, open drivers
qtileQtileNo
qtile-nvidiaQtileYes, closed drivers
qtile-nvidia-openQtileYes, open drivers
niriNiriNo
niri-nvidiaNiriYes, closed drivers
niri-nvidia-openNiriYes, open drivers
NameWMNvidia Support
wayfire-gdmWayfireNo
wayfire-nvidia-gdmWayfireYes, closed drivers
wayfire-nvidia-open-gdmWayfireYes, open drivers
sway-gdmSwayNo
sway-nvidia-gdmSwayYes, closed drivers
sway-nvidia-open-gdmSwayYes, open drivers
hyprland-gdmHyprlandNo
hyprland-nvidia-gdmHyprlandYes, closed drivers
hyprland-nvidia-open-gdmHyprlandYes, open drivers
river-gdmRiverNo
river-nvidia-gdmRiverYes, closed drivers
river-nvidia-open-gdmRiverYes, open drivers
qtile-gdmQtileNo
qtile-nvidia-gdmQtileYes, closed drivers
qtile-nvidia-open-gdmQtileYes, open drivers
niri-gdmNiriNo
niri-nvidia-gdmNiriYes, closed drivers
niri-nvidia-open-gdmNiriYes, open drivers

Rebasing

To rebase an existing Silverblue/Kinoite/Sericea installation to the latest build:

[!IMPORTANT] The only supported tag is latest.

[!NOTE] The two reboots described below are not optional. During installation, the initial boot into wayblue will provision the required sddm user. This is a one time step, all subsequent boots will succeed.

  • First rebase to the unsigned image, to get the proper signing keys and policies installed:
    rpm-ostree rebase ostree-unverified-registry:ghcr.io/wayblueorg/$IMAGE_NAME:latest
    
  • Reboot to complete the rebase:
    systemctl reboot
    
  • Then rebase to the signed image, like so:
    rpm-ostree rebase ostree-image-signed:docker://ghcr.io/wayblueorg/$IMAGE_NAME:latest
    
  • Reboot again to complete the installation
    systemctl reboot
    

Post-install

Nvidia

If you are using an nvidia image, run this after installation:

rpm-ostree kargs \
    --append-if-missing=rd.driver.blacklist=nouveau \
    --append-if-missing=modprobe.blacklist=nouveau \
    --append-if-missing=nvidia-drm.modeset=1 \
    --append-if-missing=nvidia-drm.fbdev=1

You may also need this (solves flickering and LUKS issues on some nvidia hardware):

rpm-ostree kargs \
    --append-if-missing=initcall_blacklist=simpledrm_platform_driver_init

Nvidia optimus laptop

If you are using an nvidia image on an optimus laptop, run this after installation:

ujust configure-nvidia-optimus

Screenshots

sway

hyprland

Contributing

Follow the contributing documentation, and make sure to respect the CoC.

Contributors

(top 30 of 35)

RoyalOughtness

321 commits

dependabot[bot]

92 commits

castrojo

73 commits

Arcitec

49 commits

Languages

YAML

35.3%

Shell

32.5%

Python

13.1%

Lua

7.4%

CSS

6.7%

JSON

3.6%

Just

1.4%

wayblueorg/wayblue

Fedora Atomic images for wayland compositors

YAML

354

684 commits

updated Sep 21, 2026

See the code

README

Notice: These images are considered beta.

wayblue

wayblue trivy Discord

This repo takes the BlueBuild template and builds out minimally-opinionated Fedora Atomic operating system images for the following wayland compositors:

  • wayfire (with wf-shell)
  • hyprland (with waybar)
  • sway (with waybar)
  • river (with waybar)
  • qtile (experimental)
  • niri (with waybar)

What

Changes and decisions in the images:

  • Set saner SDDM defaults
  • Set saner wf-shell defaults
  • Set saner waybar defaults
  • Add a reasonable suite of tools that are needed to have a working desktop with a wayland compositor
  • Build in a minimally opinionated config for each compositor and tools that work out of the box

Why

The Fedora Atomic ecosystem provides excellent base images and tooling for immutable image building. Aside from sway however, there aren't images available for wayland compositors. This repo aims to provide those images and provide them with sane defaults.

For more info on BlueBuild, check out the BlueBuild homepage.

Customization

If you want to add your own customizations on top of wayblue, you are advised strongly against forking. Instead, create a repo for your own image by using the BlueBuild template, then change your base-image to a wayblue image. This will allow you to apply your customizations to wayblue in a concise and maintainable way, without the need to constantly sync with upstream.

Installation

Available Images

[!NOTE] nvidia-open images are recommended for systems with Nvidia GPUs Turing or newer.

nvidia images are recommended for systems with Nvidia GPUs Pascal or older.

NameWMNvidia Support
wayfireWayfireNo
wayfire-nvidiaWayfireYes, closed drivers
wayfire-nvidia-openWayfireYes, open drivers
swaySwayNo
sway-nvidiaSwayYes, closed drivers
sway-nvidia-openSwayYes, open drivers
hyprlandHyprlandNo
hyprland-nvidiaHyprlandYes, closed drivers
hyprland-nvidia-openHyprlandYes, open drivers
riverRiverNo
river-nvidiaRiverYes, closed drivers
river-nvidia-openRiverYes, open drivers
qtileQtileNo
qtile-nvidiaQtileYes, closed drivers
qtile-nvidia-openQtileYes, open drivers
niriNiriNo
niri-nvidiaNiriYes, closed drivers
niri-nvidia-openNiriYes, open drivers
NameWMNvidia Support
wayfire-gdmWayfireNo
wayfire-nvidia-gdmWayfireYes, closed drivers
wayfire-nvidia-open-gdmWayfireYes, open drivers
sway-gdmSwayNo
sway-nvidia-gdmSwayYes, closed drivers
sway-nvidia-open-gdmSwayYes, open drivers
hyprland-gdmHyprlandNo
hyprland-nvidia-gdmHyprlandYes, closed drivers
hyprland-nvidia-open-gdmHyprlandYes, open drivers
river-gdmRiverNo
river-nvidia-gdmRiverYes, closed drivers
river-nvidia-open-gdmRiverYes, open drivers
qtile-gdmQtileNo
qtile-nvidia-gdmQtileYes, closed drivers
qtile-nvidia-open-gdmQtileYes, open drivers
niri-gdmNiriNo
niri-nvidia-gdmNiriYes, closed drivers
niri-nvidia-open-gdmNiriYes, open drivers

Rebasing

To rebase an existing Silverblue/Kinoite/Sericea installation to the latest build:

[!IMPORTANT] The only supported tag is latest.

[!NOTE] The two reboots described below are not optional. During installation, the initial boot into wayblue will provision the required sddm user. This is a one time step, all subsequent boots will succeed.

  • First rebase to the unsigned image, to get the proper signing keys and policies installed:
    rpm-ostree rebase ostree-unverified-registry:ghcr.io/wayblueorg/$IMAGE_NAME:latest
    
  • Reboot to complete the rebase:
    systemctl reboot
    
  • Then rebase to the signed image, like so:
    rpm-ostree rebase ostree-image-signed:docker://ghcr.io/wayblueorg/$IMAGE_NAME:latest
    
  • Reboot again to complete the installation
    systemctl reboot
    

Post-install

Nvidia

If you are using an nvidia image, run this after installation:

rpm-ostree kargs \
    --append-if-missing=rd.driver.blacklist=nouveau \
    --append-if-missing=modprobe.blacklist=nouveau \
    --append-if-missing=nvidia-drm.modeset=1 \
    --append-if-missing=nvidia-drm.fbdev=1

You may also need this (solves flickering and LUKS issues on some nvidia hardware):

rpm-ostree kargs \
    --append-if-missing=initcall_blacklist=simpledrm_platform_driver_init

Nvidia optimus laptop

If you are using an nvidia image on an optimus laptop, run this after installation:

ujust configure-nvidia-optimus

Screenshots

sway

hyprland

Contributing

Follow the contributing documentation, and make sure to respect the CoC.

Contributors

(top 30 of 35)

RoyalOughtness

321 commits

dependabot[bot]

92 commits

castrojo

73 commits

Arcitec

49 commits

Languages

YAML

35.3%

Shell

32.5%

Python

13.1%

Lua

7.4%

CSS

6.7%

JSON

3.6%

Just

1.4%