Add development container and update READMEs. Add Sphinx furo theme. (#221)
parent
4d97f9d171
commit
93107e6bfe
@ -0,0 +1,25 @@ |
|||||||
|
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.241.1/containers/rust/.devcontainer/base.Dockerfile |
||||||
|
|
||||||
|
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye |
||||||
|
ARG VARIANT="bullseye" |
||||||
|
FROM mcr.microsoft.com/vscode/devcontainers/rust:0-${VARIANT} |
||||||
|
|
||||||
|
# [Optional] Uncomment this section to install additional packages. |
||||||
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ |
||||||
|
&& apt-get -y install --no-install-recommends \ |
||||||
|
python3 \ |
||||||
|
python3-venv \ |
||||||
|
python-is-python3 \ |
||||||
|
libclang-dev |
||||||
|
|
||||||
|
ENV VIRTUAL_ENV=/opt/venv |
||||||
|
RUN python -m venv $VIRTUAL_ENV |
||||||
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH" |
||||||
|
RUN pip install --no-cache-dir \ |
||||||
|
maturin \ |
||||||
|
sphinx \ |
||||||
|
sphinx-autobuild \ |
||||||
|
furo |
||||||
|
|
||||||
|
# Change owner to the devcontainer user |
||||||
|
RUN chown -R 1000:1000 $VIRTUAL_ENV |
@ -0,0 +1,69 @@ |
|||||||
|
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: |
||||||
|
// https://github.com/microsoft/vscode-dev-containers/tree/v0.241.1/containers/rust |
||||||
|
{ |
||||||
|
"name": "Rust", |
||||||
|
"build": { |
||||||
|
"dockerfile": "Dockerfile", |
||||||
|
"args": { |
||||||
|
// Use the VARIANT arg to pick a Debian OS version: buster, bullseye |
||||||
|
// Use bullseye when on local on arm64/Apple Silicon. |
||||||
|
"VARIANT": "bullseye" |
||||||
|
} |
||||||
|
}, |
||||||
|
"runArgs": ["--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"], |
||||||
|
|
||||||
|
// Configure tool-specific properties. |
||||||
|
"customizations": { |
||||||
|
// Configure properties specific to VS Code. |
||||||
|
"vscode": { |
||||||
|
// Set *default* container specific settings.json values on container create. |
||||||
|
"settings": { |
||||||
|
"lldb.executable": "/usr/bin/lldb", |
||||||
|
// VS Code don't watch files under ./target |
||||||
|
"files.watcherExclude": { |
||||||
|
"**/target/**": true |
||||||
|
}, |
||||||
|
"rust-analyzer.checkOnSave.command": "clippy", |
||||||
|
|
||||||
|
"python.defaultInterpreterPath": "/opt/venv/bin/python", |
||||||
|
"python.linting.enabled": true, |
||||||
|
"python.linting.pylintEnabled": true, |
||||||
|
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", |
||||||
|
"python.formatting.blackPath": "/usr/local/py-utils/bin/black", |
||||||
|
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", |
||||||
|
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit", |
||||||
|
"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", |
||||||
|
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", |
||||||
|
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", |
||||||
|
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", |
||||||
|
"python.linting.pylintPath": "/opt/venv/bin/pylint", |
||||||
|
"python.testing.pytestPath": "/opt/venv/bin/pytest" |
||||||
|
}, |
||||||
|
|
||||||
|
// Add the IDs of extensions you want installed when the container is created. |
||||||
|
"extensions": [ |
||||||
|
"vadimcn.vscode-lldb", |
||||||
|
"mutantdino.resourcemonitor", |
||||||
|
"rust-lang.rust-analyzer", |
||||||
|
"tamasfe.even-better-toml", |
||||||
|
"serayuzgur.crates", |
||||||
|
"ms-python.python", |
||||||
|
"ms-python.vscode-pylance", |
||||||
|
"esbenp.prettier-vscode", |
||||||
|
"stardog-union.stardog-rdf-grammars" |
||||||
|
] |
||||||
|
} |
||||||
|
}, |
||||||
|
|
||||||
|
// Use 'forwardPorts' to make a list of ports inside the container available locally. |
||||||
|
// "forwardPorts": [], |
||||||
|
|
||||||
|
// Use 'postCreateCommand' to run commands after the container is created. |
||||||
|
"postCreateCommand": "git submodule update --init && cargo build", |
||||||
|
|
||||||
|
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. |
||||||
|
"remoteUser": "vscode", |
||||||
|
"features": { |
||||||
|
"python": "3.10" |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue