env-wrapper 942 B

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env bash
  2. function is_root {
  3. if [ ${EUID:-$(id -u)} -eq 0 ]; then
  4. return 0
  5. fi
  6. return 1
  7. }
  8. is_root || echo "You might experience some issues with running this as a user. Consider using sudo."
  9. export VSCS_CONFIG="$(is_root && echo "${SNAP_DATA}" || echo "${SNAP_USER_DATA}")/config.yaml"
  10. export VSCS_UDD="$(is_root && echo "${SNAP_DATA}" || echo "${SNAP_USER_DATA}")/user-data"
  11. export VSCS_EXT="$(is_root && echo "${SNAP_DATA}" || echo "${SNAP_USER_DATA}")/extensions"
  12. export VSCS_USD="$(is_root && echo "${SNAP_DATA}" || echo ${SNAP_USER_DATA})"
  13. if [ ! -d "${VSCS_UDD}" ]; then
  14. mkdir -p "${VSCS_UDD}"
  15. fi
  16. if [ ! -d "${VSCS_EXT}" ]; then
  17. mkdir -p "${VSCS_EXT}"
  18. fi
  19. if [ "$(basename ${1})" == "code-server" ]; then
  20. ARGS=(--config "${VSCS_CONFIG}")
  21. ARGS+=(--user-data-dir "${VSCS_UDD}")
  22. ARGS+=(--extensions-dir "${VSCS_EXT}")
  23. ARGS+=("${VSCS_USD}")
  24. set -- "$@" "${ARGS[@]}"
  25. fi
  26. exec $@