diff --git a/Dockerfile b/Dockerfile index 1f15cd9..15890ad 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ ARG BUILD_FROM=public.ecr.aws/ubuntu/ubuntu:22.04 FROM ${BUILD_FROM} ENV EMQX_BUILDER_IMAGE=${BUILD_FROM} +ENV ERL_AFLAGS="-kernel shell_history enabled" ARG OTP_VERSION=26.2.3-1 ARG ELIXIR_VERSION=1.15.7 @@ -9,14 +10,15 @@ ARG FDB_VERSION=7.3.27 ARG EMQTT_BENCH_REF=0.4.17 ARG LUX_REF=lux-2.9.1 -COPY get-otp.sh get-elixir.sh get-fdb.sh get-emqtt-bench.sh get-lux.sh / +COPY get-otp.sh get-zsh.sh get-elixir.sh get-fdb.sh get-emqtt-bench.sh get-lux.sh / -RUN /get-otp.sh ${OTP_VERSION} && \ - /get-elixir.sh ${ELIXIR_VERSION} && \ +RUN /get-zsh.sh && \ + /get-otp.sh ${OTP_VERSION} && \ + /get-elixir.sh ${ELIXIR_VERSION} && \ env FDB_VERSION=${FDB_VERSION} /get-fdb.sh && \ env EMQTT_BENCH_REF=${EMQTT_BENCH_REF} /get-emqtt-bench.sh && \ env LUX_REF=${LUX_REF} /get-lux.sh && \ - rm /get-otp.sh /get-elixir.sh /get-fdb.sh /get-emqtt-bench.sh /get-lux.sh + rm /get-otp.sh /get-zsh.sh /get-elixir.sh /get-fdb.sh /get-emqtt-bench.sh /get-lux.sh WORKDIR / -CMD [ "/bin/bash" ] +CMD [ "/bin/zsh" ] diff --git a/get-zsh.sh b/get-zsh.sh new file mode 100755 index 0000000..11ac9a4 --- /dev/null +++ b/get-zsh.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -euo pipefail + +git clone https://github.com/emqx/zsh-in-docker.git -b V1.1.5-emqx.2 + +cd zsh-in-docker +chmod +x zsh-in-docker.sh + +## build +alternatives --list | grep python && alternatives --set python /usr/bin/python2 || true +./zsh-in-docker.sh \ + -t https://github.com/denysdovhan/spaceship-prompt \ + -a 'SPACESHIP_PROMPT_ADD_NEWLINE="false"' \ + -a 'SPACESHIP_PROMPT_SEPARATE_LINE="false"' \ + -p git \ + -p git-fast \ + -p https://github.com/zsh-users/zsh-autosuggestions \ + -p https://github.com/zsh-users/zsh-completions \ + -p https://github.com/zsh-users/zsh-history-substring-search \ + -p https://github.com/zsh-users/zsh-syntax-highlighting \ + -p 'history-substring-search' \ + -a 'bindkey "\$terminfo[kcuu1]" history-substring-search-up' \ + -a 'bindkey "\$terminfo[kcud1]" history-substring-search-down' +alternatives --list | grep python && alternatives --set python /usr/bin/python3 || true + +## cleanup +cd / +rm -rf zsh-in-docker