2023-08-27 20:39:53 -04:00
2023-08-27 16:05:08 -04:00
2023-08-13 13:42:29 -04:00
2023-08-05 16:51:20 -04:00
2023-08-06 23:34:52 -04:00
2023-03-03 21:31:29 -05:00
2022-12-08 12:07:40 -05:00
2023-07-29 16:55:33 -04:00
2023-08-27 20:39:53 -04:00
2023-08-27 20:39:53 -04:00

wunker-os

pipeline status

This is a constantly updating template repository for creating a native container image designed to be customized however you want.

For more info, check out the uBlue homepage and the main uBlue repo

Installation

To rebase an existing Silverblue/Kinoite installation to the latest build:

sudo rpm-ostree rebase ostree-unverified-registry:registry.gitlab.com/wunker-bunker/wunker-os/jp/desktop:latest

This repository builds date tags as well, so if you want to rebase to a particular day's build:

sudo rpm-ostree rebase ostree-unverified-registry:registry.gitlab.com/wunker-bunker/wunker-os/jp/desktop:20230729

The latest tag will automatically point to the latest build. That build will still always use the Fedora version specified in recipe.yml, so you won't get accidentally updated to the next major version.

Just

The just task runner is included in ublue-os/main-derived images, and we have provided several template commands which help you perform further customization after first boot.

You can merge our template justfiles into your own local configuration. When just supports include directives, you will instead be able to simply include these paths into your own justfile, without having to copy anything manually.

Run the following commands when you're logged into the operating system, to merge uBlue's provided configurations into your own user config. (The "touch" command is only necessary on certain shells which won't let you merge into non-existent files.)

touch ~/.justfile
cat /usr/share/ublue-os/just/main.just >> ~/.justfile
cat /usr/share/ublue-os/just/custom.just >> ~/.justfile

After doing that, you'll be able to run the following commands:

  • just - Show all tasks, more will be added in the future
  • just bios - Reboot into the system bios (Useful for dualbooting)
  • just changelogs - Show the changelogs of the pending update
  • Set up distroboxes for the following images:
    • just distrobox-boxkit
    • just distrobox-debian
    • just distrobox-opensuse
    • just distrobox-ubuntu
  • just setup-flatpaks - Install all of the flatpaks declared in recipe.yml
  • just setup-gaming - Install Steam, Heroic Game Launcher, OBS Studio, Discord, Boatswain, Bottles, and ProtonUp-Qt. MangoHud is installed and enabled by default, hit right Shift-F12 to toggle
  • just nix-me-up - Install Nix with dnkmmr69420's Nix Silverblue install script
  • just update - Update rpm-ostree, flatpaks, and distroboxes in one command

Check the just website for tips on modifying and adding your own recipes.

Building Variants

In the .gitlab-ci.yml file, you will want to overide the .recipe-matrix job with a list of RECIPE and USER combos like the following:

.recipe-matrix:
  parallel:
    matrix:
      - RECIPE:
          - recipe-desktop.yml
          - recipe-framework-13.yml
        USER: jp
      - RECIPE: recipe-cp.yml
        USER: cp

The pipeline will run 3 build jobs where:

  1. The recipe used is recipe-desktop.yml and build will copy the usr-jp/ directory and use Containerfile.jp
  2. The recipe used is recipe-framework-13.yml and build will copy the usr-jp/ directory and use Containerfile.jp
  3. The recipe used is recipe-cp.yml and build will copy the usr-cp/ directory and use Containerfile.cp

Default Build

If a matrix is not supplied, the file recipe.yml will be used and the usr/ directory will be copied and built with Containerfile.

Verification

These images are signed with sisgstore's cosign. You can verify the signature by running the following command:

cosign verify --certificate-identity "https://gitlab.com/wunker-bunker/wunker-os//.gitlab-ci.yml@refs/heads/main" --certificate-oidc-issuer "https://gitlab.com" registry.gitlab.com/wunker-bunker/wunker-os/<USER>/<VARIANT>:<TAG>

Where USER is the user to match against the usr directory and Containerfile, VARIANT is the image from the recipe you choose, and TAG is the version of the image.

Description
No description provided
Readme Apache-2.0 17 MiB
Languages
Shell 83.3%
Nushell 9.1%
Just 7.6%