An awesome curated knowledge-base about atomic systems
These should be enough to get you started:
- “Immutable” → reprovisionable, anti-hysteresis - Colin Walters
- Immutable Operating Systems: A Survey - Sebastian Böhm and Guido Wirtz, University of Bamberg, Germany - A short scientific publication that conceptualizes, defines, and outlines use cases and limitations of Immutable Operating Systems.
- The Fedora Podcast - Episode 30 - Jorge Castro and Timothee Ravier talk about Silverblue and the future of Immutable Desktops.
- Linux Downtime - Episode 39 - I went on this podcast to talk about this list, image based desktops, flatpaks, and all that stuff. If you are lost start here!
- The Read Only Scenario - An excellent introduction to these kinds of desktops
- openSUSE MicroOS - Richard Brown
- Can MicroOS Desktop be your Daily Driver? - Dario Faggioli
- MicroOS Desktop: The Road to Daily Driving - Richard Brown
- 19 talks on Fedora Silverblue and related technologies - many recorded talks here, too many to list here, but worth it!
- ostree CLI for OS management - Denis Pynkin
- Let's try Fedora Silverblue - Adam Šamalik
- How Nix and NixOS Get So Close to Perfect - Xe
- Fedora Silverblue: is this the FUTURE of Linux? - Project of the Month - older video but an excellent review of the major components
- Learning the difference between Red Hat distributions and what Fedora Silverblue is - JJ Asghar
- Linux After Dark – Episode 07 - the hosts tried silverblue and did an episode on their experiences.
- Fedora Silverblue: An Immutable OS
- Fedora 36 Silverblue: The 3 Guiding Principles for a Successful Experience - excellent introduction video that covers lots of tips and tricks.
- How we build and maintain Kairos - Mauro Morales, FOSDEM 2023
- Meet Kairos, an OSS project building the immutable Kubernetes edge - Ettore Di Giacinto and Nic Vermande
The Future is Now™, try one of these today!
- Fedora Atomic - The official atomic editons of Fedora
- Useful Documentation
- Ostree Native Container - Spec on Silverblue moving to a native OCI container model (Huge change)
- Development on Fedora Silverblue and Fedora Kinoite
- Setting yourself up for success before trying Fedora Silverblue
- Day-to-day differences between Fedora Silverblue and Ubuntu
- Spins
- Fedora Silverblue - An atomic-based Fedora based on the GNOME desktop environment
- Fedora Kinoite - An atomic-based Fedora based on KDE Plasma desktop enviroment
- Fedora Sway Atomic - An atomic-based Fedora based on the Sway tiling window manager
- Fedora Budgie Atomic - An atomic-based Fedora based on Budgie desktop environment
- Fedora CoreOS - An atomic-based Fedora focused on servers
- Related Projects
- Universal Blue - An organization dedicated to build and distribute cloud-native OSTree OCI images originally based on Fedora Atomic. list of source images, list of end-user images
- Bazzite - An Universal Blue OCI image focused on Desktop Gaming, based on Fedora Kinoite; the gold standard of atomic desktop linux gaming
- Bluefin - An Universal Blue OCI image focused on general and development use, based on Fedora Silverblue
- Aurora - An Universal Blue OCI image focused on general and development use, based on Fedora Kinoite
- uCore - An Universal Blue OCI image focused on server use, based on Fedora CoreOS
- Universal Blue - An organization dedicated to build and distribute cloud-native OSTree OCI images originally based on Fedora Atomic. list of source images, list of end-user images
- Useful Documentation
- openSUSE Atomic
- openSUSE MicroOS - An atomic variant of openSUSE for servers
- openSUSE Aeon - An atomic variant of openSUSE with the GNOME desktop environment, featuring containers with Distrobox.
- openSUSE Kalpa - An atomic variant of openSUSE with the KDE Plasma desktop environment, featuring containers with Distrobox.
- NixOS - a Linux distribution based on Nix package manager
- awesome-nix - A curated list of the best resources in the Nix community
- Note: The nix community has both an OS and a packaging system and is already large and vibrant, I can't do it justice so just use the list above to dive in
- SnowflakeOS - A NixOS based Linux distribution focused on beginner friendliness and ease of use.
- Guix System - a Linux distribution based on the Guix package manager based on Nix
- RDE - Developer and power user friendly GNU/Linux distribution based on GNU Guix functional package manager
- EndlessOS - A Debian derivative distribution with a read-only root filesystem managed by OSTree, and is Flatpak-only for application delivery and update. One of the easiest (but constraining) linux distribution
- ChromiumOS - Good design document on how Chromium implements its autoupdate mechanism
- ChromeOS (Flex) - the cloud-first, fast, easy-to-manage, and secure operating system by Google. flex is the non-chromebook version
- VanillaOS - Vanilla OS is a Debian Sid Linux-based Point Release distribution that receives updates at the right time without sacrificing security and functionality.
- Nitrux - A Debian-based Linux distribution that features NX Desktop and the MauiKit Applications suite.
- blendOS - blendOS is an operating system that seamlessly blends all your Linux distributions into one.
- Kairos - The immutable Linux meta-distribution for edge Kubernetes.
- ChimeraOS - A Steam Big Picture based couch gaming OS utilizing frzr
- Arkane Linux - Arch based immutable distro which uses Arkdep
There historically have been a few versions of "toolbox", and we're probably at a point where it's more of a class of software than an individual project. I classify toolboxes as "A terminal front end to container runtimes focusing on transparent ease of use of container images". Someone smarter please make a better definition.
- Toolbx - Tool for containerized command line environments on Linux
- Toolbx Tuner - Toolbx Tuner is a tool to improve the experience with toolbx.
- Toolbx Images - Community maintained container images to use with toolbx (Check these out if you need other distros outside the default Fedora ones)
- toolbox-images - a collection of container images for usage with the toolbox command. This is an attempt at providing more feature parity with regard to toolboxes for distributions other than Fedora.
- Toolbox GUI - A graphical interface for interacting with Toolbox, written with GTK3 and Python
- Distrobox - Tool for containerized command line environments on Linux, distribution agnostic, supports a wide variety of containers , works both with podman and docker - This is a great tool to start with on your existing distro to learn working with day-to-day container workflows.
- BoxBuddy - A GUI manager for your Distroboxes, made with GTK4 and Libadwaita.
- devbox - Devbox is a command-line tool that lets you easily create isolated shells and containers.
- apx - The default package manager for VanillaOS, utilising Distrobox to manage containers for various distros on the user's behalf.
Things that are the building blocks for all the stuff we're talking about here.
- podman - Podman is a daemonless container engine for developing, managing, and running OCI Containers on your Linux System.
- gnome-shell-extension-containers - This neat extension lets you see what containers you have, start/stop/restart, pause, and shell into them right from the notification area.
- Podman Desktop - Manage different container engines from a single UI and tray icon
- Pods - a podman desktop application (formely known as Symfony)
- Flatpak - a utility for software deployment and package management for Linux. It is advertised as offering a sandbox environment in which users can run application software in isolation from the rest of the system.
Most of us will not use these tools directly, but useful for developers:
- libostree (a.k.a. OSTree) - Operating system and container binary deployment and upgrades
- Upcoming experimental features in rpm-ostree
- flatpak-ostree-dedup-stats.py - script to show you how well the ostree deduplication is working, this one is neat
- apt2ostree - apt2ostree is used for building Debian/Ubuntu based ostree images. It performs the same task as debootstrap/multistrap but the output is an ostree tree rather than a rootfs in a directory.
- Image Builder - osbuild - Build Infrastructure for Operating Systems
- ABRoot - A utility which provides full immutability and atomicity to a Linux system, by transacting between two root filesystems. Updates are performed using OCI images, to ensure that the system is always in a consistent state.
- BootC - Transactional, in-place operating system updates using OCI/Docker container images. (Experimental)
- bootupd - Distribution-independent updates for bootloaders.
- Elemental Toolkit - A toolkit which allows container images to be bootable in VMs, baremetals, embedded devices, and much more. Elemental and derivatives share a common feature set, can be upgraded with a A/B mechanism, and upgrades are delivered with standard container registries.
- GoldBoot - a command-line utility that builds machine images for both servers and workstations alike.
- Arkdep - Toolkit for building, deploying and maintaining immutable, atomic, btrfs-based systems
- frzr - A deployment and automatic update mechanism for operating systems, utilizing pre-built read-only btrfs subvolumes.
aka. duct tape.
- Integrate VSCode and Distrobox
- silverblue-nix - Andrew Hayzen's steps for getting nix working on Fedora Silverblue.
- Toolbox Visual Studio Code Integration - Toolbox Visual Studio Code integration
OSTree based systems allow for composable derivative distributions. If you're automating the config on systems like this please PR your config to share:
- workstation-ostree-config - Manifests for rpm-ostree based Fedora variants (start here!)
- ostree-pitti-workstation - Fedora minimal sway developer desktop
- vauxite - This is an rpm-ostree-based Fedora Xfce desktop.
- zepyros-dev's config
- JayDoubleau's config (ansiblue)
- Universal BLue - Community built OS images based on Fedora Silverblue
- ansible-silverblue - Jim Campbell's ansible playbook for silverblue
- Sodalite: A Pantheon Experience for Silverblue
- silvernobara - Fedora Silverblue with Project Nobara enhancements
Here are some people walking through their setups:
-
Reddit:
-
Discord Servers:
-
Matrix Rooms:
Things that don't fit anywhere else but might be useful reference material
- Introducing flox - Nix for simplicity and scale - Barry Plunkett