FROM ghcr.io/ublue-os/silverblue-nvidia:42

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 remove -y pipewire-libs-extra && \
  dnf group install -y multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin --allowerasing && \
  dnf copr enable -y alternateved/eza && \
  dnf copr enable -y pgdev/ghostty && \
  dnf install -y \
  acpi \
  akmod-v4l2loopback \
  btop \
  direnv \
  dmidecode \
  eza \
  ffmpegthumbnailer \
  ghostty \
  git \
  gnome-boxes \
  gstreamer1-vaapi \
  helm \
  kubectl \
  lm_sensors \
  lshw \
  nmcli \
  mpv \
  ncdu \
  pavucontrol \
  podman-compose \
  sysstat \
  tailscale \
  vdpauinfo \
  vulkan-tools \
  zsh \
  zsh-syntax-highlighting && \
  # Clean up
  dnf clean all

# Setup watercooling
RUN dnf copr enable -y codifryed/CoolerControl && \
  dnf install -y coolercontrol && \
  systemctl enable coolercontrold && \
  dnf clean all

RUN dnf config-manager addrepo --from-repofile=https://rpm.releases.hashicorp.com/fedora/hashicorp.repo && \
  dnf install -y terraform && \
  dnf clean all

# Remove btop and nvtop shortcuts
RUN rm /usr/share/applications/btop.desktop /usr/share/applications/nvtop.desktop

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=""