Compare commits

..

31 Commits

Author SHA1 Message Date
58adb63049 Don't install microsoft fonts 2025-12-04 16:40:14 -05:00
338c24fe2e Fix installing nvidia akmod for F43 2025-12-04 13:51:14 -05:00
2f847aeddd Remove ublue packages 2025-12-04 10:53:09 -05:00
b09e9879ea Skip unavailable packages for F43 2025-12-04 09:16:29 -05:00
f4bcbc04d3 Pin end images to latest; update base-combo to 43 2025-12-03 18:58:00 -05:00
74ba39ab18 Add signing for cp-laptop 2025-11-30 15:07:46 -05:00
07f50aff94 Install archipelago 2025-11-30 14:47:48 -05:00
6b6fe0d4ed Install xdg-terminal-exec 2025-11-30 14:12:45 -05:00
65a94d61be Don't pass max of 128 2025-11-29 17:13:17 -05:00
ea368d11ae Don't build base-images for now 2025-11-29 16:37:28 -05:00
154346df3f Set max layers to 200 2025-11-29 16:36:01 -05:00
3eefec1d1e Chunk build all the images 2025-11-29 13:21:29 -05:00
fde2d90e5e Install blujust 2025-11-29 13:12:33 -05:00
e0808db4ff Fix needs 2025-11-28 11:48:42 -05:00
e22e970015 Fix needs 2025-11-28 11:48:02 -05:00
91160f0fe3 Set combo images to use build-chunked-oci 2025-11-28 11:46:17 -05:00
591541c1da Don't install BizHawk in the image 2025-11-16 00:41:29 -05:00
7bccea4a73 Force build pg-desktop-nvidia.yml 2025-11-15 14:37:12 -05:00
bdfdf10f9c Install BizHawk and Archipelago 2025-11-15 14:26:17 -05:00
bdef34c4be Create pg-desktop-nvidia recipe 2025-11-15 13:40:13 -05:00
fc4f0b90f8 Update r2modman 2025-11-13 21:45:56 -05:00
a1ca549405 Install mono-core 2025-11-06 21:36:41 -05:00
e929042bca Rechunk again 2025-10-15 21:09:52 -04:00
603ada9db0 Install ramalama on fw-desktop 2025-10-15 21:04:06 -04:00
2cd4b439e7 Update wke-server to build off of base 2025-10-12 22:10:04 -04:00
5bc6818d43 Temp no rechunk 2025-10-11 20:44:01 -04:00
b8477a0f4c Allow installing weak deps 2025-10-11 20:06:51 -04:00
174686f691 Don't remove some files from ujust 2025-10-11 14:49:47 -04:00
751a290b95 Don't remove fedora-thirdparty 2025-10-11 14:48:35 -04:00
730b498ab2 Fix needs 2025-10-09 23:02:51 -04:00
372661b13d Better parallel jobs 2025-10-09 23:02:01 -04:00
21 changed files with 416 additions and 78 deletions

View File

