diff options
| author | Kevin Hoerr <kjhoerr@submelon.dev> | 2026-02-24 20:07:23 +0000 |
|---|---|---|
| committer | Kevin Hoerr <kjhoerr@submelon.dev> | 2026-02-24 20:07:23 +0000 |
| commit | 9c45e3be5dc9f64ee4c07578cd21b8ffac680dd7 (patch) | |
| tree | c48962f6c115e4f2d07cf1b6dfae4f46486c1c8c /dev.sh | |
| parent | 983458a1e0f798ac50b943a9637d8734e1d48995 (diff) | |
| download | equity-tracker-9c45e3be5dc9f64ee4c07578cd21b8ffac680dd7.tar.gz equity-tracker-9c45e3be5dc9f64ee4c07578cd21b8ffac680dd7.tar.bz2 equity-tracker-9c45e3be5dc9f64ee4c07578cd21b8ffac680dd7.zip | |
dev.sh: Add script to launch development image
Adds a script to be used to launch image with devtools with
configured bindmounts and configuration to enable development via
the FHS environment.
Diffstat (limited to 'dev.sh')
| -rwxr-xr-x | dev.sh | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -0,0 +1,41 @@ +#!/usr/bin/env sh + +GIT_CONFIG=${GIT_CONFIG_SYSTEM:-$HOME/.gitconfig} + +OCI_RUNTIME=podman + +DEV_DOCKERFILE=Dockerfile.dev +DEV_IMAGE=equity-tracker:develop +CONTAINER_SHELL=zsh +CONTAINER_USER=sparrow +CONTAINER_WORKDIR=/code +CONTAINER_GPG=/home/$CONTAINER_USER/.gnupg +CONTAINER_SSH=$CONTAINER_GPG/S.gpg-agent.ssh + +NS_UID=$(id -u) +NS_GID=$(id -g) + +GPG_SOCK_DIR=/run/user/$NS_UID/gnupg + +if ! git diff-index --quiet HEAD -- $DEV_DOCKERFILE \ +|| ! $OCI_RUNTIME image exists $DEV_IMAGE; +then + $OCI_RUNTIME build -f $DEV_DOCKERFILE \ + -t $DEV_IMAGE \ + . +fi + +$OCI_RUNTIME run -it \ + --rm \ + --mount type=bind,source=.,target=$CONTAINER_WORKDIR \ + --mount type=bind,source=$HOME/.config/helix,target=/home/$CONTAINER_USER/.config/helix,ro \ + --mount type=bind,source=$GIT_CONFIG,target=/home/$CONTAINER_USER/.gitconfig,ro \ + --mount type=bind,source=$GPG_SOCK_DIR/S.gpg-agent,target=$CONTAINER_GPG/S.gpg-agent \ + --mount type=bind,source=$GPG_SOCK_DIR/S.gpg-agent.extra,target=$CONTAINER_GPG/S.gpg-agent.extra \ + --mount type=bind,source=$GPG_SOCK_DIR/S.gpg-agent.ssh,target=$CONTAINER_SSH \ + -w $CONTAINER_WORKDIR \ + --userns=keep-id:uid=$NS_UID,gid=$NS_GID \ + --env SSH_AUTH_SOCK=$CONTAINER_SSH \ + $DEV_IMAGE \ + $CONTAINER_SHELL +exit |
