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

72 lines
1.9 KiB
Markdown

# 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
```