All checks were successful
Build and Push / build-and-push (push) Successful in 3m7s
72 lines
1.9 KiB
Markdown
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
|
|
```
|