Go to file
Martin Pitt 8a869f9d6d Unignore flatpak 2021-05-01 13:49:27 +02:00
.github/workflows Add GitHub workflow for building the OSTree repository 2021-05-01 13:36:56 +02:00
2015-RH-IT-Root-CA.pem Define tree for pitti's workstation 2021-05-01 13:36:56 +02:00
README.md Define tree for pitti's workstation 2021-05-01 13:36:56 +02:00
compose.sh Define tree for pitti's workstation 2021-05-01 13:36:56 +02:00
comps-sync-exclude-list.yml comps-sync-exclude: Keep ntfs-3g (already included) 2021-04-12 12:33:50 +02:00
comps-sync.py Replace black/white list with exclude/include list 2021-01-04 11:20:45 +01:00
config.ini use download.fp.o to download content from 2016-09-18 21:06:44 -05:00
deepin-desktop-pkgs.yaml comps-sync rawhide 2020-07-16 2020-07-16 17:13:22 +02:00
fedora-34-updates.repo Define tree for pitti's workstation 2021-05-01 13:36:56 +02:00
fedora-34.repo repos: Fixup repo names and EOF 2021-02-19 10:47:49 +01:00
fedora-base.yaml Pre-enable updates repo 2021-02-19 11:03:56 +01:00
fedora-common-ostree-pkgs.yaml comps-sync f34 2021-04-23 2021-04-23 09:44:07 +02:00
fedora-common-ostree.yaml Unignore flatpak 2021-05-01 13:49:27 +02:00
fedora-deepin.yaml Pre-enable updates repo 2021-02-19 11:03:56 +01:00
fedora-kinoite.yaml Kinoite: Explicitely exclude PackageKit & Offline updates support 2021-03-25 12:49:29 +01:00
fedora-lxqt.yaml Pre-enable updates repo 2021-02-19 11:03:56 +01:00
fedora-mate.yaml Pre-enable updates repo 2021-02-19 11:03:56 +01:00
fedora-pantheon.yaml Pre-enable updates repo 2021-02-19 11:03:56 +01:00
fedora-silverblue.yaml Include totem-video-thumbnailer for video thumbnailing in Nautilus 2021-02-23 14:35:40 +01:00
fedora-xfce.yaml Pre-enable updates repo 2021-02-19 11:03:56 +01:00
github-fetch.sh Add GitHub workflow for building the OSTree repository 2021-05-01 13:36:56 +02:00
gnome-desktop-pkgs.yaml comps-sync f34 2020-02-18 2021-02-18 18:18:27 +01:00
group Initial commit 2016-04-05 08:39:25 +02:00
kde-desktop-pkgs.yaml comps-sync f34 2021-04-10 2021-04-10 16:41:33 +02:00
lxqt-desktop-pkgs.yaml comps-sync rawhide 2020-10-06 2020-10-06 20:48:24 +02:00
mate-desktop-pkgs.yaml comps-sync f34 2021-04-10 2021-04-10 16:41:33 +02:00
pantheon-desktop-pkgs.yaml comps-sync f34 2021-03-25 2021-03-25 12:49:29 +01:00
passwd Initial commit 2016-04-05 08:39:25 +02:00
pitti-desktop.yaml Install selinux-policy-targeted 2021-05-01 13:42:34 +02:00
pitti-post.sh Move back from iwd to wpa_supplicant 2021-05-01 13:36:56 +02:00
post.sh post: Disable modular repositories 2018-09-09 09:04:48 -04:00
rpmfusion.repo Define tree for pitti's workstation 2021-05-01 13:36:56 +02:00
xfce-desktop-pkgs.yaml comps-sync f34 2020-02-18 2021-02-18 18:18:27 +01:00

README.md

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 to my server.

To use it from an existing OSTree based system like Fedora CoreOS or Fedora Silverblue, add my server URL as new remote and rebase your tree to it:

sudo ostree remote add --no-gpg-verify piware https://piware.de/ostree/pitti-workstation/
sudo rpm-ostree rebase piware:pitti-desktop

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.

Original README for workstation-ostree-config

For some background, see:

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

High level design

The goal of the system is to be a workstation, using rpm-ostree for the base OS, and a combination of Docker and Flatpak containers, as well as virtualization tools such as Vagrant.

Status

This project is actively maintained and is ready for use by sophisticated and interested users, but not ready for widespread promotion.

See some [https://lists.fedoraproject.org/archives/list/desktop@lists.fedoraproject.org/thread/J6BJS7Z4NKNOQUZWGYXZZIEKYMWBBSUY/](discussion about the first release).

Installing

See the Silverblue documentation at https://docs.fedoraproject.org/en-US/fedora-silverblue/installation-guide/. There's also a guide for installing inside an existing system: https://docs.fedoraproject.org/en-US/fedora-silverblue/installation-dual-boot/.

Important issues:

Using the system

One of the first things you should do use is use a container runtime of your choice to manage one or more "pet" containers. This is where you will use yum/dnf to install utilities.

With docker for example, you can use the -v /srv:/srv command line option so these containers can share content with your host (such as git repositories). Note that if you want to share content between multiple Docker containers and the host (e.g. your desktop session), you should execute (once):

sudo chcon -R -h -t container_file_t /var/srv

Next, let's try flatpak. Before you do: There's a known flatpak issue on AtomicWS - run this workaround, which you only need to do once. After that, try flatpak.

If you are a developer for server applications, try oc cluster up to create a local OpenShift v3 cluster.

Finally, try out rpm-ostree install to layer additional packages directly on the host. This is needed for "host extensions" - privileged software that doesn't make sense to live in a container. For example, rpm-ostree install powerline to use that software for the shell prompts of the host. Another good example is rpm-ostree install vagrant-libvirt to use Vagrant to manage VMs.

Future work

  • GNOME Software support for both rpm-ostree/flatpak and possibly docker
  • automated tests that run on this content