Update REAMDE to better reflect how these image are used
This commit is contained in:
75
README.md
75
README.md
@@ -2,89 +2,22 @@
|
||||
|
||||
[](https://gitlab.com/wunker-bunker/wunker-os/-/commits/main)
|
||||
|
||||
This is a constantly updating template repository for creating [a native container image](https://fedoraproject.org/wiki/Changes/OstreeNativeContainerStable) designed to be customized however you want.
|
||||
|
||||
For more info, check out the [uBlue homepage](https://ublue.it/) and the [main uBlue repo](https://github.com/ublue-os/main/)
|
||||
For more info, check out the [blue-build homepage](https://blue-build.org/).
|
||||
|
||||
## Installation
|
||||
|
||||
To rebase an existing Silverblue/Kinoite installation to the latest build:
|
||||
|
||||
```bash
|
||||
sudo rpm-ostree rebase ostree-unverified-registry:registry.gitlab.com/wunker-bunker/wunker-os/jp/desktop:latest
|
||||
sudo rpm-ostree rebase ostree-image-signed:docker://registry.gitlab.com/wunker-bunker/wunker-os/jp-desktop:39
|
||||
```
|
||||
|
||||
This repository builds date tags as well, so if you want to rebase to a particular day's build:
|
||||
|
||||
```bash
|
||||
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](https://just.systems/man/en/chapter_52.html), 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.)
|
||||
|
||||
```sh
|
||||
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](https://just.systems) 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:
|
||||
|
||||
```yaml
|
||||
.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](https://docs.sigstore.dev/cosign/overview/). You can verify the signature by running the following command:
|
||||
|
||||
```bash
|
||||
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>
|
||||
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/<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.
|
||||
Where `VARIANT` is the image from the recipe you choose, and `TAG` is the version of the image.
|
||||
|
||||
Reference in New Issue
Block a user