Compare commits
2 Commits
2970015961
...
local-podm
Author | SHA1 | Date | |
---|---|---|---|
fcf019fddf | |||
eabd27c3c8 |
30
.github/workflows/build-nvidia.yml
vendored
Normal file
30
.github/workflows/build-nvidia.yml
vendored
Normal 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
|
9
.github/workflows/build.yml
vendored
9
.github/workflows/build.yml
vendored
@@ -9,12 +9,12 @@ 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
|
||||||
@@ -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
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
-----BEGIN PUBLIC KEY-----
|
-----BEGIN PUBLIC KEY-----
|
||||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDgbLqIZdNv3Lx7jEKq3l6UImgXi/
|
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzzK2nfqN5MlTqBitNsehDVnITGSF
|
||||||
MdQ51/79s4zfI2f4wQ8ran/sZO3y91hhsImytGqfSpNZmMV8T0rmOAAXkg==
|
r9FQRKI6dNDXRjlKgcMaa88Mb9FdfqFVHSPesN1mHz3/QfZIPG/s7mJAfw==
|
||||||
-----END PUBLIC KEY-----
|
-----END PUBLIC KEY-----
|
||||||
|
6
files/scripts/nvidia/installtoolkitpolicy.sh
Normal file
6
files/scripts/nvidia/installtoolkitpolicy.sh
Normal 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
|
10
files/scripts/nvidia/removeunusedrepos.sh
Normal file
10
files/scripts/nvidia/removeunusedrepos.sh
Normal 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
|
16
files/scripts/nvidia/setdrmvariables.sh
Normal file
16
files/scripts/nvidia/setdrmvariables.sh
Normal 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
|
7
files/scripts/nvidia/setearlyloading.sh
Normal file
7
files/scripts/nvidia/setearlyloading.sh
Normal 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
|
@@ -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
|
||||||
|
|
||||||
|
@@ -1,18 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=A panel bar branched from AGS maintained by Hyprland devs.
|
|
||||||
# order startup after WM
|
|
||||||
After=graphical-session.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=exec
|
|
||||||
# Repurpose XDG Autostart filtering
|
|
||||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
|
|
||||||
ExecStart=/usr/bin/quickshell
|
|
||||||
Restart=on-failure
|
|
||||||
Slice=app-graphical.slice
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=graphical-session.target
|
|
||||||
# Alternatively can be wanted by specific WMs' targets
|
|
||||||
# Should also be duplicated in 'After=' to avoid ordering loop
|
|
||||||
#WantedBy=wayland-session@hyprland.desktop.target
|
|
16
recipes/components/nvidia-module.yml
Normal file
16
recipes/components/nvidia-module.yml
Normal 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
|
@@ -9,5 +9,4 @@ modules:
|
|||||||
- flatpak-user-update.timer
|
- flatpak-user-update.timer
|
||||||
- swww.service
|
- swww.service
|
||||||
- hyprpanel.service
|
- hyprpanel.service
|
||||||
# - quickshell.service
|
|
||||||
- hyprpolkitagent.service
|
- hyprpolkitagent.service
|
@@ -3,21 +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
|
|
||||||
|
|
||||||
# hyprpanel
|
|
||||||
- hyprpanel
|
|
||||||
|
|
||||||
# quickshell
|
|
||||||
- quickshell
|
|
@@ -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
|
||||||
|
25
recipes/recipe_nvidia.yml
Normal file
25
recipes/recipe_nvidia.yml
Normal 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
|
||||||
|
|
Reference in New Issue
Block a user