@@ -19,11 +19,12 @@ variables:
DOCKER_CERT_PATH: $DOCKER_TLS_CERTDIR/client DOCKER_CERT_PATH: $DOCKER_TLS_CERTDIR/client
RUST_LOG_STYLE: always RUST_LOG_STYLE: always
BB_SIGNING_DRIVER: sigstore BB_SIGNING_DRIVER: sigstore
BB_CACHE_LAYERS: 'true' BB_BUILD_PUSH: 'true'
BB_BUILD_CHUNKED_OCI: 'true'
CLICOLOR_FORCE: 1 CLICOLOR_FORCE: 1
TAG: main TAG: main
.build: default:
services: services:
- docker:dind - docker:dind
interruptible: true interruptible: true
@@ -32,6 +33,8 @@ variables:
- curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash - curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
- export COSIGN_PRIVATE_KEY=$(cat .secure_files/cosign.key) - export COSIGN_PRIVATE_KEY=$(cat .secure_files/cosign.key)
- sleep 5 - sleep 5
.build:
script: script:
- bluebuild build "./recipes/${RECIPE}" - bluebuild build "./recipes/${RECIPE}"
@@ -39,9 +42,6 @@ base-images:
extends: extends:
- .build - .build
stage: base-images stage: base-images
variables:
BB_BUILD_PUSH: 'true'
BB_BUILD_RECHUNK: 'true'
rules: rules:
# Run when any of the base recipes change # Run when any of the base recipes change
- changes: - changes:
@@ -56,40 +56,75 @@ base-images:
- when: never - when: never
parallel: parallel:
matrix: matrix:
- BASE: - RECIPE:
- base.yml - base.yml
# - base-nvidia.yml # - base-nvidia.yml
# - base-cosmic.yml # - base-cosmic.yml
# - base-cosmic-nvidia.yml # - base-cosmic-nvidia.yml
- base-kinoite.yml
- base-kinoite-nvidia.yml
- base-combo.yml - base-combo.yml
- base-combo-nvidia.yml - base-combo-nvidia.yml
- base-kinoite.yml
# - base-kinoite-nvidia.yml
script:
- bluebuild build "./recipes/${BASE}"
build-images: wke-images:
extends: extends:
- .build - .build
stage: build stage: build
variables: needs:
BB_BUILD_PUSH: 'true' - job: 'base-images: [base.yml]'
optional: true
parallel: parallel:
matrix: matrix:
- RECIPE: - RECIPE:
- wke-worker.yml - wke-worker.yml
- wke-fw-desktop.yml - wke-fw-desktop.yml
- wke-server.yml - wke-server.yml
BASE: base.yml
- RECIPE: cp-laptop.yml kinoite-images:
BASE: base-kinoite.yml extends:
- RECIPE: jp-desktop-nvidia.yml - .build
BASE: base-combo-nvidia.yml stage: build
- RECIPE: jp-laptop.yml
BASE: base-combo.yml
needs: needs:
- job: base-images - job: 'base-images: [base-kinoite.yml]'
optional: true optional: true
parallel: parallel:
matrix: matrix:
- BASE: $BASE - RECIPE:
- cp-laptop.yml
kinoite-nvidia-images:
extends:
- .build
stage: build
needs:
- job: 'base-images: [base-kinoite-nvidia.yml]'
optional: true
parallel:
matrix:
- RECIPE:
- pg-desktop-nvidia.yml
combo-images:
extends:
- .build
stage: build
needs:
- job: 'base-images: [base-combo.yml]'
optional: true
parallel:
matrix:
- RECIPE:
- jp-laptop.yml
combo-nvidia-images:
extends:
- .build
stage: build
needs:
- job: 'base-images: [base-combo-nvidia.yml]'
optional: true
parallel:
matrix:
- RECIPE:
- jp-desktop-nvidia.yml

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Archipelago
GenericName=Archipelago
Icon=/opt/Archipelago/icon.png
Exec=/opt/Archipelago/ArchipelagoLauncher
Categories=Game;
StartupNotify=false

View File

