Use copr for Ghostty, remove sudo from shell script
This commit is contained in:
parent
64fc11fc58
commit
6a44899aff
2 changed files with 65 additions and 65 deletions
workstation
|
@ -3,62 +3,63 @@ FROM ghcr.io/ublue-os/silverblue-main:42
|
||||||
COPY etc /etc
|
COPY etc /etc
|
||||||
|
|
||||||
RUN dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm && \
|
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 install -y https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
|
||||||
dnf clean all
|
dnf clean all
|
||||||
|
|
||||||
RUN dnf remove -y \
|
RUN dnf remove -y \
|
||||||
ptyxis \
|
ptyxis \
|
||||||
gnome-software \
|
gnome-software \
|
||||||
htop \
|
htop \
|
||||||
gnome-classic-session \
|
gnome-classic-session \
|
||||||
gnome-shell-extension-apps-menu \
|
gnome-shell-extension-apps-menu \
|
||||||
gnome-shell-extension-background-logo \
|
gnome-shell-extension-background-logo \
|
||||||
gnome-shell-extension-launch-new-instance \
|
gnome-shell-extension-launch-new-instance \
|
||||||
gnome-shell-extension-places-menu \
|
gnome-shell-extension-places-menu \
|
||||||
gnome-shell-extension-window-list \
|
gnome-shell-extension-window-list \
|
||||||
open-vm-tools \
|
open-vm-tools \
|
||||||
open-vm-tools-desktop \
|
open-vm-tools-desktop \
|
||||||
qemu-guest-agent \
|
qemu-guest-agent \
|
||||||
spice-vdagent \
|
spice-vdagent \
|
||||||
spice-webdavd \
|
spice-webdavd \
|
||||||
virtualbox-guest-additions && \
|
virtualbox-guest-additions && \
|
||||||
dnf swap -y ffmpeg-free ffmpeg --allowerasing && \
|
dnf swap -y ffmpeg-free ffmpeg --allowerasing && \
|
||||||
dnf swap -y libavcodec-free libavcodec-freeworld --allowerasing && \
|
dnf swap -y libavcodec-free libavcodec-freeworld --allowerasing && \
|
||||||
dnf group install -y multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin && \
|
dnf remove -y pipewire-libs-extra && \
|
||||||
dnf copr enable -y alternateved/eza && \
|
dnf group install -y multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin --allowerasing && \
|
||||||
dnf install -y \
|
dnf copr enable -y alternateved/eza && \
|
||||||
acpi \
|
dnf copr enable -y pgdev/ghostty && \
|
||||||
akmod-v4l2loopback \
|
dnf install -y \
|
||||||
btop \
|
acpi \
|
||||||
direnv \
|
akmod-v4l2loopback \
|
||||||
distrobox \
|
btop \
|
||||||
eza \
|
direnv \
|
||||||
git \
|
dmidecode \
|
||||||
gnome-boxes \
|
eza \
|
||||||
gstreamer1-vaapi \
|
ffmpegthumbnailer \
|
||||||
helm \
|
ghostty \
|
||||||
kubectl \
|
git \
|
||||||
util-linux \
|
gnome-boxes \
|
||||||
lm_sensors \
|
gstreamer1-vaapi \
|
||||||
ncdu \
|
helm \
|
||||||
pavucontrol \
|
kubectl \
|
||||||
qemu-guest-agent \
|
lm_sensors \
|
||||||
sysstat \
|
lshw \
|
||||||
tailscale \
|
nmcli \
|
||||||
vdpauinfo \
|
mpv \
|
||||||
vulkan-tools \
|
ncdu \
|
||||||
zsh \
|
pavucontrol \
|
||||||
zsh-syntax-highlighting && \
|
sysstat \
|
||||||
# Clean up
|
tailscale \
|
||||||
dnf clean all
|
vdpauinfo \
|
||||||
|
vulkan-tools \
|
||||||
|
zsh \
|
||||||
|
zsh-syntax-highlighting && \
|
||||||
|
# Clean up
|
||||||
|
dnf clean all
|
||||||
|
|
||||||
# Remove btop and nvtop shortcuts
|
# Remove btop and nvtop shortcuts
|
||||||
RUN rm /usr/share/applications/btop.desktop /usr/share/applications/nvtop.desktop
|
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.
|
# Don't install 1password, the browser integration breaks because 1Password uses /opt.
|
||||||
# I think this is polkit related.
|
# I think this is polkit related.
|
||||||
|
@ -69,11 +70,10 @@ RUN rm /usr/share/applications/btop.desktop /usr/share/applications/nvtop.deskto
|
||||||
RUN authselect enable-feature with-fingerprint
|
RUN authselect enable-feature with-fingerprint
|
||||||
|
|
||||||
LABEL org.opencontainers.image.description="Built on ublue-os/silverblue-main, adding more batteries" \
|
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.source="https://cremin.dev/jonathan/bootc" \
|
||||||
org.opencontainers.image.title="ublue-silverblue-main" \
|
org.opencontainers.image.title="ublue-silverblue-main" \
|
||||||
org.opencontainers.image.url="https://cremin.dev/jonathan/bootc" \
|
org.opencontainers.image.url="https://cremin.dev/jonathan/bootc" \
|
||||||
org.opencontainers.image.created="" \
|
org.opencontainers.image.created="" \
|
||||||
org.opencontainers.image.licenses="Unlicensed" \
|
org.opencontainers.image.licenses="Unlicensed" \
|
||||||
org.opencontainers.image.revision="" \
|
org.opencontainers.image.revision="" \
|
||||||
org.opencontainers.image.version=""
|
org.opencontainers.image.version=""
|
||||||
|
|
||||||
|
|
|
@ -11,10 +11,10 @@ CURRENT_IMAGE_ID=$(sudo podman images --format "{{.ID}}" cremin.dev/jonathan/ubl
|
||||||
|
|
||||||
echo "Pulling base image"
|
echo "Pulling base image"
|
||||||
# ensure the base image is up to date
|
# ensure the base image is up to date
|
||||||
sudo -E podman pull ghcr.io/ublue-os/silverblue-main:42
|
podman pull ghcr.io/ublue-os/silverblue-main:42
|
||||||
|
|
||||||
echo "Starting build"
|
echo "Starting build"
|
||||||
sudo -E podman build -t cremin.dev/jonathan/ublue-silverblue-main:42 .
|
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)
|
NEW_IMAGE_ID=$(sudo podman images --format "{{.ID}}" cremin.dev/jonathan/ublue-silverblue-main:42)
|
||||||
|
|
||||||
|
@ -25,9 +25,9 @@ if [ "$CURRENT_IMAGE_ID" = "$NEW_IMAGE_ID" ]; then
|
||||||
else
|
else
|
||||||
echo "Image updated, pushing to registry"
|
echo "Image updated, pushing to registry"
|
||||||
# Add the tags
|
# 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
|
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
|
# Push the image
|
||||||
sudo -E podman push --authfile ~/.config/containers/auth.json cremin.dev/jonathan/ublue-silverblue-main:42-${DATE_TAG}
|
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
|
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
|
podman push --authfile ~/.config/containers/auth.json cremin.dev/jonathan/ublue-silverblue-main:latest
|
||||||
fi
|
fi
|
Loading…
Add table
Add a link
Reference in a new issue