J.D

bazzite nix
Fork of the bazzite's ublue image with /nix folder for installation of nix package manager.
JustDockerfileShell

Bazzite Nix

A custom bootc image template based on Bazzite with Nix package manager support. This image derives from ghcr.io/ublue-os/bazzite-nvidia-open:stable and adds terminal emulators and the Nix package manager.

What’s Included

Building

Using Just

# Build the container image
just build

# Build a bootable QCOW2 virtual machine image
just build-qcow2

# Build a bootable ISO
just build-iso

# Build a bootable raw disk image
just build-raw

Using Podman directly

podman build --tag bazzite-nix:latest .

Running a VM

# Run a QCOW2 VM (builds automatically if needed)
just run-vm-qcow2

# Or with systemd-vmspawn
just spawn-vm

Project Structure

bazzite-nix/
  Containerfile         # OCI image definition
  Justfile              # Build and management commands
  build_files/
    build.sh            # Package installation and customization script
  disk_config/
    disk.toml           # Bootc Image Builder config for disk images
    iso.toml            # Config for ISO builds
    iso-kde.toml        # Config for KDE ISO builds
    iso-gnome.toml      # Config for GNOME ISO builds
  .github/workflows/
    build.yml           # CI workflow for building OCI image
    build-disk.yml      # CI workflow for building disk images

Customization

Edit build_files/build.sh to add or remove packages. The script uses dnf5 and supports COPR repositories. The Containerfile can be modified to change the base image.

Prerequisites

Switching to Your Image

After building and pushing to a container registry:

sudo bootc switch ghcr.io/<username>/<image_name>

Community

License

Apache-2.0