A work-in-progress Fedora Atomic operating system. For me.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-23 16:44:23 -04:00
.devcontainer added litellm extension to dev container 2026-08-23 18:07:02 +00:00
.github skip codeberg sync on dependabot push 2026-08-23 01:30:55 +00:00
files removed forced wayland session from sddm 2026-08-23 20:34:16 +00:00
modules Initial commit 2026-08-19 17:12:14 -04:00
recipes fixed hyprland packages 2026-08-23 19:09:19 +00:00
.gitignore added dev container 2026-08-19 18:36:56 -04:00
cosign.pub chore(automatic): new cosign keys 2026-08-19 17:12:29 -04:00
LICENSE Initial commit 2026-08-19 17:12:14 -04:00
README.md added note about iso generation 2026-08-23 20:34:03 +00:00

cvOs   bluebuild build badge

This is the start of a custom operating system. Very much a WIP.

Based on the Bluebuild Template.

Installation

Warning

This is an experimental feature, try at your own discretion.

To rebase an existing atomic Fedora installation to the latest build:

  • First rebase to the unsigned image, to get the proper signing keys and policies installed:

    rpm-ostree rebase ostree-unverified-registry:ghcr.io/cvsickle/cvos: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/cvsickle/cvos:latest
    
  • Reboot again to complete the installation

    systemctl reboot
    

The latest tag will automatically point to the latest build. That build will still always use the Fedora version specified in recipe.yml, so you won't get accidentally updated to the next major version.

ISO

If built on Fedora Atomic, you can generate an offline ISO with:

sudo bluebuild generate-iso --variant kinoite recipe recipes/recipe.yml

The kinoite installer asks for a user and password before installing. The silverblue variant creates the account on first boot instead, while the server variant asks for a user during installation. The ISO installer gets network support from Anaconda, not from the image's NetworkManager applets, so the target machine must have a supported wired or wireless device available.

See the BlueBuild ISO instructions for more options. These ISOs cannot unfortunately be distributed on GitHub for free due to large sizes, so for public projects something else has to be used for hosting.

Verification

These images are signed with Sigstore's cosign. You can verify the signature by downloading the cosign.pub file from this repo and running the following command:

cosign verify --key cosign.pub ghcr.io/cvsickle/cvos

Local Testing

Verify the recipe syntax using:

bluebuild generate -d ./recipes/recipe.yml

Verify the image builds using:

bluebuild build ./recipes/recipe.yml

Repository Mirrors