From 8d080cfdb5c19304f51da3edee8bdd52a5c9e15f Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 25 Sep 2023 10:13:09 -0700 Subject: [PATCH 01/45] feat: Initial commit of arch-distrobox --- Containerfile | 93 +------------------ README.md | 25 +---- system_files/etc/profile.d/neofetch.sh | 2 - .../share/fish/vendor_conf.d/neofetch.fish | 2 - .../usr/share/ublue-os/bazzite/neofetch.conf | 42 --------- 5 files changed, 5 insertions(+), 159 deletions(-) delete mode 100755 system_files/etc/profile.d/neofetch.sh delete mode 100755 system_files/usr/share/fish/vendor_conf.d/neofetch.fish delete mode 100644 system_files/usr/share/ublue-os/bazzite/neofetch.conf diff --git a/Containerfile b/Containerfile index 40bd3aa..c8e6a3b 100644 --- a/Containerfile +++ b/Containerfile @@ -1,6 +1,4 @@ -FROM docker.io/library/archlinux:latest AS bazzite-arch - -COPY system_files / +FROM docker.io/library/archlinux:latest AS arch-distrobox # Pacman Initialization # Create build user @@ -30,7 +28,6 @@ WORKDIR / RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/distrobox && \ cp /tmp/distrobox/distrobox-host-exec /usr/bin/distrobox-host-exec && \ ln -s /usr/bin/distrobox-host-exec /usr/bin/flatpak && \ - ln -s /usr/bin/distrobox-host-exec /usr/bin/firefox && \ wget https://github.com/1player/host-spawn/releases/download/$(cat /tmp/distrobox/distrobox-host-exec | grep host_spawn_version= | cut -d "\"" -f 2)/host-spawn-$(uname -m) -O /usr/bin/host-spawn && \ chmod +x /usr/bin/host-spawn && \ rm -drf /tmp/distrobox @@ -81,44 +78,6 @@ RUN pacman -S \ vulkan-radeon \ --noconfirm -# Install needed packages -RUN pacman -S \ - lib32-vulkan-radeon \ - libva-mesa-driver \ - intel-media-driver \ - vulkan-mesa-layers \ - lib32-vulkan-mesa-layers \ - lib32-libnm \ - openal \ - pipewire \ - pipewire-pulse \ - pipewire-alsa \ - pipewire-jack \ - wireplumber \ - lib32-pipewire \ - lib32-pipewire-jack \ - lib32-libpulse \ - lib32-openal \ - xdg-desktop-portal-kde \ - vim \ - nano \ - hyfetch \ - fish \ - yad \ - xdg-user-dirs \ - xdotool \ - xorg-xwininfo \ - wmctrl \ - wxwidgets-gtk3 \ - --noconfirm && \ - pacman -S \ - steam \ - lutris \ - mangohud \ - lib32-mangohud \ - --noconfirm - # Steam/Lutris/Wine installed separately so they use the dependencies above and don't try to install their own. - # Add paru and install AUR packages USER build WORKDIR /home/build @@ -128,25 +87,13 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ cd .. && \ rm -drf paru-bin && \ paru -S \ - aur/protontricks \ - aur/latencyflex-git \ - aur/vkbasalt \ - aur/lib32-vkbasalt \ - aur/obs-vkcapture-git \ - aur/lib32-obs-vkcapture-git \ - aur/lib32-gperftools \ - aur/steamcmd \ aur/xcursor-breeze \ --noconfirm USER root WORKDIR / # Cleanup -# Native march & tune. This is a gaming image and not something a user is going to compile things in with the intent to share. -# We do this last because it'll only apply to updates the user makes going forward. We don't want to optimize for the build host's environment. -RUN sed -i 's@ (Runtime)@@g' /usr/share/applications/steam.desktop && \ - sed -i 's/-march=x86-64 -mtune=generic/-march=native -mtune=native/g' /etc/makepkg.conf && \ - sed -i 's@#en_US.UTF-8@en_US.UTF-8@g' /etc/locale.gen && \ +RUN sed -i 's@#en_US.UTF-8@en_US.UTF-8@g' /etc/locale.gen && \ userdel -r build && \ rm -drf /home/build && \ sed -i '/build ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ @@ -154,39 +101,3 @@ RUN sed -i 's@ (Runtime)@@g' /usr/share/applications/steam.desktop && \ rm -rf \ /tmp/* \ /var/cache/pacman/pkg/* - -FROM bazzite-arch as bazzite-arch-gnome - -# Replace KDE portal with GNOME portal, swap included icon theme. -RUN sed -i 's/-march=native -mtune=native/-march=x86-64 -mtune=generic/g' /etc/makepkg.conf && \ - pacman -Rnsdd \ - xdg-desktop-portal-kde \ - --noconfirm && \ - pacman -S \ - xdg-desktop-portal-gtk \ - --noconfirm && \ - useradd -m --shell=/bin/bash build && usermod -L build && \ - echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers - -# Add adw-gtk3 theme. -USER build -WORKDIR /home/build -RUN paru -R \ - xcursor-breeze \ - --noconfirm && \ - paru -S \ - aur/adw-gtk3 \ - --noconfirm -USER root -WORKDIR / - -# Cleanup -RUN userdel -r build && \ - rm -drf /home/build && \ - sed -i '/build ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ - sed -i '/root ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ - sed -i 's/-march=x86-64 -mtune=generic/-march=native -mtune=native/g' /etc/makepkg.conf && \ - rm -rf \ - /tmp/* \ - /var/cache/pacman/pkg/* diff --git a/README.md b/README.md index 44597a9..a63a41d 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,8 @@ -# bazzite-arch +# arch-distrobox -[![build-bazzite-arch](https://github.com/ublue-os/bazzite-arch/actions/workflows/build.yml/badge.svg)](https://github.com/ublue-os/bazzite-arch/actions/workflows/build.yml) +[![build-arch-distrobox](https://github.com/ublue-os/arch-distrobox/actions/workflows/build.yml/badge.svg)](https://github.com/ublue-os/arch-distrobox/actions/workflows/build.yml) -Bazzite-Arch is a ready-to-game [Arch Linux](https://archlinux.org/) based OCI designed for use exclusively in [distrobox](https://github.com/89luca89/distrobox). It is part of the [Bazzite](https://github.com/ublue-os/bazzite/) project and is used for running Steam, Lutris, and Protontricks in the desktop images. It may also be used on any Linux distributon by following the usage section below. - -## Usage - - distrobox create --nvidia --image ghcr.io/ublue-os/bazzite-arch --name bazzite-arch - -For the GNOME desktop environment, you may want to replace `ghcr.io/ublue-os/bazzite-arch` in the above command with `ghcr.io/ublue-os/bazzite-arch-gnome`, which comes with `xdg-desktop-portal-gnome`. - -Once the image has been created, you may optionally export the pre-installed applications to your host operating system using the following: - - distrobox-enter -n bazzite-arch -- ' distrobox-export --app steam' - distrobox-enter -n bazzite-arch -- ' distrobox-export --app lutris' - distrobox-enter -n bazzite-arch -- ' distrobox-export --app protontricks' - distrobox-enter -n bazzite-arch -- ' mkdir -p ~/.steam && distrobox-export --bin /usr/bin/steamcmd --export-path ~/.steam && mv ~/.steam/steamcmd ~/.steam/steamcmd.sh' - -On AMD systems you can add [ROCm GPU Compute](https://www.amd.com/en/graphics/servers-solutions-rocm) with the following: - - distrobox-enter -n bazzite-arch -- ' sudo pacman -S rocm-opencl-runtime rocm-hip-runtime --noconfirm' - -Bazzite-Arch ships with [paru](https://github.com/Morganamilo/paru) pre-installed, and comes with a modified [xdg-utils](https://github.com/KyleGospo/xdg-utils-distrobox-arch) that allows the container to open your host operating system's web browsers and file explorer. +Arch images designed for use in distrobox. These come with the bare minimum, but are pre-configured to use the host's xdg-open and come with paru preinstalled. ## Verification diff --git a/system_files/etc/profile.d/neofetch.sh b/system_files/etc/profile.d/neofetch.sh deleted file mode 100755 index 066d99a..0000000 --- a/system_files/etc/profile.d/neofetch.sh +++ /dev/null @@ -1,2 +0,0 @@ -alias neofetch='/usr/bin/neowofetch --config /usr/share/ublue-os/bazzite/neofetch.conf' -alias neowofetch='/usr/bin/neowofetch --config /usr/share/ublue-os/bazzite/neofetch.conf' diff --git a/system_files/usr/share/fish/vendor_conf.d/neofetch.fish b/system_files/usr/share/fish/vendor_conf.d/neofetch.fish deleted file mode 100755 index ca9a6e7..0000000 --- a/system_files/usr/share/fish/vendor_conf.d/neofetch.fish +++ /dev/null @@ -1,2 +0,0 @@ -alias neofetch='/usr/bin/neowofetch --source /usr/share/ublue-os/bazzite/logo.txt --config /usr/share/ublue-os/bazzite/neofetch.conf' -alias neowofetch='/usr/bin/neowofetch --source /usr/share/ublue-os/bazzite/logo.txt --config /usr/share/ublue-os/bazzite/neofetch.conf' diff --git a/system_files/usr/share/ublue-os/bazzite/neofetch.conf b/system_files/usr/share/ublue-os/bazzite/neofetch.conf deleted file mode 100644 index d7d91b3..0000000 --- a/system_files/usr/share/ublue-os/bazzite/neofetch.conf +++ /dev/null @@ -1,42 +0,0 @@ -print_info () { - info title - info underline - - oci="Bazzite-Arch x86_64" - info "Host" model - info "OCI" oci - info "OS" distro - info "Kernel" kernel - info "Uptime" uptime - info "Packages" packages - info "Shell" shell - info "Resolution" resolution - info "DE" de - info "WM" wm - info "WM Theme" wm_theme - info "Theme" theme - info "Icons" icons - info "Terminal" term - info "Terminal Font" term_font - info "CPU" cpu - info "GPU" gpu - info "Memory" memory - - # The lines below with a '#' in front are additional info functions - # that are disabled by default. Removing the '#' enables them and adding - # a '#' to the start disables them again. You can add a '#' to any of the - # lines in this function to disable their output. - - # info "CPU Usage" cpu_usage - # info "Disk" disk - # info "Battery" battery - # info "Font" font - # info "Song" song - # info "Local IP" local_ip - # info "Public IP" public_ip - # info "Users" users - # info "Birthday" birthday - - info cols -} - From da3efb33d5b4af85209bc21be34a41864b0139b1 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 25 Sep 2023 10:17:06 -0700 Subject: [PATCH 02/45] chore(readme): Minor fix to verification section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a63a41d..a0879ce 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,4 @@ Arch images designed for use in distrobox. These come with the bare minimum, but These images are signed with sisgstore's [cosign](https://docs.sigstore.dev/cosign/overview/). You can verify the signature by downloading the `cosign.pub` key from this repo and running the following command: - cosign verify --key cosign.pub ghcr.io/ublue-os/bazzite-arch + cosign verify --key cosign.pub ghcr.io/ublue-os/arch-distrobox From f87eaaaabbce095f392ad7bbff7303046946c8c8 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 25 Sep 2023 10:18:06 -0700 Subject: [PATCH 03/45] chore(ci): Update name and built images --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3df1cf1..62b1ed7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,4 +1,4 @@ -name: Build Bazzite-Arch +name: Build Arch-Distrobox on: schedule: - cron: '20 18 * * *' # 8:20pm everyday @@ -32,7 +32,7 @@ jobs: strategy: fail-fast: false matrix: - base_name: [bazzite-arch, bazzite-arch-gnome] + base_name: [arch-distrobox] include: - is_latest_version: true is_stable_version: true From 8204bb21947832afbaa918a6b787bdf9dd315599 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 25 Sep 2023 10:23:20 -0700 Subject: [PATCH 04/45] fix: Use toolbox image as base --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index c8e6a3b..e96dcc6 100644 --- a/Containerfile +++ b/Containerfile @@ -1,4 +1,4 @@ -FROM docker.io/library/archlinux:latest AS arch-distrobox +FROM quay.io/toolbx-images/archlinux-toolbox AS arch-distrobox # Pacman Initialization # Create build user From ee3ace970de6138204e96b5f3c1d91d89722176a Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 25 Sep 2023 10:26:33 -0700 Subject: [PATCH 05/45] chore(ci): Update image meta data --- .github/workflows/build.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 62b1ed7..003441f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -95,9 +95,8 @@ jobs: labels: | org.opencontainers.image.title=${{ env.IMAGE_NAME }} org.opencontainers.image.version=${{ steps.labels.outputs.VERSION }} - org.opencontainers.image.description=These images are not meant to be used as a host operating system. Please see bazzite-desktop for more information. - io.artifacthub.package.readme-url=https://raw.githubusercontent.com/ublue-os/bazzite-arch/main/README.md - io.artifacthub.package.logo-url=https://raw.githubusercontent.com/ublue-os/bazzite/main/repo_content/logo.png + org.opencontainers.image.description=These images are not meant to be used as a host operating system. Please see arch-distrobox for more information. + io.artifacthub.package.readme-url=https://raw.githubusercontent.com/ublue-os/arch-distrobox/main/README.md # Build image using Buildah action - name: Build Image From 217c919c5d0fa2b4cb45e60043f447ca95dee6f5 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Mon, 25 Sep 2023 13:07:24 -0700 Subject: [PATCH 06/45] chore(readme): Minor improvements --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a0879ce..4cfb85f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![build-arch-distrobox](https://github.com/ublue-os/arch-distrobox/actions/workflows/build.yml/badge.svg)](https://github.com/ublue-os/arch-distrobox/actions/workflows/build.yml) -Arch images designed for use in distrobox. These come with the bare minimum, but are pre-configured to use the host's xdg-open and come with paru preinstalled. +Arch image designed for use in distrobox. This image includes all of the packages normally installed by distrobox on first start, [paru](https://github.com/Morganamilo/paru) pre-installed, and a modified [xdg-utils](https://github.com/KyleGospo/xdg-utils-distrobox-arch) that allows the container to open your host operating system's web browsers and file explorer. ## Verification From 50dfe2cd790388fcb12f9bc82f9c42ba4895dddc Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Tue, 26 Sep 2023 23:30:03 -0700 Subject: [PATCH 07/45] feat: Add 2nd image for amdgpupro --- .github/workflows/build.yml | 2 +- Containerfile | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 003441f..81f8b4f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,7 +32,7 @@ jobs: strategy: fail-fast: false matrix: - base_name: [arch-distrobox] + base_name: [arch-distrobox, arch-distrobox-amdgpupro] include: - is_latest_version: true is_stable_version: true diff --git a/Containerfile b/Containerfile index e96dcc6..68d2d0b 100644 --- a/Containerfile +++ b/Containerfile @@ -101,3 +101,37 @@ RUN sed -i 's@#en_US.UTF-8@en_US.UTF-8@g' /etc/locale.gen && \ rm -rf \ /tmp/* \ /var/cache/pacman/pkg/* + +FROM arch-distrobox AS arch-distrobox-amdgpupro + +# Install amdgpu-pro, remove other drivers +RUN pacman -R \ + libglvnd \ + vulkan-intel \ + vulkan-radeon \ + mesa \ + --noconfirm && \ + useradd -m --shell=/bin/bash build && usermod -L build && \ + echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ + echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers + +USER build +WORKDIR /home/build +RUN paru -S \ + amdgpu-pro-oglp \ + lib32-amdgpu-pro-oglp \ + vulkan-amdgpu-pro \ + lib32-vulkan-amdgpu-pro \ + amf-amdgpu-pro \ + --noconfirm +USER root +WORKDIR / + +# Cleanup +RUN userdel -r build && \ + rm -drf /home/build && \ + sed -i '/build ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ + sed -i '/root ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ + rm -rf \ + /tmp/* \ + /var/cache/pacman/pkg/* From 9330988a91555ff7e4f4054a5ede6fd26ca1b4e8 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Wed, 27 Sep 2023 16:18:58 -0700 Subject: [PATCH 08/45] feat: Add adw-gtk3 theme by default --- Containerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Containerfile b/Containerfile index 68d2d0b..7aca7fd 100644 --- a/Containerfile +++ b/Containerfile @@ -88,6 +88,7 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ rm -drf paru-bin && \ paru -S \ aur/xcursor-breeze \ + aur/adw-gtk3 \ --noconfirm USER root WORKDIR / From 1985ce1302e09b4639e0039751699982ee151b25 Mon Sep 17 00:00:00 2001 From: trevnels <25140503+trevnels@users.noreply.github.com> Date: Thu, 15 Feb 2024 14:09:47 -0500 Subject: [PATCH 09/45] fix: build with seccomp=unconfined to fix fchmodat2 syscall fallback behavior --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 81f8b4f..b5c86c6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -111,7 +111,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} oci: false extra-args: | - --target=${{ matrix.base_name }} + --target=${{ matrix.base_name }} --security-opt=seccomp=unconfined # Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR. # https://github.com/macbre/push-to-ghcr/issues/12 From 7dfdccaed9a3079eca50f73b070231d8fabe5dcb Mon Sep 17 00:00:00 2001 From: trevnels <25140503+trevnels@users.noreply.github.com> Date: Thu, 15 Feb 2024 14:11:09 -0500 Subject: [PATCH 10/45] chore: use new official arch toolbx image --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 7aca7fd..5a2c125 100644 --- a/Containerfile +++ b/Containerfile @@ -1,4 +1,4 @@ -FROM quay.io/toolbx-images/archlinux-toolbox AS arch-distrobox +FROM quay.io/toolbx/arch-toolbox AS arch-distrobox # Pacman Initialization # Create build user From f72e56d55f5ebdeb38f57460499d5818194700cb Mon Sep 17 00:00:00 2001 From: David Marrero Date: Wed, 27 Mar 2024 23:44:46 -0400 Subject: [PATCH 11/45] fix: Change to xcursor-breeze5 to avoid conflicts Plasma 6's breeze conflicts with the xcursor package. --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 5a2c125..f600e72 100644 --- a/Containerfile +++ b/Containerfile @@ -87,7 +87,7 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ cd .. && \ rm -drf paru-bin && \ paru -S \ - aur/xcursor-breeze \ + aur/xcursor-breeze5 \ aur/adw-gtk3 \ --noconfirm USER root From 987eb583439b4f8e0567e0db4888c1449c3eeea4 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Thu, 25 Apr 2024 20:34:19 +0200 Subject: [PATCH 12/45] change signing key to my own --- cosign.pub | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cosign.pub b/cosign.pub index f9482c4..bcb6db5 100644 --- a/cosign.pub +++ b/cosign.pub @@ -1,4 +1,4 @@ -----BEGIN PUBLIC KEY----- -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7lh7fJMV4dBT2jT1XafixUJa7OVA -cT+QFVD8IfIJIS/KBAc8hx1aslzkH3tfeM0cwyCLB7kOStZ4sh6RyFQD9w== +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEex4fLC8Eb0S10Rm1XshUnM9JS0Xj +IA+TkwSCa2H/qMM7BIIKDeiD9nYv03dWCK2aqRWHCtMZYR1G6jfG4//dMA== -----END PUBLIC KEY----- From 74bf20176edbb2b7b797851821a32a56c7afe4ca Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Thu, 25 Apr 2024 20:34:45 +0200 Subject: [PATCH 13/45] add packages I need to Containerfile --- Containerfile | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/Containerfile b/Containerfile index f600e72..63f4f53 100644 --- a/Containerfile +++ b/Containerfile @@ -78,6 +78,45 @@ RUN pacman -S \ vulkan-radeon \ --noconfirm +# My Own custom packages I need +RUN pacman -S \ + android-tools \ + base-devel \ + btop \ + curl \ + dos2unix \ + ffmpeg \ + fzf \ + git \ + htop \ + iftop \ + lf \ + man \ + mediainfo \ + neovim \ + nvtop \ + openssl \ + p7zip \ + qrencode \ + rsync \ + scrcpy \ + shellcheck \ + stress \ + tldr \ + tmux \ + unarchiver \ + unrar \ + wget \ + wl-clipboard \ + xorg-xev \ + xorg-xkill \ + yt-dlp \ + zsh \ + zsh-autosuggestions \ + zsh-completions \ + zsh-syntax-highlighting \ + --noconfirm + # Add paru and install AUR packages USER build WORKDIR /home/build @@ -89,6 +128,7 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ paru -S \ aur/xcursor-breeze5 \ aur/adw-gtk3 \ + aur/gallery-dl-bin --noconfirm USER root WORKDIR / From aa73f4053760244bfed8767a0dc4218cdf034050 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Thu, 25 Apr 2024 20:41:07 +0200 Subject: [PATCH 14/45] fix missing backslash build syntax error --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 63f4f53..31b28bb 100644 --- a/Containerfile +++ b/Containerfile @@ -128,7 +128,7 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ paru -S \ aur/xcursor-breeze5 \ aur/adw-gtk3 \ - aur/gallery-dl-bin + aur/gallery-dl-bin \ --noconfirm USER root WORKDIR / From 8e3e64db7003cdda939d9edec3c291babf4d33fe Mon Sep 17 00:00:00 2001 From: Renner0E <80410025+Renner0E@users.noreply.github.com> Date: Thu, 25 Apr 2024 21:05:49 +0200 Subject: [PATCH 15/45] delete gpu pro stuff --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b5c86c6..8d9d139 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,7 +32,7 @@ jobs: strategy: fail-fast: false matrix: - base_name: [arch-distrobox, arch-distrobox-amdgpupro] + base_name: [arch-distrobox] include: - is_latest_version: true is_stable_version: true From 12a8bb4de05bd383a09eb67604f02385320bab75 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Thu, 30 May 2024 15:54:58 -0700 Subject: [PATCH 16/45] chore: Remove some no longer needed packages --- Containerfile | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Containerfile b/Containerfile index f600e72..dd4689d 100644 --- a/Containerfile +++ b/Containerfile @@ -16,15 +16,6 @@ RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # Distrobox Integration -USER build -WORKDIR /home/build -RUN git clone https://github.com/KyleGospo/xdg-utils-distrobox-arch.git --single-branch && \ - cd xdg-utils-distrobox-arch/trunk && \ - makepkg -si --noconfirm && \ - cd ../.. && \ - rm -drf xdg-utils-distrobox-arch -USER root -WORKDIR / RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/distrobox && \ cp /tmp/distrobox/distrobox-host-exec /usr/bin/distrobox-host-exec && \ ln -s /usr/bin/distrobox-host-exec /usr/bin/flatpak && \ @@ -87,7 +78,6 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ cd .. && \ rm -drf paru-bin && \ paru -S \ - aur/xcursor-breeze5 \ aur/adw-gtk3 \ --noconfirm USER root From e2f1931d1330a6a614fc99292b34caa8a10694ae Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Mon, 1 Jul 2024 13:49:07 +0200 Subject: [PATCH 17/45] add rclone --- Containerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Containerfile b/Containerfile index 31b28bb..7e464a1 100644 --- a/Containerfile +++ b/Containerfile @@ -98,6 +98,7 @@ RUN pacman -S \ openssl \ p7zip \ qrencode \ + rclone \ rsync \ scrcpy \ shellcheck \ From 00e94b80d30145662a4c6ef3c85026e212fe1c49 Mon Sep 17 00:00:00 2001 From: Benjamin Sherman Date: Tue, 2 Jul 2024 11:37:00 -0500 Subject: [PATCH 18/45] refactor: update cosign public key Relates: ublue-os/main#599 --- cosign.pub | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cosign.pub b/cosign.pub index f9482c4..bd5b192 100644 --- a/cosign.pub +++ b/cosign.pub @@ -1,4 +1,4 @@ -----BEGIN PUBLIC KEY----- -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7lh7fJMV4dBT2jT1XafixUJa7OVA -cT+QFVD8IfIJIS/KBAc8hx1aslzkH3tfeM0cwyCLB7kOStZ4sh6RyFQD9w== +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHLRpBfPRYiMl9wb7s6fx47PzzNWu +3zyJgXhWEvxoOgwv9CpwjbvUwR9qHxNMWkJhuGE6cjDA2hpy1I6NbA+24Q== -----END PUBLIC KEY----- From e3808086db10a70a5c19f734b227415f1295d4f4 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Sun, 7 Jul 2024 21:04:52 +0200 Subject: [PATCH 19/45] add svn --- Containerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Containerfile b/Containerfile index 7e464a1..9aff420 100644 --- a/Containerfile +++ b/Containerfile @@ -67,6 +67,7 @@ RUN pacman -S \ util-linux \ util-linux-libs \ vte-common \ + svn \ wget \ words \ xorg-xauth \ From aefafe46c02d8933c093832c74d1563572516824 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 16 Jul 2024 20:08:45 +0200 Subject: [PATCH 20/45] fix: populate pacman-keys to fix this error File /var/cache/pacman/pkg/tldr-3.3.0-1-any.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). Do you want to delete it? [Y/n] error: tldr: signature from "Brett Cornwall " is unknown trust error: wl-clipboard: signature from "Brett Cornwall " is unknown trust error: failed to commit transaction (invalid or corrupted package) :: File /var/cache/pacman/pkg/wl-clipboard-1:2.2.1-2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). --- Containerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Containerfile b/Containerfile index 9aff420..b40c4ca 100644 --- a/Containerfile +++ b/Containerfile @@ -5,6 +5,7 @@ FROM quay.io/toolbx/arch-toolbox AS arch-distrobox RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ printf "[multilib]\nInclude = /etc/pacman.d/mirrorlist\n" | tee -a /etc/pacman.conf && \ sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/g' /etc/makepkg.conf && \ + pacman-key --init && pacman-key --populate && \ pacman -Syu --noconfirm && \ pacman -S \ wget \ From 07aff0e7d036274f364f65f633720baaa42c1760 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 16 Jul 2024 20:08:45 +0200 Subject: [PATCH 21/45] fix: populate pacman-keys to fix this error File /var/cache/pacman/pkg/tldr-3.3.0-1-any.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). Do you want to delete it? [Y/n] error: tldr: signature from "Brett Cornwall " is unknown trust error: wl-clipboard: signature from "Brett Cornwall " is unknown trust error: failed to commit transaction (invalid or corrupted package) :: File /var/cache/pacman/pkg/wl-clipboard-1:2.2.1-2-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)). --- Containerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Containerfile b/Containerfile index dd4689d..9357dc3 100644 --- a/Containerfile +++ b/Containerfile @@ -5,6 +5,7 @@ FROM quay.io/toolbx/arch-toolbox AS arch-distrobox RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ printf "[multilib]\nInclude = /etc/pacman.d/mirrorlist\n" | tee -a /etc/pacman.conf && \ sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/g' /etc/makepkg.conf && \ + pacman-key --init && pacman-key --populate && \ pacman -Syu --noconfirm && \ pacman -S \ wget \ From 77679d1b351dfa6b50a5fa5cc1de67b418ece4c0 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Mon, 5 Aug 2024 15:25:30 +0200 Subject: [PATCH 22/45] add java package --- Containerfile | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Containerfile b/Containerfile index b40c4ca..7c6751a 100644 --- a/Containerfile +++ b/Containerfile @@ -43,15 +43,18 @@ RUN pacman -S \ glibc \ gnupg \ inetutils \ + jdk-openjdk \ keyutils \ less \ lsof \ man-db \ man-pages \ + mesa \ mlocate \ mtr \ ncurses \ nss-mdns \ + opengl-driver \ openssh \ pigz \ pinentry \ @@ -68,16 +71,10 @@ RUN pacman -S \ util-linux \ util-linux-libs \ vte-common \ - svn \ wget \ words \ xorg-xauth \ zip \ - mesa \ - opengl-driver \ - vulkan-intel \ - vte-common \ - vulkan-radeon \ --noconfirm # My Own custom packages I need From b43d34c04f037b19b4b5705a3214e039ead55fec Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 14 Aug 2024 21:18:50 +0200 Subject: [PATCH 23/45] chore: move adw-gtk3 from AUR to arch repos --- Containerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Containerfile b/Containerfile index 9357dc3..ddea885 100644 --- a/Containerfile +++ b/Containerfile @@ -26,6 +26,7 @@ RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/dis # Install packages Distrobox adds automatically, this speeds up first launch RUN pacman -S \ + adw-gtk-theme \ bash-completion \ bc \ curl \ @@ -78,9 +79,9 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ makepkg -si --noconfirm && \ cd .. && \ rm -drf paru-bin && \ - paru -S \ - aur/adw-gtk3 \ - --noconfirm +# paru -S \ +# aur/placeholder \ +# --noconfirm USER root WORKDIR / From c143c85e2d8ef1ed814784dffde2a69addd92747 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Fri, 16 Aug 2024 16:29:30 +0200 Subject: [PATCH 24/45] fix: paru syntax error --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index ddea885..931d01a 100644 --- a/Containerfile +++ b/Containerfile @@ -78,7 +78,7 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ cd paru-bin && \ makepkg -si --noconfirm && \ cd .. && \ - rm -drf paru-bin && \ + rm -drf paru-bin # paru -S \ # aur/placeholder \ # --noconfirm From 78cb7bcb63be5a354f3e4dce26f0974b74dbda57 Mon Sep 17 00:00:00 2001 From: Kyle Gospodnetich Date: Thu, 30 May 2024 15:54:58 -0700 Subject: [PATCH 25/45] chore: Remove some no longer needed packages --- Containerfile | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Containerfile b/Containerfile index 7c6751a..54f53dc 100644 --- a/Containerfile +++ b/Containerfile @@ -17,15 +17,6 @@ RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # Distrobox Integration -USER build -WORKDIR /home/build -RUN git clone https://github.com/KyleGospo/xdg-utils-distrobox-arch.git --single-branch && \ - cd xdg-utils-distrobox-arch/trunk && \ - makepkg -si --noconfirm && \ - cd ../.. && \ - rm -drf xdg-utils-distrobox-arch -USER root -WORKDIR / RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/distrobox && \ cp /tmp/distrobox/distrobox-host-exec /usr/bin/distrobox-host-exec && \ ln -s /usr/bin/distrobox-host-exec /usr/bin/flatpak && \ @@ -126,7 +117,6 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ cd .. && \ rm -drf paru-bin && \ paru -S \ - aur/xcursor-breeze5 \ aur/adw-gtk3 \ aur/gallery-dl-bin \ --noconfirm From 045beb915d9268fc3fdf7ed33969eb4481233249 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 20 Aug 2024 11:28:02 +0200 Subject: [PATCH 26/45] conflict resolve cosign --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 54f53dc..1ae9d64 100644 --- a/Containerfile +++ b/Containerfile @@ -26,6 +26,7 @@ RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/dis # Install packages Distrobox adds automatically, this speeds up first launch RUN pacman -S \ + adw-gtk-theme \ bash-completion \ bc \ curl \ @@ -117,7 +118,6 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ cd .. && \ rm -drf paru-bin && \ paru -S \ - aur/adw-gtk3 \ aur/gallery-dl-bin \ --noconfirm USER root From 6b637f291c2e6fadc2d8758cbbb477a59548bc4f Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 20 Aug 2024 23:40:39 +0200 Subject: [PATCH 27/45] add packages I need to Containerfile --- Containerfile | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 1ae9d64..4691e0c 100644 --- a/Containerfile +++ b/Containerfile @@ -109,6 +109,45 @@ RUN pacman -S \ zsh-syntax-highlighting \ --noconfirm +# My Own custom packages I need +RUN pacman -S \ + android-tools \ + base-devel \ + btop \ + curl \ + dos2unix \ + ffmpeg \ + fzf \ + git \ + htop \ + iftop \ + lf \ + man \ + mediainfo \ + neovim \ + nvtop \ + openssl \ + p7zip \ + qrencode \ + rsync \ + scrcpy \ + shellcheck \ + stress \ + tldr \ + tmux \ + unarchiver \ + unrar \ + wget \ + wl-clipboard \ + xorg-xev \ + xorg-xkill \ + yt-dlp \ + zsh \ + zsh-autosuggestions \ + zsh-completions \ + zsh-syntax-highlighting \ + --noconfirm + # Add paru and install AUR packages USER build WORKDIR /home/build @@ -118,7 +157,7 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ cd .. && \ rm -drf paru-bin && \ paru -S \ - aur/gallery-dl-bin \ + aur/gallery-dl-bin --noconfirm USER root WORKDIR / From 68fbba61ae76b54a1f41c29233985e0e2cc43e8c Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 14 Aug 2024 21:18:50 +0200 Subject: [PATCH 28/45] cherry pick commit resolve conflict --- Containerfile | 277 +++++++++++++++++++++++++------------------------- 1 file changed, 139 insertions(+), 138 deletions(-) diff --git a/Containerfile b/Containerfile index 4691e0c..33be925 100644 --- a/Containerfile +++ b/Containerfile @@ -3,162 +3,163 @@ FROM quay.io/toolbx/arch-toolbox AS arch-distrobox # Pacman Initialization # Create build user RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ - printf "[multilib]\nInclude = /etc/pacman.d/mirrorlist\n" | tee -a /etc/pacman.conf && \ - sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/g' /etc/makepkg.conf && \ - pacman-key --init && pacman-key --populate && \ - pacman -Syu --noconfirm && \ - pacman -S \ - wget \ - base-devel \ - git \ - --noconfirm && \ - useradd -m --shell=/bin/bash build && usermod -L build && \ - echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers + printf "[multilib]\nInclude = /etc/pacman.d/mirrorlist\n" | tee -a /etc/pacman.conf && \ + sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/g' /etc/makepkg.conf && \ + pacman-key --init && pacman-key --populate && \ + pacman -Syu --noconfirm && \ + pacman -S \ + wget \ + base-devel \ + git \ + --noconfirm && \ + useradd -m --shell=/bin/bash build && usermod -L build && \ + echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ + echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # Distrobox Integration RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/distrobox && \ - cp /tmp/distrobox/distrobox-host-exec /usr/bin/distrobox-host-exec && \ - ln -s /usr/bin/distrobox-host-exec /usr/bin/flatpak && \ - wget https://github.com/1player/host-spawn/releases/download/$(cat /tmp/distrobox/distrobox-host-exec | grep host_spawn_version= | cut -d "\"" -f 2)/host-spawn-$(uname -m) -O /usr/bin/host-spawn && \ - chmod +x /usr/bin/host-spawn && \ - rm -drf /tmp/distrobox + cp /tmp/distrobox/distrobox-host-exec /usr/bin/distrobox-host-exec && \ + ln -s /usr/bin/distrobox-host-exec /usr/bin/flatpak && \ + wget https://github.com/1player/host-spawn/releases/download/$(cat /tmp/distrobox/distrobox-host-exec | grep host_spawn_version= | cut -d "\"" -f 2)/host-spawn-$(uname -m) -O /usr/bin/host-spawn && \ + chmod +x /usr/bin/host-spawn && \ + rm -drf /tmp/distrobox # Install packages Distrobox adds automatically, this speeds up first launch RUN pacman -S \ - adw-gtk-theme \ - bash-completion \ - bc \ - curl \ - diffutils \ - findutils \ - glibc \ - gnupg \ - inetutils \ - jdk-openjdk \ - keyutils \ - less \ - lsof \ - man-db \ - man-pages \ - mesa \ - mlocate \ - mtr \ - ncurses \ - nss-mdns \ - opengl-driver \ - openssh \ - pigz \ - pinentry \ - procps-ng \ - rsync \ - shadow \ - sudo \ - tcpdump \ - time \ - traceroute \ - tree \ - tzdata \ - unzip \ - util-linux \ - util-linux-libs \ - vte-common \ - wget \ - words \ - xorg-xauth \ - zip \ - --noconfirm + adw-gtk-theme \ + bash-completion \ + bc \ + curl \ + diffutils \ + findutils \ + glibc \ + gnupg \ + inetutils \ + jdk-openjdk \ + keyutils \ + less \ + lsof \ + man-db \ + man-pages \ + mesa \ + mlocate \ + mtr \ + ncurses \ + nss-mdns \ + opengl-driver \ + openssh \ + pigz \ + pinentry \ + procps-ng \ + rsync \ + shadow \ + sudo \ + tcpdump \ + time \ + traceroute \ + tree \ + tzdata \ + unzip \ + util-linux \ + util-linux-libs \ + vte-common \ + wget \ + words \ + xorg-xauth \ + zip \ + --noconfirm # My Own custom packages I need RUN pacman -S \ - android-tools \ - base-devel \ - btop \ - curl \ - dos2unix \ - ffmpeg \ - fzf \ - git \ - htop \ - iftop \ - lf \ - man \ - mediainfo \ - neovim \ - nvtop \ - openssl \ - p7zip \ - qrencode \ - rclone \ - rsync \ - scrcpy \ - shellcheck \ - stress \ - tldr \ - tmux \ - unarchiver \ - unrar \ - wget \ - wl-clipboard \ - xorg-xev \ - xorg-xkill \ - yt-dlp \ - zsh \ - zsh-autosuggestions \ - zsh-completions \ - zsh-syntax-highlighting \ - --noconfirm + android-tools \ + base-devel \ + btop \ + curl \ + dos2unix \ + ffmpeg \ + fzf \ + git \ + htop \ + iftop \ + lf \ + man \ + mediainfo \ + neovim \ + nvtop \ + openssl \ + p7zip \ + qrencode \ + rclone \ + rsync \ + scrcpy \ + shellcheck \ + stress \ + tldr \ + tmux \ + unarchiver \ + unrar \ + wget \ + wl-clipboard \ + xorg-xev \ + xorg-xkill \ + yt-dlp \ + zsh \ + zsh-autosuggestions \ + zsh-completions \ + zsh-syntax-highlighting \ + --noconfirm # My Own custom packages I need RUN pacman -S \ - android-tools \ - base-devel \ - btop \ - curl \ - dos2unix \ - ffmpeg \ - fzf \ - git \ - htop \ - iftop \ - lf \ - man \ - mediainfo \ - neovim \ - nvtop \ - openssl \ - p7zip \ - qrencode \ - rsync \ - scrcpy \ - shellcheck \ - stress \ - tldr \ - tmux \ - unarchiver \ - unrar \ - wget \ - wl-clipboard \ - xorg-xev \ - xorg-xkill \ - yt-dlp \ - zsh \ - zsh-autosuggestions \ - zsh-completions \ - zsh-syntax-highlighting \ - --noconfirm + android-tools \ + base-devel \ + btop \ + curl \ + dos2unix \ + ffmpeg \ + fzf \ + git \ + htop \ + iftop \ + lf \ + man \ + mediainfo \ + neovim \ + nvtop \ + openssl \ + p7zip \ + qrencode \ + rsync \ + scrcpy \ + shellcheck \ + stress \ + tldr \ + tmux \ + unarchiver \ + unrar \ + wget \ + wl-clipboard \ + xorg-xev \ + xorg-xkill \ + yt-dlp \ + zsh \ + zsh-autosuggestions \ + zsh-completions \ + zsh-syntax-highlighting \ + --noconfirm # Add paru and install AUR packages USER build WORKDIR /home/build RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ - cd paru-bin && \ - makepkg -si --noconfirm && \ - cd .. && \ - rm -drf paru-bin && \ - paru -S \ - aur/gallery-dl-bin + cd paru-bin && \ + makepkg -si --noconfirm && \ + cd .. && \ + rm -drf paru-bin && \ + paru -S \ + aur/gallery-dl-bin \ --noconfirm + USER root WORKDIR / From 403cd9be691d53d37335c0a62a54f035d73388fc Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 20 Aug 2024 23:43:33 +0200 Subject: [PATCH 29/45] add chromium browser --- Containerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Containerfile b/Containerfile index 33be925..91ae804 100644 --- a/Containerfile +++ b/Containerfile @@ -74,6 +74,7 @@ RUN pacman -S \ android-tools \ base-devel \ btop \ + chromium \ curl \ dos2unix \ ffmpeg \ From 3b120380e3fa48143612b3dccceb18dc3aed03e1 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 20 Aug 2024 23:59:09 +0200 Subject: [PATCH 30/45] for some reason package list is duplicated --- Containerfile | 41 ----------------------------------------- 1 file changed, 41 deletions(-) diff --git a/Containerfile b/Containerfile index 91ae804..990a8bf 100644 --- a/Containerfile +++ b/Containerfile @@ -69,47 +69,6 @@ RUN pacman -S \ zip \ --noconfirm -# My Own custom packages I need -RUN pacman -S \ - android-tools \ - base-devel \ - btop \ - chromium \ - curl \ - dos2unix \ - ffmpeg \ - fzf \ - git \ - htop \ - iftop \ - lf \ - man \ - mediainfo \ - neovim \ - nvtop \ - openssl \ - p7zip \ - qrencode \ - rclone \ - rsync \ - scrcpy \ - shellcheck \ - stress \ - tldr \ - tmux \ - unarchiver \ - unrar \ - wget \ - wl-clipboard \ - xorg-xev \ - xorg-xkill \ - yt-dlp \ - zsh \ - zsh-autosuggestions \ - zsh-completions \ - zsh-syntax-highlighting \ - --noconfirm - # My Own custom packages I need RUN pacman -S \ android-tools \ From 08659ea3c8afafe0d8bfdeb712621fb9175ffea0 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 21 Aug 2024 00:05:11 +0200 Subject: [PATCH 31/45] move big packages into own layers --- Containerfile | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Containerfile b/Containerfile index 990a8bf..ba295c5 100644 --- a/Containerfile +++ b/Containerfile @@ -68,15 +68,23 @@ RUN pacman -S \ xorg-xauth \ zip \ --noconfirm +# bloated stuff gets its own layer +# LC_ALL=C.UTF-8 pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | LC_ALL=C.UTF-8 sort -h + +RUN pacman -S base-devel +RUN pacman -S chromium +RUN pacman -S rclone +RUN pacman -S ffmpeg +RUN pacman -S yt-dlp +RUN pacman -S svn +RUN pacman -S shellcheck # My Own custom packages I need RUN pacman -S \ android-tools \ - base-devel \ btop \ curl \ dos2unix \ - ffmpeg \ fzf \ git \ htop \ @@ -91,7 +99,6 @@ RUN pacman -S \ qrencode \ rsync \ scrcpy \ - shellcheck \ stress \ tldr \ tmux \ @@ -101,7 +108,6 @@ RUN pacman -S \ wl-clipboard \ xorg-xev \ xorg-xkill \ - yt-dlp \ zsh \ zsh-autosuggestions \ zsh-completions \ From d2ab558ea4d785e63ed1018a540202a9b62d269b Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 21 Aug 2024 00:05:46 +0200 Subject: [PATCH 32/45] remove amd gpu pro stuff --- Containerfile | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/Containerfile b/Containerfile index ba295c5..73f8fe4 100644 --- a/Containerfile +++ b/Containerfile @@ -138,37 +138,3 @@ RUN sed -i 's@#en_US.UTF-8@en_US.UTF-8@g' /etc/locale.gen && \ rm -rf \ /tmp/* \ /var/cache/pacman/pkg/* - -FROM arch-distrobox AS arch-distrobox-amdgpupro - -# Install amdgpu-pro, remove other drivers -RUN pacman -R \ - libglvnd \ - vulkan-intel \ - vulkan-radeon \ - mesa \ - --noconfirm && \ - useradd -m --shell=/bin/bash build && usermod -L build && \ - echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers - -USER build -WORKDIR /home/build -RUN paru -S \ - amdgpu-pro-oglp \ - lib32-amdgpu-pro-oglp \ - vulkan-amdgpu-pro \ - lib32-vulkan-amdgpu-pro \ - amf-amdgpu-pro \ - --noconfirm -USER root -WORKDIR / - -# Cleanup -RUN userdel -r build && \ - rm -drf /home/build && \ - sed -i '/build ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ - sed -i '/root ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ - rm -rf \ - /tmp/* \ - /var/cache/pacman/pkg/* From f4071625ef49d5fad35555ea7d626db8e35e72c6 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 21 Aug 2024 00:14:10 +0200 Subject: [PATCH 33/45] move some packages into big group fix builds --- Containerfile | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Containerfile b/Containerfile index 73f8fe4..3bbe1f9 100644 --- a/Containerfile +++ b/Containerfile @@ -35,7 +35,6 @@ RUN pacman -S \ glibc \ gnupg \ inetutils \ - jdk-openjdk \ keyutils \ less \ lsof \ @@ -71,14 +70,10 @@ RUN pacman -S \ # bloated stuff gets its own layer # LC_ALL=C.UTF-8 pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | LC_ALL=C.UTF-8 sort -h -RUN pacman -S base-devel -RUN pacman -S chromium -RUN pacman -S rclone -RUN pacman -S ffmpeg -RUN pacman -S yt-dlp -RUN pacman -S svn -RUN pacman -S shellcheck - +RUN pacman -S chromium --noconfirm +RUN pacman -S rclone --noconfirm +RUN pacman -S ffmpeg --noconfirm +RUN pacman -S jdk-openjdk --noconfirm # My Own custom packages I need RUN pacman -S \ android-tools \ @@ -99,7 +94,9 @@ RUN pacman -S \ qrencode \ rsync \ scrcpy \ + shellcheck stress \ + svn \ tldr \ tmux \ unarchiver \ @@ -108,6 +105,7 @@ RUN pacman -S \ wl-clipboard \ xorg-xev \ xorg-xkill \ + yt-dlp \ zsh \ zsh-autosuggestions \ zsh-completions \ From 3a67a75f0ce28e37e09fdc097195292875415b09 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 21 Aug 2024 00:14:10 +0200 Subject: [PATCH 34/45] move some packages into big group fix builds --- Containerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 3bbe1f9..6d27c2f 100644 --- a/Containerfile +++ b/Containerfile @@ -74,6 +74,7 @@ RUN pacman -S chromium --noconfirm RUN pacman -S rclone --noconfirm RUN pacman -S ffmpeg --noconfirm RUN pacman -S jdk-openjdk --noconfirm + # My Own custom packages I need RUN pacman -S \ android-tools \ @@ -94,7 +95,7 @@ RUN pacman -S \ qrencode \ rsync \ scrcpy \ - shellcheck + shellcheck \ stress \ svn \ tldr \ From bee7f36a9b21f77729285e20d638a2ab9ed338a0 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 21 Aug 2024 08:38:58 +0200 Subject: [PATCH 35/45] chore: avoid reinstalling packages already present in base image --- Containerfile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Containerfile b/Containerfile index 931d01a..92f6260 100644 --- a/Containerfile +++ b/Containerfile @@ -7,11 +7,6 @@ RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/g' /etc/makepkg.conf && \ pacman-key --init && pacman-key --populate && \ pacman -Syu --noconfirm && \ - pacman -S \ - wget \ - base-devel \ - git \ - --noconfirm && \ useradd -m --shell=/bin/bash build && usermod -L build && \ echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers From b924e1cf7a4c92b632323a6bfc017b816086548c Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Fri, 30 Aug 2024 01:02:01 +0200 Subject: [PATCH 36/45] remove chromium alpine is now best friend --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 6d27c2f..190bfc1 100644 --- a/Containerfile +++ b/Containerfile @@ -70,7 +70,7 @@ RUN pacman -S \ # bloated stuff gets its own layer # LC_ALL=C.UTF-8 pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | LC_ALL=C.UTF-8 sort -h -RUN pacman -S chromium --noconfirm +#RUN pacman -S chromium --noconfirm RUN pacman -S rclone --noconfirm RUN pacman -S ffmpeg --noconfirm RUN pacman -S jdk-openjdk --noconfirm From f65d166ce915d27794517fda6357389731b2df71 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Fri, 30 Aug 2024 01:27:59 +0200 Subject: [PATCH 37/45] Revert "remove chromium alpine is now best friend" This reverts commit b924e1cf7a4c92b632323a6bfc017b816086548c. --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 190bfc1..6d27c2f 100644 --- a/Containerfile +++ b/Containerfile @@ -70,7 +70,7 @@ RUN pacman -S \ # bloated stuff gets its own layer # LC_ALL=C.UTF-8 pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | LC_ALL=C.UTF-8 sort -h -#RUN pacman -S chromium --noconfirm +RUN pacman -S chromium --noconfirm RUN pacman -S rclone --noconfirm RUN pacman -S ffmpeg --noconfirm RUN pacman -S jdk-openjdk --noconfirm From 07d9565920a0cc5c74619c663b29647702b7c1ac Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 10 Sep 2024 23:05:48 +0200 Subject: [PATCH 38/45] add zstd:chunked --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d9d139..5498821 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -136,8 +136,7 @@ jobs: username: ${{ env.REGISTRY_USER }} password: ${{ env.REGISTRY_PASSWORD }} extra-args: | - --disable-content-trust - + --disable-content-trust --compression-format=zstd:chunked - name: Login to GitHub Container Registry uses: docker/login-action@v3 if: github.event_name != 'pull_request' From 783a9c49ec235b18c3a0e67e53d0c622baa8ecd0 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 10 Sep 2024 23:15:29 +0200 Subject: [PATCH 39/45] bump to ubuntu 24.04 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5498821..60f59f3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ env: jobs: push-ghcr: name: Build and push image - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 permissions: contents: read packages: write From eb7e7816538b9f6ee70f7221b2446e8ae8250df3 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 11 Sep 2024 23:55:40 +0200 Subject: [PATCH 40/45] undo zstd:chunked --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 60f59f3..e71c7a1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -136,7 +136,7 @@ jobs: username: ${{ env.REGISTRY_USER }} password: ${{ env.REGISTRY_PASSWORD }} extra-args: | - --disable-content-trust --compression-format=zstd:chunked + --disable-content-trust - name: Login to GitHub Container Registry uses: docker/login-action@v3 if: github.event_name != 'pull_request' From 5c8273bdf1bf83f6252012c2c70a62e545b8e5c9 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Mon, 23 Sep 2024 19:21:28 +0200 Subject: [PATCH 41/45] add go --- Containerfile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Containerfile b/Containerfile index 6d27c2f..ba246ac 100644 --- a/Containerfile +++ b/Containerfile @@ -7,11 +7,6 @@ RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ sed -i 's/#MAKEFLAGS="-j2"/MAKEFLAGS="-j$(nproc)"/g' /etc/makepkg.conf && \ pacman-key --init && pacman-key --populate && \ pacman -Syu --noconfirm && \ - pacman -S \ - wget \ - base-devel \ - git \ - --noconfirm && \ useradd -m --shell=/bin/bash build && usermod -L build && \ echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers @@ -34,6 +29,7 @@ RUN pacman -S \ findutils \ glibc \ gnupg \ + go \ inetutils \ keyutils \ less \ From 1708fc51cf4e8854021ca81ca3a9179b91784d27 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 24 Sep 2024 19:33:56 +0200 Subject: [PATCH 42/45] add hydroxide aur package --- Containerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Containerfile b/Containerfile index ba246ac..aa6696c 100644 --- a/Containerfile +++ b/Containerfile @@ -119,6 +119,7 @@ RUN git clone https://aur.archlinux.org/paru-bin.git --single-branch && \ rm -drf paru-bin && \ paru -S \ aur/gallery-dl-bin \ + aur/hydroxide \ --noconfirm USER root From f755aaa4cf8db9b2a8d27aecd7854aaf9fcd2e61 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Wed, 16 Oct 2024 19:17:46 +0200 Subject: [PATCH 43/45] add packages for mpd --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index aa6696c..4784104 100644 --- a/Containerfile +++ b/Containerfile @@ -70,7 +70,7 @@ RUN pacman -S chromium --noconfirm RUN pacman -S rclone --noconfirm RUN pacman -S ffmpeg --noconfirm RUN pacman -S jdk-openjdk --noconfirm - +RUN pacman -S mpd mpc ncmpcpp pipewire wireplumber --noconfirm # My Own custom packages I need RUN pacman -S \ android-tools \ From 9f3784c6afb06eee6c0f2f6ccd38efb089b2bb64 Mon Sep 17 00:00:00 2001 From: m2 <69128853+m2Giles@users.noreply.github.com> Date: Thu, 17 Oct 2024 22:26:14 -0400 Subject: [PATCH 44/45] feat: shrink image size by removing cached packages --- Containerfile | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Containerfile b/Containerfile index 92f6260..c874cf3 100644 --- a/Containerfile +++ b/Containerfile @@ -9,7 +9,8 @@ RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ pacman -Syu --noconfirm && \ useradd -m --shell=/bin/bash build && usermod -L build && \ echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ - echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers + echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ + pacman -S --clean --clean # Distrobox Integration RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/distrobox && \ @@ -64,7 +65,8 @@ RUN pacman -S \ vulkan-intel \ vte-common \ vulkan-radeon \ - --noconfirm + --noconfirm && \ + rm -rf /var/cache/pacman/pkg/* # Add paru and install AUR packages USER build @@ -86,32 +88,33 @@ RUN sed -i 's@#en_US.UTF-8@en_US.UTF-8@g' /etc/locale.gen && \ rm -drf /home/build && \ sed -i '/build ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ sed -i '/root ALL=(ALL) NOPASSWD: ALL/d' /etc/sudoers && \ - rm -rf \ - /tmp/* \ - /var/cache/pacman/pkg/* + rm -rf /tmp/* FROM arch-distrobox AS arch-distrobox-amdgpupro # Install amdgpu-pro, remove other drivers -RUN pacman -R \ - libglvnd \ - vulkan-intel \ - vulkan-radeon \ - mesa \ - --noconfirm && \ - useradd -m --shell=/bin/bash build && usermod -L build && \ +RUN useradd -m --shell=/bin/bash build && usermod -L build && \ echo "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \ echo "root ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers USER build WORKDIR /home/build -RUN paru -S \ +RUN paru -R \ + libglvnd \ + vulkan-intel \ + vulkan-radeon \ + mesa \ + --noconfirm && \ + paru -Syu \ amdgpu-pro-oglp \ lib32-amdgpu-pro-oglp \ vulkan-amdgpu-pro \ lib32-vulkan-amdgpu-pro \ amf-amdgpu-pro \ - --noconfirm + --noconfirm && \ + sudo rm -rf /var/cache/pacman/pkg/* && \ + rm -rf /home/build/.cache/* + USER root WORKDIR / From 7c539038b863d67411db6e51250e9ab1c86c9d81 Mon Sep 17 00:00:00 2001 From: Flori Gee Date: Tue, 10 Dec 2024 16:57:02 +0100 Subject: [PATCH 45/45] add distrobox host integration stuff stolen from: https://github.com/ublue-os/toolboxes/blob/main/toolboxes/ubuntu-toolbox/Containerfile.ubuntu --- Containerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 18ff7d6..15f2de2 100644 --- a/Containerfile +++ b/Containerfile @@ -15,7 +15,12 @@ RUN sed -i 's/#Color/Color/g' /etc/pacman.conf && \ # Distrobox Integration RUN git clone https://github.com/89luca89/distrobox.git --single-branch /tmp/distrobox && \ cp /tmp/distrobox/distrobox-host-exec /usr/bin/distrobox-host-exec && \ - ln -s /usr/bin/distrobox-host-exec /usr/bin/flatpak && \ + ln -fs /usr/libexec/flatpak-xdg-utils/flatpak-spawn /usr/bin/ && \ + ln -fs /usr/bin/distrobox-host-exec /usr/bin/bootc && \ + ln -fs /usr/bin/distrobox-host-exec /usr/bin/docker && \ + ln -fs /usr/bin/distrobox-host-exec /usr/bin/flatpak && \ + ln -fs /usr/bin/distrobox-host-exec /usr/bin/podman && \ + ln -fs /usr/bin/distrobox-host-exec /usr/bin/rpm-ostree && \ wget https://github.com/1player/host-spawn/releases/download/$(cat /tmp/distrobox/distrobox-host-exec | grep host_spawn_version= | cut -d "\"" -f 2)/host-spawn-$(uname -m) -O /usr/bin/host-spawn && \ chmod +x /usr/bin/host-spawn && \ rm -drf /tmp/distrobox