diff --git a/scripts/build.sh b/build.sh similarity index 100% rename from scripts/build.sh rename to build.sh diff --git a/config/common-packages.yml b/config/common-packages.yml new file mode 100644 index 0000000..926d1b7 --- /dev/null +++ b/config/common-packages.yml @@ -0,0 +1,9 @@ +type: rpm-ostree + repos: + # - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%FEDORA_VERSION%/atim-starship-fedora-%FEDORA_VERSION%.repo + install: + - python3-pip + - libadwaita + remove: + - firefox + - firefox-langpacks diff --git a/config/recipe.yml b/config/recipe.yml new file mode 100644 index 0000000..62aa62a --- /dev/null +++ b/config/recipe.yml @@ -0,0 +1,21 @@ +name: startingpoint +description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/ +base-image: ghcr.io/ublue-os/silverblue-main +fedora-version: 38 + +modules: + - type: script + run: # commands directly run inside scripts directory + - ./autorun.sh pre + + - from-file: common-packages.yml # paths relative to "config" directory + + - type: script + run: + - ./autorun.sh post + + - type: yafti # no need for an enable-disable key, inclusion implicitly enables + # config: yafti.yml # if not specified, would use a default config + custom-flatpaks: + - Celluloid: io.github.celluloid_player.Celluloid + - Krita: org.kde.krita \ No newline at end of file diff --git a/scripts/README.md b/config/scripts/README.md similarity index 100% rename from scripts/README.md rename to config/scripts/README.md diff --git a/scripts/autorun.sh b/config/scripts/autorun.sh similarity index 100% rename from scripts/autorun.sh rename to config/scripts/autorun.sh diff --git a/scripts/example.sh b/config/scripts/example.sh similarity index 100% rename from scripts/example.sh rename to config/scripts/example.sh diff --git a/scripts/post/.gitkeep b/config/scripts/post/.gitkeep similarity index 100% rename from scripts/post/.gitkeep rename to config/scripts/post/.gitkeep diff --git a/scripts/pre/.gitkeep b/config/scripts/pre/.gitkeep similarity index 100% rename from scripts/pre/.gitkeep rename to config/scripts/pre/.gitkeep diff --git a/modules/rpm-ostree/rpm-ostree.sh b/modules/rpm-ostree/rpm-ostree.sh new file mode 100644 index 0000000..a777d0f --- /dev/null +++ b/modules/rpm-ostree/rpm-ostree.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail diff --git a/modules/script/script.sh b/modules/script/script.sh new file mode 100644 index 0000000..0fac16c --- /dev/null +++ b/modules/script/script.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail \ No newline at end of file diff --git a/modules/yafti/yafti.sh b/modules/yafti/yafti.sh new file mode 100644 index 0000000..0fac16c --- /dev/null +++ b/modules/yafti/yafti.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail \ No newline at end of file diff --git a/recipe.yml b/recipe.yml deleted file mode 100644 index debc00c..0000000 --- a/recipe.yml +++ /dev/null @@ -1,91 +0,0 @@ -# This file can only be edited inside the uBlue image's git repository. - -# The image will be at "ghcr.io/yourusername/name". -name: startingpoint - -# The native container image to build on top of. -# Warning: Non-uBlue images might not work properly, due to missing components. -base-image: ghcr.io/ublue-os/silverblue-main - -# What Fedora version to use. Use an explicit version or `latest`. -# If you use `latest`, you will be automatically updated to the next major -# Fedora version, assuming the image you're using as your base container -# builds with the tag (all uBlue images do this). -fedora-version: 38 - -# This description will be visible in the container metadata. -description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/ - -# These scripts will be executed during the container build. -# Place scripts in the "scripts/" dir and put the corresponding filenames here. -# Any files that aren't listed here won't be executed automatically, which -# means that you can place "helper" or "library" scripts in the folder too. -# You can use "autorun.sh" if you want an automatic runner. -scripts: - # "Pre" scripts run very early in the build, immediately after your custom - # repos have been imported (so that you can access those repos if necessary). - pre: - # Automatically runs script files within "scripts/pre/". - - autorun.sh - # Manually listed scripts. - # - example_pre.sh - - # "Post" scripts run at the end of the build process. - post: - # Automatically runs script files within "scripts/post/". - - autorun.sh - # Manually listed scripts. - # - example_post.sh - -# Custom RPM configuration. -# These changes will be integrated into your custom image at the "system level". -rpm: - # A list of urls of ".repo" files that should be added to your system. - # This is the proper way to add custom COPR repos to your image. - # Tip: Use `%FEDORA_VERSION%` instead of static Fedora version numbers, - # so that your repos automatically use your image's actual Fedora version, - # which greatly simplifies future maintenance of your custom recipe. - repos: - # Example (which also demonstrates version number expansion): - # - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%FEDORA_VERSION%/atim-starship-fedora-%FEDORA_VERSION%.repo - - # These RPMs will be installed from your enabled repositories (Fedora's own - # repos, extra "repos" you've added, etc). The installation is automatically - # performed via rpm-ostree during the image build, and will be pre-installed - # at the "system level" in the final image. - install: - # Needed for yafti (the first boot installer). Remove if you're not using yafti. - - python3-pip - # GNOME's GTK4 theme, Libadwaita. Already included in Silverblue, but not - # other spins. You can remove if you aren't using yafti, but many native - # apps and binaries require it, so it's a good idea to always include it - # if you ever download or compile any custom software on your machine. - - libadwaita - # Add your own below: - # Example: - # - tilix - - # These RPMs will be removed from the system image. This step happens during - # image build, BEFORE installing custom RPMs (from the "rpm.install" category). - remove: - # Remove the native firefox (from Fedora) in favor of the Flatpak. - - firefox - - firefox-langpacks - -# Configuration for the "first boot" experience, which is available after login. -firstboot: - # Whether to embed "yafti" into the OS image and configure it to autostart, - # which is the preferred uBlue "first boot" GUI. Set this to "false" if you've - # decided to use a different solution instead. - yafti: true - - # These Flatpaks will be suggested for install after user login, via the yafti - # "first boot" GUI. Everything below will be merged into the "yafti.yml" config - # on build, in a category named "Custom". If you prefer, you can instead remove - # everything below and directly edit "yafti.yml" to have more control. - # Alternatively, if you've disabled "yafti", you can still install these via - # the "just setup-flatpaks" command from our "custom.just" template file. - # This is just an example selection: - flatpaks: - - io.github.celluloid_player.Celluloid - - org.kde.krita