Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Reorder und add more info about distrobox to README #73

Merged
merged 1 commit into from
Mar 15, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 42 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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.