Note
Further development of this template is done here: https://github.com/behrica/devcontainer-templates
A template project featuring a devcontainer setup for Datascience with Clojure using several libraries from scicloj
It sets up an dev container environment with several tool s and libaries for datascience in Clojure.
- Create a new GitHub repository based on this template
- Clone and open repository with VSCode / devpod / Codespaces and trigger/wait for container build
- "jack in" inside the devcontainer
- Enjoy Clojure and R + python from Clojure (using ClojisR + libpython-clj)
-
Customize libraries
- deps.edn: add Clojure + Java libraries
- pyproject.toml: add python libraries into poetry config file
- devcontainer.json: add R libraries (see r-packages
-
(Install more features in devcontainer: https://containers.dev/features)
-
(Remove things you don't need)
The provided devcontainer.json installs in the devcontainer:
-
Clojure (incl. clojisr and libpython-clj)
-
Python (packages can be added vi calling "pip" in devcontainer.json)
-
R (packages can be added in devcontainer.json)
- rstudio-server
-
deps.edn with Clojure libraries for Data science from scicloj
-
noVNC + lite desktop incl port forwarding
-
Emacs
-
quarto cli
-
docker-in-docker
-
leiningen
-
babashka
-
lsp
In the default settings, we will get a vanilla Emacs running in noVNC. The Emacs setup can be configured via providing a specific script in a fixed location , which can be most easly done using the dotfile support of devcontainer.
See here: dotfiles
If there is a file in /home/vscode/.setup-ide/setup-ide.sh
it will be executed after container creation.
This can do "whatever" to configure Emacs from your own configuration.
(Baically the script can do everything on the build container.)
My setup-ide.sh
configures Doom Emacs with my personal configuration.