A custom Fedora Atomic desktop built on a Fedora Atomic base image.
Warning
This is a side project and may stop receiving updates at any time.
| Tag | Architecture | Base Image | GPU |
|---|---|---|---|
:latest |
x86_64 | Fedora Atomic base | AMD / Intel |
:latest-arm64 |
ARM64 | Bluefin LTS (CentOS Stream 10) | AMD / Intel |
:latest-nvidia |
x86_64 | Fedora Atomic base with NVIDIA drivers | NVIDIA (open drivers) |
:vX.Y.Z / :vX.Y.Z-arm64 / :vX.Y.Z-nvidia |
released on each v* tag |
matching variant |
Note
ARM64 releases are supported, but the underlying base image has limited ARM64 support. As a result, a small number of components may differ from the AMD64 build. The AMD64 release uses the full feature set of the base image, while the ARM64 release uses the closest available alternatives where ARM64 support is unavailable.
If you do not meet the minimum specs, the operating system may perform poorly and become unstable.
Minimum:
Memory: 6gb of ram
CPU (x86_64): Intel Core i5-8400 or AMD Ryzen 5 2600 or equivalent
CPU (ARM64): 4-core Cortex-A72-class or equivalent
Storage: 32 GB
Recommended:
Memory: 12gb of ram
CPU (x86_64): Intel Core i5-10400 or AMD Ryzen 5 3600 or equivalent
CPU (ARM64): 4-core Cortex-A76-class or equivalent
Storage: 64 GB+
Heavy Multitasking or Gaming:
Memory: 16gb of ram
CPU (x86_64): Intel Core i5-11400 or AMD Ryzen 5 5600 or equivalent
CPU (ARM64): 6+ core Cortex-A76-class or equivalent
Storage: 64 GB+
Each release tag (e.g. v1.2.0) is published to its own SourceForge folder (/1.2.0/)
- standard — AMD / Intel GPUs (recommended)
- nvidia — NVIDIA GPUs only
From any bootc-based system (Bazzite, Aurora, Fedora Atomic, or another bootc image):
# Standard / AMD / Intel (x86_64)
sudo bootc switch ghcr.io/cstaks/calos:latest
# ARM64 (Apple Silicon, Raspberry Pi-style boards)
sudo bootc switch ghcr.io/cstaks/calos:latest-arm64
# NVIDIA GPUs (x86_64 only)
sudo bootc switch ghcr.io/cstaks/calos:latest-nvidiaAfter either switch, update the installed system with:
sudo bootc update
sudo rebootTo pin a specific release instead of the rolling latest (replace v1.1.5 with the version you want to use):
# Standard / AMD / Intel (x86_64)
sudo bootc switch ghcr.io/cstaks/calos:v1.1.5
# ARM64
sudo bootc switch ghcr.io/cstaks/calos:v1.1.5-arm64
# NVIDIA hardware (x86_64)
sudo bootc switch ghcr.io/cstaks/calos:v1.1.5-nvidiaReboot to apply. For the rolling channel, bootc update checks the selected CalOS :latest image and stages updates for the next reboot. Versioned tags such as :v1.1.1 are pinned and do not move automatically.
Prebuilt qcow2 + vmdk (VMs) and anaconda-iso (USB/installer) images are built daily for both x86_64 and ARM64 and published automatically to the SourceForge project files:
- standard x86_64 — AMD / Intel physical hardware (qcow2 for QEMU/Boxes, vmdk for VMware, installer ISO)
- standard ARM64 — same set (Apple Silicon, Raspberry Pi-style boards)
- nvidia x86_64 — NVIDIA physical hardware (qcow2, installer ISO); there is no NVIDIA VMDK because VMware virtualizes the GPU, and no ARM64 NVIDIA build
Files are named calos-<version>_<arch>[<variant>].<ext> — for example calos-v1.1.5_x86_64.qcow2, calos-v1.1.5_arm64.iso, calos-v1.1.5_x86_64-nvidia.iso. On the rolling channel the version token is latest (calos-latest_x86_64.qcow2); on tagged releases it is the tag (calos-v1.1.5_x86_64.qcow2).
Tagged releases (vX.Y.Z) are published to versioned SourceForge folders (e.g. /1.2.0/) and linked from GitHub Releases. Use the latest GitHub Release to identify the current version; the actual files are linked from that release into its matching SourceForge folder (for example /1.1.5/). SourceForge generates MD5/SHA1/SHA256 checksums for every file on the files page.
CalOS inherits Universal Blue's ujust command system, so updating is one command from any terminal:
ujust update # update the system image, flatpaks, and containers, then rebootujust also provides ujust rollback, ujust toggle-updates, and many other recipes — run ujust with no arguments to list them all.
There are also plain aliases if you prefer to skip ujust:
calos-update # sudo bootc update && sudo reboot
calos-rollback # sudo bootc rollback && sudo reboot
calos-version # sudo bootc status
calos-switch-latest # sudo bootc switch ghcr.io/cstaks/calos:latest && sudo reboot| App | Replaces | Notes |
|---|---|---|
| Zed | VSCode | Primary IDE, GPU-accelerated |
| Brave | Firefox | Privacy-focused browser |
| Ghostty | GNOME Terminal | Modern GPU-accelerated terminal |
| Neovim + LazyVim | — | Terminal IDE, pre-configured for all users |
| lazygit | — | Git TUI |
| Starship | — | Shell prompt with CalOS branding |
| tmux | — | Terminal multiplexer |
| fastfetch | — | System info with CalOS ASCII art |
- Neovim + LazyVim — Preloaded starter config, first launch installs all plugins automatically
- lazygit — Terminal Git interface
- ripgrep, fd-find — Fast search tools
- gcc, gcc-c++, make — Build toolchain
- unzip — Archive extraction
Need help or have questions? See SUPPORT.md for where to ask questions, report bugs, and request features.
v1.1.0 Desktop
| Role | Hex |
|---|---|
| Primary accent | #FF3B00 |
| Background | #050505 |
| Background 2 | #ffeee9 |
| Text | #E0E0E0 |
| Text 2 | #050505 |
Primary Logo
B&W
Alternate Logos
Social/OpenGraphs










