FROM ghcr.io/ublue-os/silverblue-main: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

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

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