diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..eb7ff04 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,26 @@ +FROM docker.io/clojure:temurin-21-tools-deps-bookworm + +RUN apt-get update && \ + apt-get install -y git rlwrap npm + +ARG USERNAME=vscode +ARG USER_UID=1000 +ARG USER_GID=$USER_UID + +# Create the user +RUN groupadd --gid $USER_GID $USERNAME \ + && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME --shell /bin/bash \ + # + # [Optional] Add sudo support. Omit if you don't need to install software after connecting. + && apt-get update \ + && apt-get install -y sudo \ + && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ + && chmod 0440 /etc/sudoers.d/$USERNAME + +# ******************************************************** +# * Anything else you want to do like clean up goes here * +# ******************************************************** + +# [Optional] Set the default user. Omit if you want to keep the default as root. +USER $USERNAME +ENTRYPOINT ["/bin/bash"] diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..b8181e3 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,31 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/debian +{ + "name": "endless-ships", + "build": { + "dockerfile": "Dockerfile" + }, + + "features": {}, + + // Configure tool-specific properties. + "customizations": { + "vscode":{ + "extensions": [ + "betterthantomorrow.calva" + ] + } + } + /* + // unprivileged podman trick, comment if you want to use Docker. Also amend + // uid/gid if these don't match yours + ,"runArgs": [ + "--userns=keep-id:uid=1000,gid=1000" + ], + "containerUser": "vscode", + "updateRemoteUserUID": true, + "containerEnv": { + "HOME": "/home/vscode" + } + */ +} diff --git a/.gitignore b/.gitignore index f791ba4..d96f497 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ data.edn /public/js /node_modules /.cpcache +# Calva related +/.clj-kondo/.cache +/.lsp/.cache +/.calva/output-window