diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index 142c3f6..0000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/ubuntu/.devcontainer/base.Dockerfile - -# [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 -ARG VARIANT="jammy" -FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT} - -RUN mkdir /nix \ - && chown vscode /nix \ - && su vscode -c "sh <(curl -L https://nixos.org/nix/install) --no-daemon" - -RUN su vscode -c "/home/vscode/.nix-profile/bin/nix-env -i nixpkgs-fmt" - -RUN echo 'nix --experimental-features "nix-command flakes" develop' > /usr/bin/devShell \ - && chmod +x /usr/bin/devShell diff --git a/.devcontainer/dev_shell/devcontainer-feature.json b/.devcontainer/dev_shell/devcontainer-feature.json new file mode 100644 index 0000000..ab01809 --- /dev/null +++ b/.devcontainer/dev_shell/devcontainer-feature.json @@ -0,0 +1,9 @@ +{ + "name": "DevShell", + "id": "dev_shell", + "version": "1.0.0", + "description": "A nix based dev shell", + "installsAfter": [ + "ghcr.io/devcontainers/features/nix:1" + ] +} \ No newline at end of file diff --git a/.devcontainer/dev_shell/install.sh b/.devcontainer/dev_shell/install.sh new file mode 100644 index 0000000..30657a3 --- /dev/null +++ b/.devcontainer/dev_shell/install.sh @@ -0,0 +1,6 @@ +#!/bin/env sh + +nix-env -i nixpkgs-fmt + +echo 'nix --experimental-features "nix-command flakes" develop' > /usr/bin/devShell +chmod +x /usr/bin/devShell \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d28a889..891d654 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,29 +1,32 @@ -// 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.245.2/containers/ubuntu { "name": "Ubuntu", - "build": { - "dockerfile": "Dockerfile", - // Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04 - // Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon. - "args": { "VARIANT": "ubuntu-22.04" } + "image": "mcr.microsoft.com/devcontainers/base:jammy", + "features": { + "ghcr.io/devcontainers/features/docker-from-docker:1": {}, + "ghcr.io/devcontainers/features/nix:1": {}, + "./dev_shell": {} }, - "extensions": [ - "donjayamanne.githistory", - "jnoortheen.nix-ide", - "ms-azuretools.vscode-docker", - "eamodio.gitlens", - "streetsidesoftware.code-spell-checker" - ], + // Features to add to the dev container. More info: https://containers.dev/implementors/features. + // "features": {}, // 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": "uname -a", - - // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode", - "features": { - "docker-from-docker": "latest" + //"onCreateCommand":"nix-env -i nixpkgs-fmt", + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": {}, + "extensions": [ + "donjayamanne.githistory", + "jnoortheen.nix-ide", + "ms-azuretools.vscode-docker", + "eamodio.gitlens", + "streetsidesoftware.code-spell-checker" + ] + } } -} + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} \ No newline at end of file