diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7fe7e63223..1c6dc38681 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,6 +48,7 @@ jobs: matrix: recipe: - recipe.yml + - recipe-nvidia.yml steps: # Checkout push-to-registry action GitHub repository diff --git a/recipe-nvidia.yml b/recipe-nvidia.yml new file mode 100644 index 0000000000..fd014c74da --- /dev/null +++ b/recipe-nvidia.yml @@ -0,0 +1,120 @@ + +# This file can only be edited inside the uBlue image's git repository. + +# The image will be at "ghcr.io/yourusername/name". +name: malachite-nvidia + +# 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-nvidia + +# 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: Opinionated Fedora Silverblue-based operating system image + +# 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 + - https://terra.fyralabs.com/terra.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 + - iwd + - python3-pip + - libadwaita + - tmux + - podman-docker + - cockpit + - cockpit-podman + - cockpit-navigator + - cockpit-file-sharing + - tailscale + - gnome-tweaks + - gnome-shell-extension-appindicator + - gnome-console + - gnome-shell-extension-dash-to-dock + - yaru-theme + - fish + - waydroid + - lxc + - gnome-shell-extension-gsconnect + - ubuntumono-nerd-fonts + - ubuntu-nerd-fonts + + # 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 + - wpa_supplicant + - gnome-terminal + - gnome-terminal-nautilus + - htop + - nvtop + - gnome-tour + +# 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