Compare commits
2 Commits
ntsync-fla
...
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-----
|
||||||
|
8
files/dnf/codium.repo
Normal file
8
files/dnf/codium.repo
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[gitlab.com_paulcarroty_vscodium_repo]
|
||||||
|
name=download.vscodium.com
|
||||||
|
baseurl=https://download.vscodium.com/rpms/
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=1
|
||||||
|
repo_gpgcheck=1
|
||||||
|
gpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||||
|
metadata_expire=1h
|
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
files/system/etc/modules-load.d/ntsync.conf
Normal file
1
files/system/etc/modules-load.d/ntsync.conf
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ntsync
|
@@ -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
|
||||||
|
|
19
recipes/components/default-flatpak.yml
Normal file
19
recipes/components/default-flatpak.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
modules:
|
||||||
|
- type: default-flatpaks
|
||||||
|
configurations:
|
||||||
|
- scope: user
|
||||||
|
repo:
|
||||||
|
title: Flathub (user)
|
||||||
|
install:
|
||||||
|
- one.ablaze.floorp
|
||||||
|
- io.github.equicord.equibop
|
||||||
|
- scope: system
|
||||||
|
repo:
|
||||||
|
title: Flathub
|
||||||
|
notify: true
|
||||||
|
install:
|
||||||
|
- com.github.tchx84.Flatseal
|
||||||
|
- io.missioncenter.MissionCenter
|
||||||
|
- io.github.flattool.Ignition
|
||||||
|
- net.davidotek.pupgui2
|
||||||
|
- org.gnome.Loupe
|
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
|
@@ -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
|
@@ -3,9 +3,12 @@ modules:
|
|||||||
repos:
|
repos:
|
||||||
nonfree: rpmfusion
|
nonfree: rpmfusion
|
||||||
files:
|
files:
|
||||||
- https://repo.vscodium.dev/vscodium.repo
|
- codium.repo
|
||||||
|
- https://openrazer.github.io/hardware:razer.repo
|
||||||
copr:
|
copr:
|
||||||
- mavit/discover-overlay
|
- mavit/discover-overlay
|
||||||
|
keys:
|
||||||
|
- https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
|
||||||
install:
|
install:
|
||||||
packages:
|
packages:
|
||||||
# applications
|
# applications
|
||||||
@@ -22,9 +25,6 @@ modules:
|
|||||||
|
|
||||||
- ffmpegthumbnailer
|
- ffmpegthumbnailer
|
||||||
|
|
||||||
# music / video player
|
|
||||||
- vlc
|
|
||||||
|
|
||||||
# text editor
|
# text editor
|
||||||
- neovim
|
- neovim
|
||||||
- codium
|
- codium
|
||||||
@@ -60,6 +60,9 @@ modules:
|
|||||||
- gamescope
|
- gamescope
|
||||||
# for performance view
|
# for performance view
|
||||||
- mangohud
|
- mangohud
|
||||||
|
|
||||||
|
# simple editing softare
|
||||||
|
- avidemux
|
||||||
|
|
||||||
remove:
|
remove:
|
||||||
packages:
|
packages:
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
modules:
|
modules:
|
||||||
- type: dnf
|
- type: dnf
|
||||||
repos:
|
repos:
|
||||||
|
files:
|
||||||
|
- codium.repo
|
||||||
copr:
|
copr:
|
||||||
- ublue-os/packages
|
- ublue-os/packages
|
||||||
install:
|
install:
|
||||||
@@ -12,26 +14,20 @@ modules:
|
|||||||
# environment
|
# environment
|
||||||
# xwayland
|
# xwayland
|
||||||
- xorg-x11-server-Xwayland
|
- xorg-x11-server-Xwayland
|
||||||
|
|
||||||
# headset control
|
# headset control
|
||||||
- headsetcontrol
|
- headsetcontrol
|
||||||
|
|
||||||
# media related
|
# media related
|
||||||
- mediainfo
|
- mediainfo
|
||||||
- playerctl
|
- playerctl
|
||||||
- alsa-firmware
|
- alsa-firmware
|
||||||
|
|
||||||
# zip utilities
|
# zip utilities
|
||||||
- p7zip
|
- p7zip
|
||||||
|
|
||||||
# qt libraries
|
# qt libraries
|
||||||
- qt5-qtwayland
|
- qt5-qtwayland
|
||||||
- qt6-qtwayland
|
- qt6-qtwayland
|
||||||
|
|
||||||
# vulkan
|
# vulkan
|
||||||
- vulkan-tools
|
- vulkan-tools
|
||||||
- vulkan-validation-layers
|
- vulkan-validation-layers
|
||||||
|
|
||||||
# xdg-desktop-portals
|
# xdg-desktop-portals
|
||||||
- xdg-desktop-portal
|
- xdg-desktop-portal
|
||||||
- xdg-desktop-portal-gtk
|
- xdg-desktop-portal-gtk
|
||||||
@@ -48,7 +44,4 @@ modules:
|
|||||||
# networking
|
# networking
|
||||||
- bluez
|
- bluez
|
||||||
- bluez-tools
|
- bluez-tools
|
||||||
- firewall-config
|
- firewall-config
|
||||||
|
|
||||||
# packages for steam script
|
|
||||||
- lsb_release
|
|
@@ -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
|
|
@@ -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
|
||||||
|
@@ -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
|
|
@@ -16,6 +16,7 @@ modules:
|
|||||||
- from-file: components/script-module.yml
|
- from-file: components/script-module.yml
|
||||||
- from-file: components/sys-files-module.yml
|
- from-file: components/sys-files-module.yml
|
||||||
- from-file: components/systemd-module.yml
|
- from-file: components/systemd-module.yml
|
||||||
|
- from-file: components/default-flatpak.yml
|
||||||
- from-file: components/chezmoi-module.yml
|
- from-file: components/chezmoi-module.yml
|
||||||
|
|
||||||
- type: signing
|
- type: signing
|
||||||
|
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