|
1 | 1 | #!/usr/bin/env bash
|
2 |
| - |
3 |
| -if ! docker info > /dev/null 2>&1; then |
| 2 | +DOCKER=$(command -v podman docker | head -n 1) |
| 3 | +if ! "${DOCKER}" info > /dev/null 2>&1; then |
4 | 4 | echo "This script uses docker, and it isn't running - please start docker and try again!"
|
5 | 5 | exit 1
|
6 | 6 | fi
|
7 | 7 |
|
| 8 | +if [ $(basename "${DOCKER}") = "podman" ]; then |
| 9 | + DOCKER_RUN_FLAGS="--userns=keep-id" |
| 10 | +else |
| 11 | + DOCKER_RUN_FLAGS= |
| 12 | +fi |
| 13 | + |
8 | 14 | ############################################################
|
9 | 15 | # Help #
|
10 | 16 | ############################################################
|
@@ -40,6 +46,7 @@ while getopts "b:h" option; do
|
40 | 46 | exit;;
|
41 | 47 | esac
|
42 | 48 | done
|
| 49 | +shift $((OPTIND-1)) |
43 | 50 |
|
44 | 51 | cd "$SCRIPT_DIR" || exit
|
45 | 52 |
|
@@ -87,30 +94,30 @@ echo ""
|
87 | 94 |
|
88 | 95 | echo "2. Setting up docker environment"
|
89 | 96 | # Ensure docker image exists
|
90 |
| -if [[ ! "$(docker images -q doom-nvim-contrib)" ]]; then |
| 97 | +if [[ ! "$("${DOCKER}" images -q doom-nvim-contrib)" ]]; then |
91 | 98 | echo " - Docker image does not exist. Building docker image..."
|
92 |
| - docker build -t doom-nvim-contrib . |
| 99 | + "${DOCKER}" build -t doom-nvim-contrib . |
93 | 100 | fi
|
94 | 101 |
|
95 |
| -if [ "$(docker ps -aq -f status=exited -f name=doom-nvim-contrib-container)" ]; then |
| 102 | +if [ "$("${DOCKER}" ps -aq -f status=exited -f name=doom-nvim-contrib-container)" ]; then |
96 | 103 | echo " - Cleaning up old container..."
|
97 | 104 | # cleanup
|
98 |
| - docker rm doom-nvim-contrib-container >> /dev/null |
| 105 | + "${DOCKER}" rm doom-nvim-contrib-container >> /dev/null |
99 | 106 | fi
|
100 | 107 |
|
101 | 108 | # Create docker container if haven't already
|
102 | 109 | echo " - Success! Running docker container doom-nvim-contrib-container..."
|
103 | 110 | mkdir -p "${SCRIPT_DIR}/local-share-nvim" "${SCRIPT_DIR}/workspace"
|
104 | 111 | echo ""
|
105 |
| -docker run \ |
| 112 | +${DOCKER} run \ |
| 113 | + "${DOCKER_RUN_FLAGS}" \ |
106 | 114 | -it \
|
107 | 115 | -e UID="1000" \
|
108 | 116 | -e GID="1000" \
|
109 |
| - -v "$SCRIPT_DIR"/doom-nvim-contrib:/home/doom/.config/nvim \ |
110 |
| - -v "$SCRIPT_DIR"/local-share-nvim:/home/doom/.local/share/nvim \ |
111 |
| - -v "$SCRIPT_DIR"/workspace:/home/doom/workspace \ |
| 117 | + -v "$SCRIPT_DIR"/doom-nvim-contrib:/home/doom/.config/nvim:Z \ |
| 118 | + -v "$SCRIPT_DIR"/local-share-nvim:/home/doom/.local/share/nvim:Z \ |
| 119 | + -v "$SCRIPT_DIR"/workspace:/home/doom/workspace:Z \ |
112 | 120 | --name doom-nvim-contrib-container \
|
113 | 121 | --user doom \
|
| 122 | + "$@" \ |
114 | 123 | doom-nvim-contrib
|
115 |
| - |
116 |
| - |
|
0 commit comments