Skip to content

Commit f40e359

Browse files
authored
Merge pull request #38 from behrica/main
v 2.0.0
2 parents 4326d4e + 371c856 commit f40e359

File tree

20 files changed

+127
-121
lines changed

20 files changed

+127
-121
lines changed

.gitignore

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/scicloj/.devcontainer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
FROM clojure:${templateOption:imageTag}
2-
32
ARG USERNAME=vscode
43
ARG USER_UID=1000
54
ARG USER_GID=$USER_UID
@@ -23,3 +22,4 @@ USER $USERNAME
2322
SHELL ["/bin/bash", "-ec"]
2423
ENTRYPOINT ["bash"]
2524

25+
\

src/scicloj/.devcontainer/devcontainer.json

Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,24 @@
44
},
55

66
"features": {
7-
"ghcr.io/devcontainers/features/desktop-lite:1": {},
87
"ghcr.io/devcontainers-extra/features/apt-get-packages:1": {
9-
"ppas": "ppa:ubuntuhandbook1/emacs",
10-
"packages": "r-base-dev,emacs,rlwrap,fonts-hack"
11-
},
12-
"ghcr.io/devcontainers/features/python:1": {
13-
"version": "latest"
8+
"packages": "r-base-dev,rlwrap"
149
},
10+
"ghcr.io/va-h/devcontainers-features/uv:1": {},
1511
"ghcr.io/rocker-org/devcontainer-features/quarto-cli:1": {},
1612
"ghcr.io/rocker-org/devcontainer-features/r-apt:0": {},
17-
"ghcr.io/rocker-org/devcontainer-features/rstudio-server": {},
1813
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
19-
"ghcr.io/devcontainers-extra/features/poetry:2": {},
2014
"ghcr.io/rocker-org/devcontainer-features/r-packages:1": {
2115
"packages": "Rserve",
2216
"additionalRepositories": "rforge= 'https://rforge.net'",
2317
"installSystemRequirements": true
2418
},
2519
"ghcr.io/wxw-matt/devcontainer-features/command_runner:latest": {
26-
"command1": "bash < <(curl -s https://raw.githubusercontent.com/clojure-lsp/clojure-lsp/master/install)",
20+
"command1": "bash < <(curl -s https://raw.githubusercontent.com/clojure-lsp/clojure-lsp/master/install)",
2721
"command2": "bash < <(curl -s https://raw.githubusercontent.com/babashka/babashka/master/install)",
28-
"command3": "bash -c 'wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein -O /usr/local/bin/lein && chmod +x /usr/local/bin/lein'"
22+
"command3": "bash -c 'wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein -O /usr/local/bin/lein && chmod +x /usr/local/bin/lein'"
2923
}
3024
},
31-
"overrideFeatureInstallOrder": [
32-
"ghcr.io/rocker-org/devcontainer-features/r-apt",
33-
"ghcr.io/devcontainers-extra/features/apt-get-packages",
34-
"ghcr.io/rocker-org/devcontainer-features/r-packages"
35-
],
36-
37-
"forwardPorts": [6080,12345],
38-
"portsAttributes": {
39-
"6080": {
40-
"label": "desktop"
41-
},
42-
"12345": {
43-
"label": "nrepl"
44-
}
45-
},
4625
"customizations": {
4726
"vscode": {
4827
"extensions": [
@@ -51,9 +30,9 @@
5130
}
5231
},
5332

54-
"postAttachCommand":
55-
{ "ide-setup": ["bash", "-c", "if [ -f \"/home/vscode/.setup-ide/setup-ide.sh\" ]; then /home/vscode/.setup-ide/setup-ide.sh; fi"],
56-
"prepare": ["bash","-c", "-i", "source ./.devcontainer/setup.sh"]
33+
"onCreateCommand":
34+
{
35+
"prepare": "./.devcontainer/setup.sh"
5736

5837

5938
}

src/scicloj/.devcontainer/setup.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
#!/bin/bash -xe
22

33
clj -Sthreads 1 -P
4-
mkdir -p .venv
5-
poetry install
6-
tic -x .devcontainer/terminfo24bit.src
7-
echo "alias emacs='TERM=xterm-24bits emacs'" >> ~/.bashrc

src/scicloj/.devcontainer/terminfo24bit.src

Lines changed: 0 additions & 10 deletions
This file was deleted.

src/scicloj/.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.lsp
2+
.cpcache
3+
.clj-kondo
4+
.RData
5+
.Rhistory
6+
.calva
7+
.classes
8+
uv.lock
9+
classes
10+
.nrepl-port
11+
.venv

src/scicloj/NOTES.md

Lines changed: 18 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
# A template project featuring a devcontainer setup for Datascience with Clojure using several libraries from [scicloj](https://scicloj.github.io/)
22

3-
It sets up an dev container environment with several tool s and libaries for datascience in Clojure.
3+
It sets up an dev container environment with several tool s and libraries for datascience in Clojure.
44

55
# Quickstart
66
0. Install [devcontainer cli](https://github.com/devcontainers/cli)
77
1. Run `devcontainer templates apply -t ghcr.io/scicloj/devcontainer-templates/scicloj` to create a devcontainer setup
88
with default settings in your current directoty
99
2. Open folder with VSCode / devcontainer / devpod / Codespaces and trigger/wait for container build
1010
3. "jack in" inside the devcontainer
11-
4. Enjoy Clojure and R + python from Clojure (using ClojisR + libpython-clj)
11+
4. run "uv sync" to syvc python environment with pyproject.toml
12+
5. Enjoy Clojure and R + python from Clojure (using ClojisR + libpython-clj)
1213

1314
## template options:
1415
image-tag: ubuntu LTS only and Java LTS 8,11,17,21 and if released on Dockerhub
1516
default image-tag: lastet ubuntu LTS + latest supported LTS JDK + latest released clojure (and available on Dockerhub)
1617
## Customization
1718

18-
5. Customize libraries
19-
* deps.edn: add Clojure + Java libraries
20-
* pyproject.toml: add python libraries into poetry config file
19+
5. Customize libraries in declarative way
20+
* deps.edn: add Clojure + Java libraries
21+
* pyproject.toml: add python libraries
2122
* devcontainer.json: add R libraries (see [r-packages](ghcr.io/rocker-org/devcontainer-features/r-packages)
2223

2324

@@ -29,49 +30,34 @@ default image-tag: lastet ubuntu LTS + latest supported LTS JDK + latest release
2930
## Installed inside devcontainer
3031

3132

32-
The purpose of this devcontainer setup is to support VSCode and (graphical) Emacs as IDEs.
33+
The purpose of this devcontainer setup is to support Clojure data science including Clojure integration with python and R
3334

34-
### Supporting VSCode
35-
36-
For supportring VSCode, nothing specific need to be done, as devcontainer support is build
37-
int VSCode.
38-
39-
### Supporting Emacs
40-
The Emacs support consists in setting up a noVNC desktop inclding Emacs in graphical mode.
41-
The VNC port is auto-forwarded and can be seen inside a browser window.
42-
It added as well a generic way to configure emacs, from `dotfiles`, see below.
4335

4436
The provided devcontainer.json installs in the devcontainer:
4537

4638
* Clojure (incl. clojisr and libpython-clj)
47-
* Python incl. poetry (packages can be added via changing the `pyproject.toml` in devcontainer.json)
39+
* 'uv' python package manager
4840
* R (packages can be added in devcontainer.json)
49-
* incl. rstudio-server
50-
41+
* pyproject.toml , which specifies python version and packages
5142
* deps.edn with Clojure libraries for Data science from scicloj
52-
* noVNC + lite desktop incl port forwarding
53-
* Emacs
5443
* quarto cli
5544
* docker-in-docker
5645
* leiningen
5746
* babashka
5847
* lsp
5948

60-
### Graphical Emacs in web-noVNC
61-
In the default settings, we will get a vanilla Emacs running in noVNC.
62-
The Emacs setup can be configured via providing a specific script in a fixed location
63-
, which can be most easly done using the dotfile support of devcontainer.
64-
65-
See here: [dotfiles](https://code.visualstudio.com/docs/devcontainers/containers#_personalizing-with-dotfile-repositories)
66-
67-
If there is a file in `/home/vscode/.setup-ide/setup-ide.sh` it will be executed after container creation.
68-
This can do "whatever" to configure Emacs from your own configuration.
69-
(Baically the script can do everything on the build container.)
70-
71-
My `setup-ide.sh` configures Doom Emacs with my personal configuration.
7249

7350

7451
# Version history
52+
## 2.0.0
53+
BREAKING CHANGE:
54+
- removed poetry
55+
- removed emacs
56+
- removed vnc
57+
- removed rstudio server
58+
- added uv
59+
- use Clojure 1.12.2.1565 images
60+
7561
## 1.1.3
7662
- fixed feature names from 'contrib' -> 'extra'
7763

src/scicloj/bb.edn

Lines changed: 0 additions & 4 deletions
This file was deleted.

src/scicloj/bin/kaocha

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/scicloj/bin/launchpad

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)