diff --git a/Dockerfile b/Dockerfile index 1f15cd9..f9f7b45 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} && \ + /get-zsh.sh && \ 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..c55e639 --- /dev/null +++ b/get-zsh.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -euo pipefail + +URL="https://github.com/deluan/zsh-in-docker/releases/download/v1.1.5/zsh-in-docker.sh" + +cd / +curl --silent --show-error -fkL "$URL" -o "zsh-in-docker.sh" +chmod +x zsh-in-docker.sh + +## build + + ./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' + + +## cleanup +cd / +rm -rf zsh-in-docker.sh +