#!/usr/bin/env bash function is_root { if [ ${EUID:-$(id -u)} -eq 0 ]; then return 0 fi return 1 } is_root || echo "You might experience some issues with running this as a user. Consider using sudo." export VSCS_CONFIG="$(is_root && echo "${SNAP_DATA}" || echo "${SNAP_USER_DATA}")/config.yaml" export VSCS_UDD="$(is_root && echo "${SNAP_DATA}" || echo "${SNAP_USER_DATA}")/user-data" export VSCS_EXT="$(is_root && echo "${SNAP_DATA}" || echo "${SNAP_USER_DATA}")/extensions" export VSCS_USD="$(is_root && echo "${SNAP_DATA}" || echo ${SNAP_USER_DATA})" export VSCS_SSH="${SNAP_USER_COMMON}/.ssh" if [ ! -d "${VSCS_UDD}" ]; then mkdir -p "${VSCS_UDD}" fi if [ ! -d "${VSCS_EXT}" ]; then mkdir -p "${VSCS_EXT}" fi if [ "$(basename ${1})" == "code-server" ]; then ARGS=(--config "${VSCS_CONFIG}") ARGS+=(--user-data-dir "${VSCS_UDD}") ARGS+=(--extensions-dir "${VSCS_EXT}") ARGS+=("${VSCS_USD}") set -- "$@" "${ARGS[@]}" fi if [ ! -d "${VSCS_SSH}" ]; then mkdir -mode=0700 "${VSCS_SSH}" echo "alias ssh-keygen='ssh-keygen -f \"${VSCS_SSH}/id_rsa\"'" >> "${SNAP_USER_DATA}/.bashrc" git config --global core.sshCommand "ssh -i \"${VSCS_SSH}/id_rsa\" -F \"${VSCS_SSH}/config\" -o BatchMode=yes -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=\"${VSCS_SSH}/known_hosts\"" fi exec $@