Rename image folders
This commit is contained in:
parent
13d85b92f1
commit
64fc11fc58
11 changed files with 0 additions and 0 deletions
103
workstation-nvidia/Containerfile
Executable file
103
workstation-nvidia/Containerfile
Executable file
|
@ -0,0 +1,103 @@
|
|||
FROM ghcr.io/ublue-os/silverblue-nvidia:41
|
||||
|
||||
COPY etc /etc
|
||||
|
||||
RUN dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm && \
|
||||
dnf install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
|
||||
dnf clean all
|
||||
|
||||
RUN dnf remove -y \
|
||||
ptyxis \
|
||||
gnome-software \
|
||||
htop \
|
||||
gnome-classic-session \
|
||||
gnome-shell-extension-apps-menu \
|
||||
gnome-shell-extension-background-logo \
|
||||
gnome-shell-extension-launch-new-instance \
|
||||
gnome-shell-extension-places-menu \
|
||||
gnome-shell-extension-window-list \
|
||||
open-vm-tools \
|
||||
open-vm-tools-desktop \
|
||||
qemu-guest-agent \
|
||||
spice-vdagent \
|
||||
spice-webdavd \
|
||||
virtualbox-guest-additions && \
|
||||
dnf swap -y ffmpeg-free ffmpeg --allowerasing && \
|
||||
dnf swap -y libavcodec-free libavcodec-freeworld --allowerasing && \
|
||||
dnf group install -y multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin && \
|
||||
dnf copr enable -y alternateved/eza && \
|
||||
dnf install -y \
|
||||
acpi \
|
||||
akmod-v4l2loopback \
|
||||
btop \
|
||||
direnv \
|
||||
distrobox \
|
||||
eza \
|
||||
git \
|
||||
gnome-boxes \
|
||||
gstreamer1-vaapi \
|
||||
helm \
|
||||
kubectl \
|
||||
util-linux \
|
||||
lm_sensors \
|
||||
ncdu \
|
||||
pavucontrol \
|
||||
qemu-guest-agent \
|
||||
sysstat \
|
||||
tailscale \
|
||||
vdpauinfo \
|
||||
vulkan-tools \
|
||||
zsh \
|
||||
zsh-syntax-highlighting && \
|
||||
# Clean up
|
||||
dnf clean all
|
||||
|
||||
# Remove btop and nvtop shortcuts
|
||||
RUN rm /usr/share/applications/btop.desktop /usr/share/applications/nvtop.desktop
|
||||
|
||||
# Don't use the ghostty copr for now, it's broken on 42. Download the appimage in userland.
|
||||
# Todo: Try again when 42 is final.
|
||||
# RUN dnf copr enable -y pgdev/ghostty && \
|
||||
# dnf install -y ghostty
|
||||
|
||||
# Don't install 1password, the browser integration breaks because 1Password uses /opt.
|
||||
# I think this is polkit related.
|
||||
# RUN mkdir -p /var/opt
|
||||
# COPY scripts/1password.sh /tmp/1password.sh
|
||||
# RUN /bin/sh /tmp/1password.sh
|
||||
|
||||
RUN authselect enable-feature with-fingerprint
|
||||
|
||||
LABEL org.opencontainers.image.description="Built on ublue-os/silverblue-main, adding more batteries" \
|
||||
org.opencontainers.image.source="https://cremin.dev/jonathan/bootc" \
|
||||
org.opencontainers.image.title="ublue-silverblue-nvidia" \
|
||||
org.opencontainers.image.url="https://cremin.dev/jonathan/bootc" \
|
||||
org.opencontainers.image.created="" \
|
||||
org.opencontainers.image.licenses="Unlicensed" \
|
||||
org.opencontainers.image.revision="" \
|
||||
org.opencontainers.image.version=""
|
||||
|
||||
|
||||
|
||||
|
||||
# FROM cremin.dev/jonathan/fedora-bootc-base:42
|
||||
|
||||
# RUN echo "blacklist nouveau" > /etc/modprobe.d/blacklist_nouveau.conf
|
||||
|
||||
# RUN dnf install -y --allowerasing \
|
||||
# akmod-nvidia \
|
||||
# libva-nvidia-driver \
|
||||
# nvidia-container-toolkit \
|
||||
# nvidia-vaapi-driver \
|
||||
# xorg-x11-drv-nvidia \
|
||||
# xorg-x11-drv-nvidia-cuda \
|
||||
# xorg-x11-drv-nvidia-cuda-libs \
|
||||
# xorg-x11-drv-nvidia-power && \
|
||||
# # Clean up
|
||||
# dnf clean all
|
||||
|
||||
# RUN akmods --force --kernels `rpm -q --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}' kernel-devel`
|
||||
|
||||
# RUN systemctl enable nvidia-toolkit-firstboot.service
|
||||
|
||||
# COPY kargs-nvidia.toml /usr/lib/bootc/kargs.d/nvidia.toml
|
33
workstation-nvidia/build-push.sh
Executable file
33
workstation-nvidia/build-push.sh
Executable file
|
@ -0,0 +1,33 @@
|
|||
#!/bin/env sh
|
||||
|
||||
set -e
|
||||
|
||||
# Change to the directory where the script is located
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
DATE_TAG=$(date "+%Y%m%d-%H%M%S")
|
||||
CURRENT_IMAGE_ID=$(sudo podman images --format "{{.ID}}" cremin.dev/jonathan/ublue-silverblue-main:42)
|
||||
|
||||
|
||||
echo "Pulling base image"
|
||||
# ensure the base image is up to date
|
||||
sudo -E podman pull ghcr.io/ublue-os/silverblue-main:42
|
||||
|
||||
echo "Starting build"
|
||||
sudo -E podman build -t cremin.dev/jonathan/ublue-silverblue-main:42 .
|
||||
|
||||
NEW_IMAGE_ID=$(sudo podman images --format "{{.ID}}" cremin.dev/jonathan/ublue-silverblue-main:42)
|
||||
|
||||
|
||||
# Start build and check if any layers were changed (looking for "Using cache" messages)
|
||||
if [ "$CURRENT_IMAGE_ID" = "$NEW_IMAGE_ID" ]; then
|
||||
echo "No changes detected, skipping push"
|
||||
else
|
||||
echo "Image updated, pushing to registry"
|
||||
# Add the tags
|
||||
sudo -E podman tag cremin.dev/jonathan/ublue-silverblue-main:42 cremin.dev/jonathan/ublue-silverblue-main:42-${DATE_TAG} cremin.dev/jonathan/ublue-silverblue-main:latest
|
||||
# Push the image
|
||||
sudo -E podman push --authfile ~/.config/containers/auth.json cremin.dev/jonathan/ublue-silverblue-main:42-${DATE_TAG}
|
||||
sudo -E podman push --authfile ~/.config/containers/auth.json cremin.dev/jonathan/ublue-silverblue-main:42
|
||||
sudo -E podman push --authfile ~/.config/containers/auth.json cremin.dev/jonathan/ublue-silverblue-main:latest
|
||||
fi
|
21
workstation-nvidia/create-installer.sh
Executable file
21
workstation-nvidia/create-installer.sh
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
set -e
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
sudo podman run \
|
||||
--rm \
|
||||
-it \
|
||||
--privileged \
|
||||
--pull=newer \
|
||||
--security-opt label=type:unconfined_t \
|
||||
-v ./config.toml:/config.toml:ro \
|
||||
-v ./output:/output \
|
||||
-v /var/lib/containers/storage:/var/lib/containers/storage \
|
||||
quay.io/centos-bootc/bootc-image-builder:latest \
|
||||
--type iso \
|
||||
--rootfs btrfs \
|
||||
--use-librepo=True \
|
||||
--chown 1000:1000 \
|
||||
cremin.dev/jonathan/ublue-silverblue-main:42
|
2
workstation-nvidia/etc/sudoers.d/wheel-nopasswd
Executable file
2
workstation-nvidia/etc/sudoers.d/wheel-nopasswd
Executable file
|
@ -0,0 +1,2 @@
|
|||
# Enable passwordless sudo for the wheel group
|
||||
%wheel ALL=(ALL) NOPASSWD: ALL
|
8
workstation-nvidia/kargs-nvidia.toml
Executable file
8
workstation-nvidia/kargs-nvidia.toml
Executable file
|
@ -0,0 +1,8 @@
|
|||
kargs = [
|
||||
"mitigations=auto,nosmt",
|
||||
"console=ttyS0,114800n8",
|
||||
"video=vesafb:mtrr:3",
|
||||
"rd.driver.blacklist=nouveau",
|
||||
"modprobe.blacklist=nouveau",
|
||||
"nvidia-drm.modeset=1"
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue