diff --git a/Dockerfile b/Dockerfile index 9f96817..7b3c9a2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,19 @@ FROM stemn/development-environment:latest USER root +ARG CONTAINER_BUILD_DATE +ARG CONTAINER_GIT_SHA + ENV BASE_USER stemn +ENV CONTAINER_BUILD_DATE $CONTAINER_BUILD_DATE +ENV CONTAINER_GIT_SHA $CONTAINER_GIT_SHA ENV USER jackson ENV HOME /$USER/home ENV SSH_AUTH_SOCK=/ssh-auth.sock ENV STEMN_GIT_EMAIL="jackson@stemn.com" ENV STEMN_GIT_NAME="Jackson Delahunt" +RUN echo $CONTAINER_BUILD_DATE # Keep the existing home directory RUN mkdir /$USER && \ mv /$BASE_USER/home $HOME @@ -73,16 +79,13 @@ RUN git clone https://github.com/sabrehagen/dotfiles-vcsh RUN git clone https://github.com/sabrehagen/dotfiles-zsh # Add program configurations -COPY config/tmuxinator/.desktop.yaml $HOME/.tmuxinator/desktop.yaml +COPY config/tmuxinator $HOME/.config/tmuxinator +COPY config/zsh/.zshenv $HOME/.zshenv.desktop +RUN echo 'source .zshenv.desktop' >> $HOME/.zshenv # Add custom binaries COPY bin /usr/local/bin -# Extend existing shell configuration -RUN echo 'cd $HOME/repositories/stemn/stemn-backend' >> $HOME/.zshenv -RUN echo 'export $STEMN_TMUX_SESSION=desktop-environment' >> $HOME/.zshenv -RUN echo 'tmux new-session -d -s $STEMN_TMUX_SESSION tmuxinator desktop' >> $HOME/.zshenv - # Remove root ownership of all files under non-root user directory RUN chown -R $USER:$USER $HOME diff --git a/config/tmuxinator/.desktop.yaml b/config/tmuxinator/desktop.yaml similarity index 100% rename from config/tmuxinator/.desktop.yaml rename to config/tmuxinator/desktop.yaml diff --git a/config/zsh/.zshenv b/config/zsh/.zshenv new file mode 100644 index 0000000..e0afe95 --- /dev/null +++ b/config/zsh/.zshenv @@ -0,0 +1,13 @@ +# Print container build info +CURRENT_DATE=$(date +%s) +TIME_SINCE_CONTAINER_BUILD=$(echo $((CURRENT_DATE-CONTAINER_BUILD_DATE)) | awk '{print int($1/60)":"int($1%60)}') +echo "Container built: $CONTAINER_BUILD_DATE ($TIME_SINCE_CONTAINER_BUILD ago) | sha $CONTAINER_GIT_SHA" + +# Change to most used directory +cd $HOME/repositories/stemn/stemn-backend + +# Always connect to the desktop-environment session +export $STEMN_TMUX_SESSION=desktop-environment + +# Start the desktop-environment session if it isn't already started +tmux new-session -d -s $STEMN_TMUX_SESSION tmuxinator desktop diff --git a/scripts/build.sh b/scripts/build.sh index d0edfe0..a4273c1 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,3 +1,7 @@ REPO_ROOT=$(dirname $(realpath $0))/.. -docker build -t sabrehagen/desktop-environment:latest $REPO_ROOT +docker build \ + --build-arg CONTAINER_BUILD_DATE=$(date +%s) \ + --build-arg CONTAINER_GIT_SHA=$(git rev-parse HEAD | cut -b 1-7) \ + --tag sabrehagen/desktop-environment:latest \ + $REPO_ROOT