devcontainer/README.md
Adam Štrauch e6c68fcfae
All checks were successful
Build and Push / build-and-push (push) Successful in 3m7s
README update
2025-04-22 15:36:02 +02:00

1.9 KiB

My devcontainer

Container for distrobox that I use for development that is based on fedora-toolbox image.

Installed Tools

  • System Utilities: duf, fd-find, fish, fzf, htop, ncdu, tmux, vim, zstd, ipcalc, sdcv, tldr, jq, genius, pwgen, httpie, ripgrep, lsd
  • Development Tools:
    • Languages: golang, nodejs, python3-devel
    • Database Clients: mycli, pgcli
    • Version Control: git-lfs
    • Cloud Tools: awscli
    • Build Tools: make
    • Editor: Visual Studio Code (code)

Custom User

  • A user cx is preconfigured with:
    • UID: 1000
    • GID: 1000
    • Default shell: fish

Podman and Docker Compatibility

  • Podman and Docker commands are aliased to a custom script (uni.sh) for seamless container management.

Incus Support

  • Includes Incus link to the host's instance of Incus.

Usage

Including systemd:

distrobox create -i gitea.ceperka.net/cx/devcontainer:f42-latest -n drone --hostname (hostname) --init

No systemd:

distrobox create -i gitea.ceperka.net/cx/devcontainer:f42-latest -n drone --hostname (hostname)

Hostname must be same as the host's machines, otherwise exported apps are shown wrongly in the luncher.

To enter the container:

distrobox enter drone

When inside you can export code into the host's system which makes it like it's installed directly on the host system itself, including URL processing.

distrobox-export --app code

From the host system this image imports podman and incus so you can use both inside the container.

Any application can work both ways. distrobox mounts wayland socket into the container so even GUI apps work seamlessly.

There is wrong StartupWMClass parameter that equals Code in drone-code.desktop file. It should read:

StartupWMClass=code

Otherwise Gnome will wrongly group vscode's windows together.

Other tools to export:

distrobox-export --bin aws