diff options
Diffstat (limited to 'bin')
l--------- | bin/bin | 1 | ||||
-rwxr-xr-x | bin/brightness-popup.sh | 3 | ||||
-rwxr-xr-x | bin/devcontainer | 84 | ||||
l--------- | bin/tt | 1 | ||||
l--------- | bin/watchsql | 1 | ||||
l--------- | bin/watchsql-basic | 1 |
6 files changed, 86 insertions, 5 deletions
diff --git a/bin/bin b/bin/bin deleted file mode 120000 index 8402b35..0000000 --- a/bin/bin +++ /dev/null @@ -1 +0,0 @@ -/home/jakob/_code/dotfiles/bin
\ No newline at end of file diff --git a/bin/brightness-popup.sh b/bin/brightness-popup.sh index 3c3ad98..7a60f61 100755 --- a/bin/brightness-popup.sh +++ b/bin/brightness-popup.sh @@ -17,4 +17,5 @@ BRIGHTNESS=${brightnessperc%.*} # --hint string:image-path:video-display boolean:transient:true \ # int:has-percentage:$BRIGHTNESS \ # --replaces-process "brightness-popup") -notify-send.py "Brightness" "$BRIGHTNESS%" --hint boolean:transient:true int:value:$BRIGHTNESS --replaces-process "brightness-popup" +#notify-send.py "Brightness" "$BRIGHTNESS%" --hint boolean:transient:true int:value:$BRIGHTNESS --replaces-process "brightness-popup" +echo $BRIGHTNESS > $2 diff --git a/bin/devcontainer b/bin/devcontainer new file mode 100755 index 0000000..6a48b6f --- /dev/null +++ b/bin/devcontainer @@ -0,0 +1,84 @@ +#!/bin/bash + +if ! [ -x "$(command -v jq)" ]; then + printf "\x1B[31m[ERROR] jq is not installed.\x1B[0m\n" + exit 1 +fi +OPTIND=1 +VERBOSE=0 + +while getopts "v" opt; do + case ${opt} in + v ) VERBOSE=1 ;; + esac +done + +debug() { + if [ $VERBOSE == 1 ]; then + printf "\x1B[33m[DEBUG] ${1}\x1B[0m\n" + fi +} + +WORKSPACE=${1:-`pwd`} +CURRENT_DIR=${PWD##*/} +echo "Using workspace ${WORKSPACE}" + +CONFIG_DIR=./.devcontainer +debug "CONFIG_DIR: ${CONFIG_DIR}" +CONFIG_FILE=devcontainer.json +debug "CONFIG_FILE: ${CONFIG_FILE}" +if ! [ -e "$CONFIG_DIR/$CONFIG_FILE" ]; then + echo "Folder contains no devcontainer configuration" + exit +fi + +CONFIG=$(cat $CONFIG_DIR/$CONFIG_FILE | grep -v //) +debug "CONFIG: \n${CONFIG}" + +cd $CONFIG_DIR + +DOCKER_FILE=$(echo $CONFIG | jq -r .dockerFile) +if [ "$DOCKER_FILE" == "null" ]; then + DOCKER_FILE=$(echo $CONFIG | jq -r .build.dockerfile) +fi +DOCKER_FILE=$(readlink -f $DOCKER_FILE) +debug "DOCKER_FILE: ${DOCKER_FILE}" +if ! [ -e $DOCKER_FILE ]; then + echo "Can not find dockerfile ${DOCKER_FILE}" + exit +fi + +NAME=$(echo $CONFIG | jq -r .name) +debug "NAME: ${NAME}" + +REMOTE_USER=$(echo $CONFIG | jq -r .remoteUser) +debug "REMOTE_USER: ${REMOTE_USER}" +if ! [ "$REMOTE_USER" == "null" ]; then + REMOTE_USER="-u ${REMOTE_USER}" +fi + +ARGS=$(echo $CONFIG | jq -r '.build.args | to_entries? | map("--build-arg \(.key)=\"\(.value)\"")? | join(" ")') +debug "ARGS: ${ARGS}" + +SHELL=$(echo $CONFIG | jq -r '.settings."terminal.integrated.shell.linux"') +debug "SHELL: ${SHELL}" + +PORTS=$(echo $CONFIG | jq -r '.forwardPorts | map("-p \(.):\(.)")? | join(" ")') +debug "PORTS: ${PORTS}" + +ENVS=$(echo $CONFIG | jq -r '.remoteEnv | to_entries? | map("-e \(.key)=\(.value)")? | join(" ")') +debug "ENVS: ${ENVS}" + +WORK_DIR="/workspace" +debug "WORK_DIR: ${WORK_DIR}" + +MOUNT="${MOUNT} --mount type=bind,source=${WORKSPACE},target=${WORK_DIR}" +debug "MOUNT: ${MOUNT}" + +echo "Building and starting container" +set -x +DOCKER_IMAGE_HASH=$(docker build -t devcontainer -f $DOCKER_FILE $ARGS .) +debug "DOCKER_IMAGE_HASH: ${DOCKER_IMAGE_HASH}" + +#docker run -it $REMOTE_USER $PORTS $ENVS $MOUNT -w $WORK_DIR $DOCKER_IMAGE_HASH $SHELL +docker run -it $PORTS $ENVS $MOUNT -w $WORK_DIR devcontainer $SHELL @@ -1 +0,0 @@ -/home/jakob/_code/timetracker/tt
\ No newline at end of file diff --git a/bin/watchsql b/bin/watchsql deleted file mode 120000 index af05887..0000000 --- a/bin/watchsql +++ /dev/null @@ -1 +0,0 @@ -/home/jakob/_code/watchsql/watchsql
\ No newline at end of file diff --git a/bin/watchsql-basic b/bin/watchsql-basic deleted file mode 120000 index 9590071..0000000 --- a/bin/watchsql-basic +++ /dev/null @@ -1 +0,0 @@ -/home/jakob/_code/watchsql/watchsql-basic.py
\ No newline at end of file |