diff --git a/README.md b/README.md index d39bc127..2e0f9852 100644 --- a/README.md +++ b/README.md @@ -4,76 +4,81 @@ A WIP common main image for all other Ublue images. +1. [Features](#Features) +1. [Tips and tricks](#Tips and tricks) +1. [How to install](#How to install) +1. [Verification](#Verification) +1. [Configuring Automatic Updates](#Configuring Automatic Updates) +1. [Making your own](#Making your own) + ## What is this? -These are Fedora images that have been modified with the following quality of life features: +You should be familiar with [immutable desktops](https://silverblue.fedoraproject.org/about). These are Fedora-ostree images that have been modified with the following quality of life features: ## Features - Start with a Fedora image - Adds the following packages to the base image: - Hardware acceleration and codecs - - `distrobox` for terminal CLI + - `distrobox` for terminal CLI and user package installation - A selection of [udev rules and service units](https://github.com/ublue-os/config) - Various other tools: check out the [complete list of packages](packages.json) - Sets automatic staging of updates for the system - Sets flatpaks to update twice a day - Everything else (desktop, artwork, etc) remains stock so you can use this as a good starting image -## How to use these: +## Tips and Tricks + +These images are immutable, you can't, and really shouldn't, install packages like in a mutable "normal" distribution. +Applications should be installed using Flatpak whenever possible (execpt for IDEs in some cases, more below). +Should that not be possible, you can use [distrobox](https://github.com/89luca89/distrobox) to have images of mutable distributions where you can install applications normally. +Want an application that is only available on Arch Linux *and* one that is only on Ubuntu? Well, now can have both! + +Distrobox is very powerful, for example you can use to [host your entire development environment](https://github.com/89luca89/distrobox/blob/main/docs/posts/integrate_vscode_distrobox.md) completely separate from your host system. Or use it to run a [container for your virtual machines](https://github.com/89luca89/distrobox/blob/main/docs/posts/run_libvirt_in_distrobox.md). + +ublue-os/base-main is also very well suited for servers, and users are expected to make full use of `podman` to host containers running "typical" server software i.e. `nginx`, `caddy` and others. + +## How to install: Note: If you have an Nvidia GPU use [the ublue-os/nvidia images instead](https://github.com/ublue-os/nvidia) To rebase an existing Silverblue/Kinoite machine to the latest release (37): + 1. Download and install [Fedora Silverblue](https://silverblue.fedoraproject.org/download) 1. After you reboot you should [pin the working deployment](https://docs.fedoraproject.org/en-US/fedora-silverblue/faq/#_about_using_silverblue) so you can safely rollback 1. Open a terminal and use one of the following commands to rebase the OS: -#### Silverblue (GNOME): +**Silverblue (GNOME):** sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/silverblue-main:37 -#### Kinoite (KDE) +**Kinoite (KDE)** sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/kinoite-main:37 -#### LXQt +**LXQt** sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/lxqt-main:37 -#### MATE +**MATE** sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/mate-main:37 -#### Sericea (Sway) +**Sericea (Sway)** Fedora 38-only, recommended only for advanced users sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/sericea-main:38 -#### Vauxite (XFCE) +**Vauxite (XFCE)** sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/vauxite-main:37 -#### Base +**Base** Which does not come with any desktops or window managers: sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/base-main:37 -## Architecture - -This image can be used as an end user desktop or as something to derive from. -If you're interested in [making your own](https://ublue.it/making-your-own/): - -Graph of the [uBlue architecture](https://ublue.it/architecture/): - -![](https://ublue.it/ublue-architecture-graph.png) - -### Adding Applications - -Edit the `packages.json` file with your preferred applications. -Flatpak installation is a WIP. - ## Verification These images are signed with sisgstore's [cosign](https://docs.sigstore.dev/cosign/overview/). You can verify the signature by downloading the `cosign.pub` key from this repo and running the following command: @@ -103,3 +108,16 @@ AutomaticUpdatePolicy=check ## Making your own See [the documentation](https://ublue.it/making-your-own/) on how use this image in your own projects. + +### Architecture + +This image can be used as an end user desktop or as something to derive from. +[The architecture](https://ublue.it/architecture/) looks like this: + +![](https://ublue.it/ublue-architecture-graph.png) + +### Adding Applications + +Edit the `packages.json` file with your preferred applications. +Flatpak installation is a WIP. +