Compare commits

1 Commits

Author SHA1 Message Date
eabd27c3c8 Attempt rechunking again
Some checks failed
bluebuild / Build Custom Image (recipe.yml) (pull_request) Failing after 57s
2025-07-28 10:41:19 -04:00
15 changed files with 128 additions and 34 deletions

30
.github/workflows/build-nvidia.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: bluebuild-nvidia
on:
workflow_dispatch: # allow manually triggering builds
jobs:
bluebuild:
name: Build Custom Image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
strategy:
fail-fast: false # stop GH from cancelling all matrix builds if one fails
matrix:
recipe:
# !! Add your recipes here
- recipe_nvidia.yml
steps:
# the build is fully handled by the reusable github action
- name: Build Custom Image
uses: blue-build/github-action@v1.8
with:
recipe: ${{ matrix.recipe }}
cosign_private_key: ${{ secrets.SIGNING_SECRET }}
registry: 'git.hydrosaber.com'
registry_token: ${{ secrets.PACKAGE_BUILDER_TOKEN }}
pr_event_number: ${{ github.event.number }}
# enabled by default, disable if your image is small and you want faster builds
maximize_build_space: true

View File

@@ -9,16 +9,16 @@ on:
- main - main
paths-ignore: # don't rebuild if only documentation has changed paths-ignore: # don't rebuild if only documentation has changed
- "**.md" - "**.md"
- ".github/workflows/build-nvidia.yml"
- "files/scripts/nvidia/**"
- "recipes/components/nvidia-module.yml"
- "recipes/recipe_nvidia.yml"
pull_request: pull_request:
workflow_dispatch: # allow manually triggering builds workflow_dispatch: # allow manually triggering builds
concurrency:
# only run one build at a time
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs: jobs:
bluebuild: bluebuild:
name: Build Custom Image name: Build Custom Image
runs-on: ubuntu-latest runs-on: ubuntu-22.04
permissions: permissions:
contents: read contents: read
packages: write packages: write
@@ -43,3 +43,4 @@ jobs:
# enabled by default, disable if your image is small and you want faster builds # enabled by default, disable if your image is small and you want faster builds
maximize_build_space: true maximize_build_space: true
rechunk: true

View File

@@ -1,4 +1,4 @@
-----BEGIN PUBLIC KEY----- -----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDgbLqIZdNv3Lx7jEKq3l6UImgXi/ MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzzK2nfqN5MlTqBitNsehDVnITGSF
MdQ51/79s4zfI2f4wQ8ran/sZO3y91hhsImytGqfSpNZmMV8T0rmOAAXkg== r9FQRKI6dNDXRjlKgcMaa88Mb9FdfqFVHSPesN1mHz3/QfZIPG/s7mJAfw==
-----END PUBLIC KEY----- -----END PUBLIC KEY-----

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
semodule --verbose --install /usr/share/selinux/packages/nvidia-container.pp

View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
rm -f /etc/yum.repos.d/negativo17-fedora-nvidia.repo
rm -f /etc/yum.repos.d/negativo17-fedora-multimedia.repo
rm -f /etc/yum.repos.d/eyecantcu-supergfxctl.repo
rm -f /etc/yum.repos.d/_copr_ublue-os-akmods.repo
rm -f /etc/yum.repos.d/nvidia-container-toolkit.repo

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
echo '
# Nvidia modesetting support. Set to 0 or comment to disable kernel modesetting
# support. This must be disabled in case of SLI Mosaic.
options nvidia-drm modeset=1 fbdev=1
' > /usr/lib/modprobe.d/nvidia-modeset.conf
cp /usr/lib/modprobe.d/nvidia-modeset.conf /etc/modprobe.d/nvidia-modeset.conf

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
sed -i 's@omit_drivers@force_drivers@g' /usr/lib/dracut/dracut.conf.d/99-nvidia.conf
sed -i 's@ nvidia @ i915 amdgpu nvidia @g' /usr/lib/dracut/dracut.conf.d/99-nvidia.conf

View File

@@ -1,5 +1,6 @@
[Unit] [Unit]
Description=A panel bar branched from AGS maintained by Hyprland devs. Description=A panel bar branched from AGS maintained by Hyprland devs.
Documentation=man:waybar(5)
# order startup after WM # order startup after WM
After=graphical-session.target After=graphical-session.target
@@ -7,7 +8,7 @@ After=graphical-session.target
Type=exec Type=exec
# Repurpose XDG Autostart filtering # Repurpose XDG Autostart filtering
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" "" ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
ExecStart=/usr/bin/quickshell ExecStart=/usr/bin/hyprpanel
Restart=on-failure Restart=on-failure
Slice=app-graphical.slice Slice=app-graphical.slice

