refactor: clean up the template repo
many of these docs are now on the website, a lot of this is just baggage from startingpoint
This commit is contained in:
@@ -1,56 +0,0 @@
|
||||
# Configuring your image
|
||||
|
||||
The main file of your is *the recipe file*. You can have multiple recipe files, and the ones to build are declared in the matrix section of [build.yml](../.github/workflows/build.yml).
|
||||
|
||||
## Basic options
|
||||
|
||||
At the top of the recipe, there are four *mandatory* configuration options.
|
||||
|
||||
`name:` is the name of the image that is used when rebasing to it. For example, the name "sapphire" would result in the final URL of the container being `ghcr.io/<yourusername>/sapphire`.
|
||||
|
||||
`description:` is a short description of your image that will be attached to your image's metadata.
|
||||
|
||||
`base-image:` is the URL of the image your image will be built upon.
|
||||
|
||||
`image-version:` is the version tag of the `base-image` that will be pulled. For example, Universal Blue's images build with Fedora version tags (`38`, `39`), with the `latest` tag for the latest major version, and [many other tags](https://github.com/ublue-os/main/pkgs/container/base-main/versions?filters%5Bversion_type%5D=tagged).
|
||||
|
||||
## Modules
|
||||
|
||||
The core of startingpoint's configuration is built around the idea of modules. Modules are scripts in the [`../modules`](../modules/) directory that you configure under `modules:` in the recipe. They are executed in order, and can run arbitrary shell commands and write any files.
|
||||
|
||||
This repository fetches some useful default modules from [`ublue-os/bling`](https://github.com/ublue-os/bling/), like [`rpm-ostree`](https://universal-blue.org/tinker/modules/rpm-ostree) for pseudo-declarative package management, [`bling`](https://universal-blue.org/tinker/modules/bling) for pulling extra components from [`ublue-os/bling`](https://github.com/ublue-os/bling), and [`files`](https://universal-blue.org/tinker/modules/files) for copying files from the `config/files/` directory into your image.
|
||||
|
||||
For a comprehensive list of modules, their in-depth documentation and example configuration, check out [the Modules page on the website](https://universal-blue.org/tinker/modules/).
|
||||
|
||||
### Building multiple images and including module configuration from other files
|
||||
|
||||
To build multiple images, you need to create another recipe.yml file, which you should name based on what kind of image you want it to build. Then, edit the [`build.yml`](../.github/workflows/build.yml) file. Inside the file, under `jobs: strategy: matrix:`, there's a list of recipe files to build images, which you need to add your new recipe file to. These should be paths to files inside the `config` directory.
|
||||
|
||||
Module configuration can be included from other files using the `from-file` syntax. The value should be a path to a file inside the `config` directory. For example, the following snippet could be used to include the configuration for installing a set of packages common to multiple images.
|
||||
```yaml
|
||||
modules:
|
||||
- from-file: common-packages.yml
|
||||
```
|
||||
And inside config/common-packages.yml
|
||||
```yaml
|
||||
type: rpm-ostree
|
||||
install:
|
||||
- i3
|
||||
- dunst
|
||||
- rofi
|
||||
- kitty
|
||||
```
|
||||
An external module can also include multiple modules.
|
||||
```yaml
|
||||
# config/common.yml
|
||||
modules:
|
||||
- type: files
|
||||
files:
|
||||
- usr: /usr
|
||||
- type: rpm-ostree
|
||||
install:
|
||||
- i3
|
||||
- dunst
|
||||
- rofi
|
||||
- kitty
|
||||
```
|
||||
@@ -1,2 +0,0 @@
|
||||
# this file is a placeholder,
|
||||
# making changes here is not supported
|
||||
@@ -1,7 +1,7 @@
|
||||
# image will be published to ghcr.io/<user>/<name>
|
||||
name: startingpoint
|
||||
name: template
|
||||
# description will be included in the image's metadata
|
||||
description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/
|
||||
description: This is my personal OS image.
|
||||
|
||||
# the base image to build on top of (FROM) and the version tag to use
|
||||
base-image: ghcr.io/ublue-os/silverblue-main
|
||||
@@ -12,13 +12,10 @@ image-version: 39 # latest is also supported if you want new updates ASAP
|
||||
modules:
|
||||
- type: files
|
||||
files:
|
||||
- usr: /usr # copy static configurations
|
||||
#
|
||||
# copies config/files/usr into your image's /usr
|
||||
#
|
||||
- usr: /usr # copies config/files/usr into your image's /usr
|
||||
# configuration you wish to end up in /etc/ on the booted system
|
||||
# should be added into /usr/etc/ as that is the proper "distro"
|
||||
# config directory on ostree. Read more in the files module's README
|
||||
# config directory on ostree. Read more in the files module's documentation
|
||||
|
||||
- type: rpm-ostree
|
||||
repos:
|
||||
@@ -31,26 +28,21 @@ modules:
|
||||
- firefox-langpacks # langpacks needs to also be removed to prevent dependency problems
|
||||
|
||||
- type: default-flatpaks
|
||||
notify: true # Send notification after install/uninstall is finished (true/false)
|
||||
notify: true # Send notification after install/uninstall is finished (true/false)
|
||||
system:
|
||||
# If no repo information is specified, Flathub will be used by default
|
||||
repo-url: https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
repo-name: flathub
|
||||
# repo-url: https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
# repo-name: flathub
|
||||
# repo-title: "Flathub (system-wide)" # Optional; this sets the remote's user-facing name in graphical frontends like GNOME Software
|
||||
install:
|
||||
# - org.gnome.Loupe
|
||||
# - one.ablaze.floorp//lightning # This is an example of flatpak which has multiple branches in selection (flatpak//branch).
|
||||
# Flatpak runtimes are not supported (like org.winehq.Wine//stable-23.08).
|
||||
# Only normal flatpak applications are (like Floorp Lightning web browser in this example).
|
||||
# Multiple install of same flatpaks with different branches is not supported.
|
||||
- org.mozilla.firefox
|
||||
# - org.gnome.Loupe
|
||||
# - one.ablaze.floorp//lightning # This is an example of flatpak which has multiple branches in selection (flatpak//branch).
|
||||
# Flatpak runtimes are not supported (like org.winehq.Wine//stable-23.08),
|
||||
# only normal flatpak applications are (like Floorp Lightning web browser in this example).
|
||||
# Installing different branches of the same Flatpak is not supported.
|
||||
remove:
|
||||
# - org.gnome.eog
|
||||
#
|
||||
# A flatpak repo can also be added without having to install flatpaks,
|
||||
# as long as one of the repo- fields is present
|
||||
user:
|
||||
repo-url: https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||
repo-name: flathub
|
||||
|
||||
- type: script
|
||||
scripts:
|
||||
|
||||
Reference in New Issue
Block a user