Skip to content

Latest commit

 

History

History
157 lines (110 loc) · 5.33 KB

README.md

File metadata and controls

157 lines (110 loc) · 5.33 KB

Martin Pitt's desktop

This is an rpm-ostree based minimal Fedora developer desktop with the sway window manager and podman/toolbox for doing development and running less common graphical applications.

It gets automatically built every week and published as container image, for using with ostree native containers.

To use it from an existing OSTree based system like Fedora CoreOS or Fedora Silverblue, rebase your tree to it:

sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/martinpitt/workstation-ostree-config

After that, you can install weekly updates with

sudo rpm-ostree upgrade

If anything goes wrong, you can go back to the previous version with sudo rpm-ostree rollback.

Login

There is no graphical login manager. I log in on VT1, and my .bashrc automatically starts the GNOME SSH agent and sway:

if [ "$(tty)" = "/dev/tty1" ]; then
    export `gnome-keyring-daemon --start --components=ssh`
    export BROWSER=firefox-wayland
    export XDG_CURRENT_DESKTOP=sway
    exec sway > $XDG_RUNTIME_DIR/sway.log 2>&1
fi

Original README for workstation-ostree-config

Manifests for rpm-ostree based Fedora variants

This is the configuration needed to create rpm-ostree based variants of Fedora. Each variant is described in a YAML treefile which is then used by rpm-ostree to compose an ostree commit with the package requested.

In the Fedora infrastructure, this happens via pungi with Lorax (templates).

Fedora Silverblue

Fedora Kinoite

Building

Instructions to perform a local build of Silverblue:

# Clone the config
git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config

# Prepare directories
mkdir -p repo cache
ostree --repo=repo init --mode=archive

# Build (compose) the variant of your choice
sudo rpm-ostree compose tree --repo=repo --cachedir=cache fedora-silverblue.yaml

# Update summary file
ostree summary --repo=repo --update

Testing

Instructions to test the resulting build:

  • First, serve the ostree repo using an HTTP server. You can use any static file server. For example using https://github.com/TheWaWaR/simple-http-server:

    simple-http-server --index --ip 192.168.122.1 --port 8000
    
  • Then, on an already installed Silverblue system:

# Add an ostree remote
sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify

# Pin the currently deployed (and probably working) version
sudo ostree admin pin 0

# List refs from variant remote
sudo ostree remote refs testremote

# Switch to your variant
sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue

# Reboot and test!

Branching instructions for new Fedora releases

Follow those steps during the Fedora branch process in Fedora:

Fedora Ansible

Make a PR similar to ansible#1318 in fedora-infra/ansible.

On Rawhide / main branch

sed -i "s/40/41/g" *.repo *.yaml comps-sync.py
mv fedora-40.repo fedora-41.repo
mv fedora-40-updates.repo fedora-41-updates.repo
sed -i "s/41/42/g" README.md
sed -i "s/40/41/g" README.md

On the new branch (f40)

rm fedora-rawhide.repo
sed -i "/- fedora-rawhide/d" *.yaml
sed -i "s/# - fedora-40/- fedora-40/" *.yaml
sed -i "s/ref: fedora\/rawhide/ref: fedora\/40/" *.yaml

Historical references

Building and testing instructions:

For some background, see:

Note also this repo obsoletes https://pagure.io/atomic-ws