@@ -0,0 +1,95 @@
#!/usr/bin/bash
# Copyright 2025 Universal Blue
# Copyright 2025 The BlueBuild Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and limitations under the License.
## disable auto-unlock LUKS2 encrypted root on Fedora/Silverblue/maybe others
set -euo pipefail
[ "$UID" -eq 0 ] || { echo "This script must be run as root."; exit 1;}
echo "This script utilizes systemd-cryptenroll for removing tpm2 auto-unlock."
echo "You can review systemd-cryptenroll's manpage for more information."
echo "This will modify your system and disable TPM2 auto-unlock of your LUKS partition!"
read -p "Are you sure are good with this and want to disable TPM2 auto-unlock? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
[[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1 # handle exits from shell or function but don't exit interactive shell
fi
## Inspect Kernel Cmdline for rd.luks.uuid
RD_LUKS_UUID="$(xargs -n1 -a /proc/cmdline | grep rd.luks.uuid | cut -d = -f 2)"
# Check to make sure cmdline rd.luks.uuid exists
if [[ -z ${RD_LUKS_UUID:-} ]]; then
printf "LUKS device not defined on Kernel Commandline.\n"
printf "This is not supported by this script.\n"
printf "Exiting...\n"
exit 1
fi
# Check to make sure that the specified cmdline uuid exists.
if ! grep -q "${RD_LUKS_UUID}" <<< "$(lsblk)" ; then
printf "LUKS device not listed in block devices.\n"
printf "Exiting...\n"
exit 1
fi
# Cut off the luks-
LUKS_PREFIX="luks-"
if grep -q ^${LUKS_PREFIX} <<< "${RD_LUKS_UUID}"; then
DISK_UUID=${RD_LUKS_UUID#"$LUKS_PREFIX"}
else
echo "LUKS UUID format mismatch."
echo "Exiting..."
exit 1
fi
# Specify Crypt Disk by-uuid
CRYPT_DISK="/dev/disk/by-uuid/$DISK_UUID"
# Check to make sure crypt disk exists
if [[ ! -L "$CRYPT_DISK" ]]; then
printf "LUKS device not listed in block devices.\n"
printf "Exiting...\n"
exit 1
fi
## Restore the crypttab
cp -a /etc/crypttab /etc/crypttab.working-before-disable-tpm2
if [ -f /etc/crypttab.known-good ]; then
echo "Restoring /etc/crypttab.known-good to original /etc/crypttab"
mv /etc/crypttab.known-good /etc/crypttab
fi
## Wipe luks slot
if cryptsetup luksDump "$CRYPT_DISK" | grep systemd-tpm2 > /dev/null; then
echo "Wiping systemd-tpm2 from LUKS on $CRYPT_DISK"
systemd-cryptenroll --wipe-slot=tpm2 "$CRYPT_DISK"
else
echo "No systemd-tpm2 found in LUKS to wipe"
fi
## Disable initramfs
if rpm-ostree initramfs | grep tpm2 > /dev/null; then
echo "WARNING: if you configured initramfs for anything other than TPM2, this wipes that too..."
echo "here's a printout:"
rpm-ostree initramfs
echo
echo "Disabling rpm-ostree initramfs..."
rpm-ostree initramfs --disable
else
echo "TPM2 is not configured in 'rpm-ostree initramfs'..."
fi
echo "TPM2 auto-unlock disabled..."

View File

@@ -0,0 +1,122 @@
#!/usr/bin/bash
# Copyright 2025 Universal Blue
# Copyright 2025 The BlueBuild Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and limitations under the License.
## setup auto-unlock LUKS2 encrypted root on Fedora/Silverblue/maybe others
set -eou pipefail
[ "$UID" -eq 0 ] || { echo "This script must be run as root."; exit 1;}
echo "WARNING: Do NOT use this if your CPU is vulnerable to faulTPM!"
echo "All AMD Zen2 and Zen3 Processors are known to be affected!"
echo "All AMD Zen1 processors are also likely affected, with Zen4 unknown!"
echo "If you have an AMD CPU, you likely shouldn't use this!"
echo "----------------------------------------------------------------------------"
echo "This script uses systemd-cryptenroll to enable TPM2 auto-unlock."
echo "You can review systemd-cryptenroll's manpage for more information."
echo "This script will modify your system."
echo "It will enable TPM2 auto-unlock of your LUKS partition for your root device!"
echo "It will bind to PCR 7 and 14 which is tied to your secureboot and moklist state."
read -p "Are you sure are good with this and want to enable TPM2 auto-unlock? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
[[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1 # handle exits from shell or function but don't exit interactive shell
fi
## Inspect Kernel Cmdline for rd.luks.uuid
RD_LUKS_UUID="$(xargs -n1 -a /proc/cmdline | grep rd.luks.uuid | cut -d = -f 2)"
# Check to make sure cmdline rd.luks.uuid exists
if [[ -z ${RD_LUKS_UUID:-} ]]; then
printf "LUKS device not defined on Kernel Commandline.\n"
printf "This is not supported by this script.\n"
printf "Exiting...\n"
exit 1
fi
# Check to make sure that the specified cmdline uuid exists.
if ! grep -q "${RD_LUKS_UUID}" <<< "$(lsblk)" ; then
printf "LUKS device not listed in block devices.\n"
printf "Exiting...\n"
exit 1
fi
# Cut off the luks-
LUKS_PREFIX="luks-"
if grep -q ^${LUKS_PREFIX} <<< "${RD_LUKS_UUID}"; then
DISK_UUID=${RD_LUKS_UUID#"$LUKS_PREFIX"}
else
echo "LUKS UUID format mismatch."
echo "Exiting..."
exit 1
fi
SET_PIN_ARG=""
read -p "Would you like to set a PIN? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
SET_PIN_ARG=" --tpm2-with-pin=yes "
fi
# Specify Crypt Disk by-uuid
CRYPT_DISK="/dev/disk/by-uuid/$DISK_UUID"
# Check to make sure crypt disk exists
if [[ ! -L "$CRYPT_DISK" ]]; then
printf "LUKS device not listed in block devices.\n"
printf "Exiting...\n"
exit 1
fi
if cryptsetup luksDump "$CRYPT_DISK" | grep systemd-tpm2 > /dev/null; then
KEYSLOT=$(cryptsetup luksDump "$CRYPT_DISK" | sed -n '/systemd-tpm2$/,/Keyslot:/p' | grep Keyslot|awk '{print $2}')
echo "TPM2 already present in LUKS keyslot $KEYSLOT of $CRYPT_DISK."
read -p "Wipe it and re-enroll? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
systemd-cryptenroll --wipe-slot=tpm2 "$CRYPT_DISK"
else
echo
echo "Either clear the existing TPM2 keyslot before retrying, else choose 'y' next time."
echo "Exiting..."
[[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1
fi
fi
## Run crypt enroll
echo "Enrolling TPM2 unlock requires your existing LUKS2 unlock password"
systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7+14 $SET_PIN_ARG "$CRYPT_DISK"
if lsinitrd 2>&1 | grep -q tpm2-tss > /dev/null; then
## add tpm2-tss to initramfs
if rpm-ostree initramfs | grep tpm2 > /dev/null; then
echo "TPM2 already present in rpm-ostree initramfs config."
rpm-ostree initramfs
echo "Re-running initramfs to pickup changes above."
fi
rpm-ostree initramfs --enable --arg=--force-add --arg=tpm2-tss
else
## initramfs already containts tpm2-tss
echo "TPM2 already present in initramfs."
fi
## Now reboot
echo
echo "TPM2 LUKS auto-unlock configured. Reboot now."
# References:
# https://www.reddit.com/r/Fedora/comments/uo4ufq/any_way_to_get_systemdcryptenroll_working_on/
# https://0pointer.net/blog/unlocking-luks2-volumes-with-tpm2-fido2-pkcs11-security-hardware-on-systemd-248.html

View File

@@ -0,0 +1,31 @@
# Copyright 2025 Universal Blue
# Copyright 2025 The BlueBuild Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed under the License is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and limitations under the License.
# Enroll Nvidia driver & KMOD signing key for secure boot - Enter password "wunker" if prompted
enroll-secure-boot-key:
#!/usr/bin/bash
ENROLLMENT_PASSWORD="wunker"
SECUREBOOT_KEY=/etc/pki/akmods/certs/akmods-wunker-bunker.der
sudo mokutil --timeout -1
echo -e "$ENROLLMENT_PASSWORD\n$ENROLLMENT_PASSWORD" | sudo mokutil --import "$SECUREBOOT_KEY"
echo 'At next reboot, the mokutil UEFI menu UI will be displayed (*QWERTY* keyboard input and navigation).\nThen, select "Enroll MOK", and input "wunker" as the password'
# Enable automatic LUKS unlock via TPM
setup-luks-tpm-unlock:
#!/usr/bin/bash
sudo /usr/libexec/luks-enable-tpm2-autounlock
# Disable automatic LUKS unlock via TPM
remove-luks-tpm-unlock:
#!/usr/bin/bash
sudo /usr/libexec/luks-disable-tpm2-autounlock

View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -xeuo pipefail
version="0.6.4"
name="Archipelago_${version}_linux-x86_64"
tarball="${name}.tar.gz"
curl -sSfL "https://github.com/ArchipelagoMW/Archipelago/releases/download/${version}/${tarball}" -o "/tmp/${tarball}"
tar xvf "/tmp/${tarball}" -C /opt/
rm -f "/tmp/${tarball}"

View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
set -xeuo pipefail
version="2.10"
name="BizHawk-${version}-linux-x64"
tarball="${name}.tar.gz"
curl -sSfL "https://github.com/TASEmulators/BizHawk/releases/download/${version}/${tarball}" -o "/tmp/${tarball}"
mkdir -p /opt/BizHawk/
tar xvf "/tmp/${tarball}" -C /opt/BizHawk/
rm -f "/tmp/${tarball}"

View File

@@ -28,9 +28,14 @@ fi
curl -Lo /etc/yum.repos.d/negativo17-fedora-nvidia.repo https://negativo17.org/repos/fedora-nvidia.repo curl -Lo /etc/yum.repos.d/negativo17-fedora-nvidia.repo https://negativo17.org/repos/fedora-nvidia.repo
sed -i '/^enabled=1/a\priority=90' /etc/yum.repos.d/negativo17-fedora-nvidia.repo sed -i '/^enabled=1/a\priority=90' /etc/yum.repos.d/negativo17-fedora-nvidia.repo
dnf install -y "kernel-devel-matched-$(rpm -q 'kernel' --queryformat '%{VERSION}')" dnf install -y --setopt=install_weak_deps=False "kernel-devel-matched-$(rpm -q 'kernel' --queryformat '%{VERSION}')"
dnf install -y "akmod-nvidia*.fc${RELEASE}"
dnf install -y --setopt=install_weak_deps=False akmods
cp /usr/sbin/akmodsbuild /usr/sbin/akmodsbuild.backup
# TODO remove this when fixed upstream
sed -i '/if \[\[ -w \/var \]\] ; then/,/fi/d' /usr/sbin/akmodsbuild
dnf install -y --setopt=install_weak_deps=False nvidia-kmod-common nvidia-modprobe
mv /usr/sbin/akmodsbuild.backup /usr/sbin/akmodsbuild
echo "Setting kernel.conf to $KERNEL_MODULE_TYPE" echo "Setting kernel.conf to $KERNEL_MODULE_TYPE"
sed -i --sandbox "s/^MODULE_VARIANT=.*/MODULE_VARIANT=$KERNEL_MODULE_TYPE/" /etc/nvidia/kernel.conf sed -i --sandbox "s/^MODULE_VARIANT=.*/MODULE_VARIANT=$KERNEL_MODULE_TYPE/" /etc/nvidia/kernel.conf

View File

@@ -4,19 +4,30 @@ export BB_GENISO_SECURE_BOOT_URL := "https://gitlab.com/wunker-bunker/wunker-os/
export BB_GENISO_ENROLLMENT_PASSWORD := "wunker" export BB_GENISO_ENROLLMENT_PASSWORD := "wunker"
export BB_GENISO_VARIANT := "kinoite" export BB_GENISO_VARIANT := "kinoite"
generate-iso recipe tag="latest": build *args:
bluebuild build {{args}}
generate-iso recipe:
#!/usr/bin/env nu #!/usr/bin/env nu
let name = open {{ recipe }} | get name let recipe = open {{ recipe }}
| default [] alt-tags
| select name alt-tags
let tag = if ($recipe.alt-tags | is-empty) {
'latest'
} else {
$recipe.alt-tags | first
}
let name = $recipe.name
let image = $'( let image = $'(
$env.BB_REGISTRY $env.BB_REGISTRY
)/( )/(
$env.BB_REGISTRY_NAMESPACE $env.BB_REGISTRY_NAMESPACE
)/( )/(
$name $name
):{{ tag }}' ):($tag)'
(^bluebuild (^bluebuild
generate-iso generate-iso
--iso-name $'($name).iso' --iso-name $'($name)-($tag).iso'
--output-dir .iso/ --output-dir .iso/
image $image) image $image)

View File

@@ -2,7 +2,7 @@
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: combo-nvidia name: combo-nvidia
base-image: quay.io/fedora-ostree-desktops/kinoite base-image: quay.io/fedora-ostree-desktops/kinoite
image-version: 42 image-version: 43
description: The base image of Wunker OS with COSMIC and Plasma for Nvidia description: The base image of Wunker OS with COSMIC and Plasma for Nvidia
modules: modules:
- from-file: base/common.yml - from-file: base/common.yml

View File

@@ -2,7 +2,7 @@
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: combo name: combo
base-image: quay.io/fedora-ostree-desktops/kinoite base-image: quay.io/fedora-ostree-desktops/kinoite
image-version: 42 image-version: 43
description: The base image of Wunker OS with COSMIC and Plasma description: The base image of Wunker OS with COSMIC and Plasma
modules: modules:
- from-file: base/common.yml - from-file: base/common.yml

View File

@@ -13,25 +13,25 @@ modules:
enabled: enabled:
- bootc-fetch-apply-updates.timer - bootc-fetch-apply-updates.timer
- type: justfiles
source: ghcr.io/blue-build/modules:pr-498
validate: true
install: true
include:
- 30-secureboot.just
- type: dnf - type: dnf
repos: repos:
cleanup: true cleanup: true
nonfree: negativo17 nonfree: negativo17
copr:
- ublue-os/packages
- ublue-os/staging
install: install:
install-weak-deps: false skip-unavailable: true
packages: packages:
- bootc - bootc
- ublue-os-just
- ublue-os-luks
- ublue-os-udev-rules
- fedora-repos-archive - fedora-repos-archive
- zstd - zstd
- sbsign - sbsign
- alsa-firmware - alsa-firmware
- android-udev-rules
- apr - apr
- apr-util - apr-util
- distrobox - distrobox
@@ -99,7 +99,6 @@ modules:
auto-remove: false auto-remove: false
packages: packages:
- fedora-flathub-remote - fedora-flathub-remote
- fedora-third-party
replace: replace:
# mitigate upstream packaging bug: https://bugzilla.redhat.com/show_bug.cgi?id=2332429 # mitigate upstream packaging bug: https://bugzilla.redhat.com/show_bug.cgi?id=2332429
# swap the incorrectly installed OpenCL-ICD-Loader for ocl-icd, the expected package # swap the incorrectly installed OpenCL-ICD-Loader for ocl-icd, the expected package
@@ -137,15 +136,5 @@ modules:
- curl -sSLo ${CSFG} https://raw.githubusercontent.com/coreos/fedora-coreos-config/refs/heads/stable/overlay.d/05core/usr/lib/systemd/system-generators/coreos-sulogin-force-generator - curl -sSLo ${CSFG} https://raw.githubusercontent.com/coreos/fedora-coreos-config/refs/heads/stable/overlay.d/05core/usr/lib/systemd/system-generators/coreos-sulogin-force-generator
- chmod +x ${CSFG} - chmod +x ${CSFG}
# Adjust ublue just recipes
- rm -f /usr/share/ublue-os/just/30-distrobox.just /usr/share/ublue-os/just/40-nvidia.just /usr/share/ublue-os/just/50-akmods.just
- sed -i 's|rpm-ostreed-automatic\.timer|bootc-fetch-apply-updates.timer|g' /usr/share/ublue-os/just/10-update.just
- sed -i 's|update_command "rpm-ostree update"|update_command "sudo bootc upgrade"|g' /usr/share/ublue-os/just/10-update.just
- sed -i 's|/etc/pki/akmods/certs/akmods-ublue\.der|/etc/pki/akmods/certs/akmods-wunker-bunker.der|g' /usr/share/ublue-os/just/00-default.just
- sed -i 's|"universalblue"|"wunker"|g' /usr/share/ublue-os/just/00-default.just
- sed -i 's|import "/usr/share/ublue-os/just/30-distrobox\.just"\n||' /usr/share/ublue-os/justfile
- sed -i 's|import "/usr/share/ublue-os/just/40-nvidia\.just"\n||' /usr/share/ublue-os/justfile
- sed -i 's|import "/usr/share/ublue-os/just/50-akmods\.just"\n||' /usr/share/ublue-os/justfile
# Add SUDO_ASKPASS as a global environment # Add SUDO_ASKPASS as a global environment
- echo "SUDO_ASKPASS=/usr/libexec/openssh/ssh-askpass" >> /etc/environment - echo "SUDO_ASKPASS=/usr/libexec/openssh/ssh-askpass" >> /etc/environment

View File

@@ -5,11 +5,17 @@ modules:
files: files:
- source: steam-firewall - source: steam-firewall
destination: / destination: /
- source: archipelago
destination: /
- type: dnf - type: dnf
repos: repos:
cleanup: true cleanup: true
nonfree: negativo17 nonfree: negativo17
install: install:
packages: packages:
- https://github.com/ebkr/r2modmanPlus/releases/download/v3.2.3/r2modman-3.2.3.x86_64.rpm - https://github.com/ebkr/r2modmanPlus/releases/download/v3.2.10/r2modman-3.2.10.x86_64.rpm
- steam - steam
- mono-core
- type: script
scripts:
- install-archipelago.sh

View File

@@ -14,6 +14,7 @@ modules:
- https://repository.mullvad.net/deb/mullvad-keyring.asc - https://repository.mullvad.net/deb/mullvad-keyring.asc
install: install:
packages: packages:
- xdg-terminal-exec
- mullvad-vpn - mullvad-vpn
- mullvad-browser - mullvad-browser
- borgbackup - borgbackup
@@ -37,9 +38,7 @@ modules:
- nu - nu
- util-linux - util-linux
- carapace-bin - carapace-bin
- https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
- libreoffice - libreoffice
- https://github.com/balena-io/etcher/releases/download/v2.1.0/balena-etcher-2.1.0-1.x86_64.rpm
- type: systemd - type: systemd
system: system:
enabled: enabled:

View File

@@ -1,30 +1,31 @@
--- ---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: cp-laptop name: cp-laptop
# base-image: ghcr.io/ublue-os/kinoite-main
base-image: registry.gitlab.com/wunker-bunker/wunker-os/kinoite base-image: registry.gitlab.com/wunker-bunker/wunker-os/kinoite
image-version: 42 image-version: latest
description: The image of Wunker OS for CP's laptop. description: The image of Wunker OS for CP's laptop.
modules: modules:
- from-file: common/common.yml
- type: dnf - type: dnf
# repos:
# copr:
# - iucar/rstudio
install: install:
packages: packages:
- xdg-terminal-exec
- borgbackup - borgbackup
- vorta - vorta
- libadwaita - libadwaita
- cronie - cronie
- fprintd - fprintd
- fprintd-pam - fprintd-pam
# - R
# - rstudio-desktop
- libreoffice - libreoffice
- https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm - https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
- mono-core
- type: files
files:
- source: archipelago
destination: /
- type: script
scripts:
- install-archipelago.sh
- from-file: common/ms-fonts.yml - from-file: common/ms-fonts.yml
- from-file: common/updates.yml - from-file: common/updates.yml
- type: copy
src: files/base/usr/share/plymouth
dest: /usr/share/plymouth
- from-file: common/post-build.yml - from-file: common/post-build.yml

View File

@@ -1,14 +1,8 @@
--- ---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: jp-desktop-nvidia name: jp-desktop-nvidia
# Bazzite
# base-image: ghcr.io/ublue-os/bazzite-nvidia-open
# image-version: "42.20250828.1"
# Custom Base
base-image: registry.gitlab.com/wunker-bunker/wunker-os/combo-nvidia base-image: registry.gitlab.com/wunker-bunker/wunker-os/combo-nvidia
# base-image: registry.gitlab.com/wunker-bunker/wunker-os/cosmic-nvidia image-version: latest
image-version: 42
description: The image of Wunker OS for JP's desktop gaming. description: The image of Wunker OS for JP's desktop gaming.
blue-build-tag: none blue-build-tag: none
nushell-version: none nushell-version: none

View File

@@ -1,10 +1,8 @@
--- ---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: jp-laptop name: jp-laptop
# base-image: ghcr.io/ublue-os/bazzite
# image-version: "42.20250828"
base-image: registry.gitlab.com/wunker-bunker/wunker-os/combo base-image: registry.gitlab.com/wunker-bunker/wunker-os/combo
image-version: 42 image-version: latest
description: The image of Wunker OS for JP's Laptop. description: The image of Wunker OS for JP's Laptop.
stages: stages:
- from-file: common/helix.yml - from-file: common/helix.yml

View File

@@ -0,0 +1,17 @@
---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: pg-desktop-nvidia
base-image: registry.gitlab.com/wunker-bunker/wunker-os/kinoite-nvidia
image-version: latest
description: The image of Wunker OS for PG's desktop gaming.
modules:
- from-file: common/common.yml
- from-file: common/updates.yml
- from-file: common/ms-fonts.yml
- from-file: common/gaming.yml
- type: dnf
install:
packages:
- https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
- libadwaita
- from-file: common/post-build.yml

View File

@@ -2,7 +2,7 @@
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: wke name: wke
base-image: registry.gitlab.com/wunker-bunker/wunker-os/base base-image: registry.gitlab.com/wunker-bunker/wunker-os/base
image-version: 42 image-version: latest
description: The image of Wunker OS for RKE2 Worker description: The image of Wunker OS for RKE2 Worker
alt-tags: alt-tags:
- fw-desktop - fw-desktop
@@ -13,6 +13,10 @@ modules:
- amdttm.pages_limit=27648000 - amdttm.pages_limit=27648000
- amdttm.page_pool_size=13824000 - amdttm.page_pool_size=13824000
- from-file: common/wke.yml - from-file: common/wke.yml
- type: dnf
install:
packages:
- ramalama
- type: script - type: script
snippets: snippets:
- curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE=agent INSTALL_RKE2_SKIP_RELOAD=true sh - curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE=agent INSTALL_RKE2_SKIP_RELOAD=true sh

View File

@@ -1,8 +1,8 @@
--- ---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: wke name: wke
base-image: ghcr.io/ublue-os/base-main base-image: registry.gitlab.com/wunker-bunker/wunker-os/base
image-version: 42 image-version: latest
description: The image of Wunker OS for RKE2 Server description: The image of Wunker OS for RKE2 Server
alt-tags: alt-tags:
- server - server

View File

@@ -2,7 +2,7 @@
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json # yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
name: wke name: wke
base-image: registry.gitlab.com/wunker-bunker/wunker-os/base base-image: registry.gitlab.com/wunker-bunker/wunker-os/base
image-version: 42 image-version: latest
description: The image of Wunker OS for RKE2 Worker description: The image of Wunker OS for RKE2 Worker
alt-tags: alt-tags:
- worker - worker