diff --git a/.forgejo/workflows/build-image.yaml b/.forgejo/workflows/build-image.yaml index 47c7d2a..1172f87 100644 --- a/.forgejo/workflows/build-image.yaml +++ b/.forgejo/workflows/build-image.yaml @@ -20,3 +20,23 @@ jobs: - run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:stable-nvidia ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:stable-nvidia - if: '!cancelled()' run: podman image rm -f ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-kde:stable-nvidia && podman image prune -f + build-gnome: + runs-on: shell + steps: + - uses: actions/checkout@v4 + - run: cd ${{ env.GITHUB_WORKSPACE }} + - run: podman login -u ${{ vars.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} ${{ vars.REGISTRY_DOMAIN }} + - run: podman build . -f Dockerfile.gnome -m 2G --no-cache --pull=always --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:stable + - run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:stable ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:stable + - if: '!cancelled()' + run: podman image rm -f ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:stable && podman image prune -f + build-gnome-nvidia: + runs-on: shell + steps: + - uses: actions/checkout@v4 + - run: cd ${{ env.GITHUB_WORKSPACE }} + - run: podman login -u ${{ vars.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} ${{ vars.REGISTRY_DOMAIN }} + - run: podman build . -f Dockerfile.gnome-nvidia -m 2G --no-cache --pull=always --squash -t ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:stable-nvidia + - run: podman push --compression-format=zstd:chunked --compression-level=${{ vars.COMPRESSION_LEVEL }} ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:stable-nvidia ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:stable-nvidia + - if: '!cancelled()' + run: podman image rm -f ${{ vars.REGISTRY_DOMAIN }}/ver4a/onc-gnome:stable-nvidia && podman image prune -f diff --git a/Dockerfile.gnome b/Dockerfile.gnome new file mode 100644 index 0000000..d7d33c8 --- /dev/null +++ b/Dockerfile.gnome @@ -0,0 +1,30 @@ +FROM quay.io/fedora-ostree-desktops/silverblue:41 + +# Add rpmfusion repositories +RUN rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm + +# Install ffmpeg (removing all the -free replacements is required) +RUN rpm-ostree override remove libavcodec-free libavfilter-free libpostproc-free libswresample-free libswscale-free libavutil-free libavformat-free ffmpeg-free libavdevice-free --install=ffmpeg + +# Install openh264 +RUN rpm-ostree override remove noopenh264 --install openh264 --install mozilla-openh264 + +# Bulk of layered packages +RUN rpm-ostree install virt-manager vim neovim bat btop pv restic zstd nmap-ncat + +RUN systemctl enable libvirtd + +# Set vim as default editor +RUN rpm-ostree override remove nano-default-editor --install vim-default-editor + +# Remove default color prompt (is replaced with a custom one) +RUN rpm-ostree override remove bash-color-prompt + +# Remove rpm metadata cache +RUN rpm-ostree cleanup --repomd + +# Apply configuration +COPY etc /etc + +# https://github.com/ostreedev/ostree-rs-ext/issues/159 +RUN ostree container commit diff --git a/Dockerfile.gnome-nvidia b/Dockerfile.gnome-nvidia new file mode 100644 index 0000000..dc4ae4d --- /dev/null +++ b/Dockerfile.gnome-nvidia @@ -0,0 +1,34 @@ +FROM quay.io/fedora-ostree-desktops/silverblue:41 + +# Add rpmfusion repositories +RUN rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm + +# Install ffmpeg (removing all the -free replacements is required) +RUN rpm-ostree override remove libavcodec-free libavfilter-free libpostproc-free libswresample-free libswscale-free libavutil-free libavformat-free ffmpeg-free libavdevice-free --install=ffmpeg + +# Install openh264 +RUN rpm-ostree override remove noopenh264 --install openh264 --install mozilla-openh264 + +# Bulk of layered packages +RUN rpm-ostree install virt-manager vim neovim bat btop pv restic zstd nmap-ncat + +RUN systemctl enable libvirtd + +# Set vim as default editor +RUN rpm-ostree override remove nano-default-editor --install vim-default-editor + +# Remove default color prompt (is replaced with a custom one) +RUN rpm-ostree override remove bash-color-prompt + +# Install nvidia drivers +RUN rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia-cuda && \ + akmods --force --kernels $(rpm -qa kernel | sed 's/kernel-//g') + +# Remove rpm metadata cache +RUN rpm-ostree cleanup --repomd + +# Apply configuration +COPY etc /etc + +# https://github.com/ostreedev/ostree-rs-ext/issues/159 +RUN ostree container commit