initial commit

This commit is contained in:
Spencer Killen 2023-01-10 19:22:13 -07:00
commit c4cdc4d073
Signed by: sjkillen
GPG Key ID: F307025B65C860BA
9 changed files with 69 additions and 0 deletions

View File

@ -0,0 +1,12 @@
{
"name": "CMPUT 325 devcontainer",
"build": {
"context": "..",
"dockerfile": "../Dockerfile"
},
"extensions": [
"mattn.Lisp",
"rebornix.prolog",
"abelcour.asp-syntax-highlight"
]
}

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"files.associations": {
"*.pl": "prolog"
}
}

21
Dockerfile Normal file
View File

@ -0,0 +1,21 @@
FROM ubuntu:jammy
# rlwrap segfaulted on :kinetic, so using jammy instead
LABEL maintainer="sjkillen@ualberta.ca"
RUN apt-get -qq update && apt-get -qq install sudo gringo clasp time swi-prolog sbcl rlwrap
ARG USERNAME=user
ARG USER_UID=1000
ARG USER_GID=$USER_UID
# Copied from https://code.visualstudio.com/docs/remote/containers-advanced#_adding-a-nonroot-user-to-your-dev-container
# 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.
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
&& chmod 0440 /etc/sudoers.d/$USERNAME
USER $USERNAME
RUN echo "alias sbcl='rlwrap sbcl'" >> /home/$USERNAME/.bashrc

31
README.md Normal file
View File

@ -0,0 +1,31 @@
# Notes
- Container will configure vscode's settings to recognize .pl files as Prolog rather than the default Perl.
- Will install extensions for lisp, prolog, and ASP
- Will configure SBCL to use rlwrap so that you have history when using a lisp REPL
# How to use
1. You will need to have vscode and Docker installed.
For Ubuntu, docker is installed with `sudo apt install docker.io`
2. Install the vscode extension for docker dev containers as shown in the image below
![Step 1](howtouse_devcontainer/1.png)
3. Clone this repository (or just download it) and open the folder that contains the .devcontainer folder
![Step 2](howtouse_devcontainer/2.png)
4. Your folder structure should look like the following
![Step 3](howtouse_devcontainer/3.png)
5. Open the commands pallete (CTRL + SHIFT + P) or (CTRL + P + >) and type "open in container" and select "Dev Containers: Reopen in Container"
![Step 4](howtouse_devcontainer/4.png)
6. It may take a bit to download the docker container, go grab a coffee
7. Confirm that you're running in the container and have the extensions shown in the following image installed
![Step 5](howtouse_devcontainer/5.png)

BIN
howtouse_devcontainer/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
howtouse_devcontainer/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
howtouse_devcontainer/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
howtouse_devcontainer/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

BIN
howtouse_devcontainer/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB