Garuda Distrobox
Garuda Distrobox is a container image for Distrobox. It is an Arch Linux based container with the Garuda Linux settings and repositories. The repository contains only the Dockerfile and the GitLab CI file that builds the image. It has no window and no menu entry.
The Garuda Toolbox lists Distrobox in its system components, with the description Creates tightly integrated containers of other Linux distributions. Lets you install and run apps from Ubuntu, Fedora, or Arch natively inside Garuda.
Starting it
Section titled “Starting it”Distrobox must be installed on the host first. The README says that the image is created and entered with these commands.
-
Create the container from the image. The
--initoption starts systemd inside the container.Terminal window distrobox create --image registry.gitlab.com/garuda-linux/tools/garuda-distrobox/garuda-distrobox:latest --name garuda --init -
Enter the container.
Terminal window distrobox enter garuda
The name garuda is the example name from the README. Any other name works with the same commands.
Package
Section titled “Package”| Item | Notes |
|---|---|
| Package | No PKGBUILD for this image exists in pkgbuilds/. The image is published to the GitLab container registry, not to the Arch repositories. |
| Base image | quay.io/toolbx/arch-toolbox:latest (Dockerfile). |
| Image tag | registry.gitlab.com/garuda-linux/tools/garuda-distrobox/garuda-distrobox:latest, built by .gitlab-ci.yml. |
Contents
Section titled “Contents”The Dockerfile installs these packages with pacman -Syu. The table lists only the packages named in the Dockerfile, their contents are not described in this repository.
| Package | Note |
|---|---|
garuda-config-agent | Listed in the Dockerfile. See garuda-config-agent. |
garuda-common-settings | Listed in the Dockerfile. |
garuda-hooks | Listed in the Dockerfile. |
garuda-icons | Listed in the Dockerfile. |
micro | Listed in the Dockerfile. |
pacman-contrib | Listed in the Dockerfile. |
sudo | Listed in the Dockerfile. |
systemd | Listed in the Dockerfile. The README uses --init, which needs it. |
The Dockerfile also removes mkinitcpio, dracut and garuda-dracut-support. The removal ends with || true, so a failure does not stop the build.
Repositories
Section titled “Repositories”The Dockerfile adds these entries to /etc/pacman.conf.
| Repository | Source |
|---|---|
multilib | /etc/pacman.d/mirrorlist |
garuda | /etc/pacman.d/chaotic-mirrorlist |
chaotic-aur | /etc/pacman.d/chaotic-mirrorlist |
The keys of the Chaotic-AUR keyring are imported from keyserver.ubuntu.com and signed locally. Then the Chaotic keyring and mirrorlist packages are installed from cdn-mirror.chaotic.cx. The last awk command removes duplicate repository blocks that garuda-config-agent adds.
Build and publishing
Section titled “Build and publishing”The CI job build-builder runs docker build and docker push for the latest tag. It starts when the Dockerfile, .gitlab-ci.yml or .dockerignore changes on the default branch. It also starts when the variable UPDATE_CORE_IMAGE is 1 on the default branch (.gitlab-ci.yml).
Config files, data paths and logs
Section titled “Config files, data paths and logs”| What | Path | Notes |
|---|---|---|
| Pacman config in image | /etc/pacman.conf | Changed by the Dockerfile. |
| Pacman mirror lists | /etc/pacman.d/mirrorlist, /etc/pacman.d/chaotic-mirrorlist | Used by the repositories above. |
| Distrobox settings | UNCONFIRMED | Created by Distrobox on the host. The repository does not show where they are stored. |
| Build log | GitLab CI job log | The CI job prints the build output. |
The repository contains no runtime config file and no log file.
Known limits
Section titled “Known limits”- The base image is
arch-toolbox:latest, so the build changes when the upstream image changes (Dockerfile). - The Chaotic-AUR keys are fetched from
keyserver.ubuntu.comduring the build (Dockerfile). - The
|| trueafter the removal ofmkinitcpio,dracutandgaruda-dracut-supporthides errors of that step (Dockerfile). - The changelog
260819lists the Distrobox fixsystemd support(changelogs/Past changelogs/260819.md, sectionDistrobox). The repository does not show which change made the fix.
Related pages
Section titled “Related pages”- Garuda Toolbox lists Distrobox in its system components.
- Post-installation tasks covers the first steps after installing.
- The Arch Wiki page Docker explains the container engine that the image is built with, and Podman explains the alternative engine.