View File

@@ -0,0 +1,16 @@
modules:
- type: containerfile
snippets:
- COPY --from=ghcr.io/ublue-os/akmods-nvidia:main-42 /rpms/ /tmp/rpms
- RUN find /tmp/rpms
- RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-nvidia*.rpm
- RUN sed -i '0,/enabled=0/{s/enabled=0/enabled=1/}' /etc/yum.repos.d/nvidia-container-toolkit.repo
- RUN sed -i '0,/enabled=0/{s/enabled=0/enabled=1\npriority=90/}' /etc/yum.repos.d/negativo17-fedora-nvidia.repo
- RUN rpm-ostree install /tmp/rpms/kmods/kmod-nvidia*.rpm libnvidia-fbc libva-nvidia-driver nvidia-driver nvidia-modprobe nvidia-persistenced nvidia-settings nvidia-container-toolkit
- type: script
scripts:
- nvidia/installtoolkitpolicy.sh
- nvidia/removeunusedrepos.sh
- nvidia/setearlyloading.sh
- nvidia/setdrmvariables.sh

View File

@@ -8,5 +8,5 @@ modules:
enabled: enabled:
- flatpak-user-update.timer - flatpak-user-update.timer
- swww.service - swww.service
- quickshell.service - hyprpanel.service
- hyprpolkitagent.service - hyprpolkitagent.service

View File

@@ -4,6 +4,7 @@ modules:
nonfree: rpmfusion nonfree: rpmfusion
files: files:
- codium.repo - codium.repo
- https://openrazer.github.io/hardware:razer.repo
copr: copr:
- mavit/discover-overlay - mavit/discover-overlay
keys: keys:
@@ -24,9 +25,6 @@ modules:
- ffmpegthumbnailer - ffmpegthumbnailer
# music / video player
- vlc
# text editor # text editor
- neovim - neovim
- codium - codium
@@ -62,6 +60,9 @@ modules:
- gamescope - gamescope
# for performance view # for performance view
- mangohud - mangohud
# simple editing softare
- avidemux
remove: remove:
packages: packages:

View File

@@ -3,18 +3,13 @@ modules:
repos: repos:
copr: copr:
- solopasha/hyprland - solopasha/hyprland
- errornointernet/quickshell
install: install:
packages: packages:
- aquamarine - aquamarine
- hyprland-git - hyprland-git
- hyprpanel
- hyprpolkitagent - hyprpolkitagent
- hyprshot - hyprshot
- hyprland-qt-support - hyprland-qt-support
- hyprland-qtutils - hyprland-qtutils
- xdg-desktop-portal-hyprland - xdg-desktop-portal-hyprland
- swww
- matugen
# quickshell
- quickshell

View File

@@ -9,19 +9,6 @@ modules:
- qt5-qtquickcontrols2 - qt5-qtquickcontrols2
- qt5-qtsvg - qt5-qtsvg
# added libraries for quickshell
- qt5-qtimageformats
- qt5-qtmultimedia
- qt6-qtquickcontrols2
- qt6-qtsvg
- qt6-qtimageformats
- qt6-qtmultimedia
- qt6-qt5compat
# added for editing quickshell (qmlls)
- qt5-qtdeclarative-devel
- qt6-qtdeclarative-devel
# password keeper # password keeper
- kf6-kwallet - kf6-kwallet
- kwalletmanager - kwalletmanager

View File

@@ -13,5 +13,4 @@ modules:
- fontawesome-fonts-all - fontawesome-fonts-all
- gnome-themes-extra - gnome-themes-extra
- papirus-icon-theme - papirus-icon-theme
- bibata-cursor-themes - bibata-cursor-themes
- material-icons-fonts

25
recipes/recipe_nvidia.yml Normal file
View File

@@ -0,0 +1,25 @@
---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
# image will be published to ghcr.io/<user>/<name>
name: hydro-os-nvidia
# description will be included in the image's metadata
description: This is my personal OS image.
# the base image to build on top of (FROM) and the version tag to use
base-image: quay.io/fedora-ostree-desktops/base-atomic
image-version: 42 # latest is also supported if you want new updates ASAP
# module configuration, executed in order
# you can include multiple instances of the same module
modules:
- from-file: components/dnf-module.yml
- from-file: components/script-module.yml
- from-file: components/sys-files-module.yml
- from-file: components/systemd-module.yml
- from-file: components/nvidia-module.yml
- from-file: components/default-flatpak.yml
- from-file: components/chezmoi-module.yml
- type: initramfs
- type: signing