From f8663912b3f4f6158d5461d09218edbd9183d7a7 Mon Sep 17 00:00:00 2001 From: David Carley Date: Tue, 6 Sep 2022 07:50:56 +0000 Subject: [PATCH] More tweaking on the devcontainer --- .devcontainer/Dockerfile | 16 ++-------- .devcontainer/devcontainer.json | 55 +++++++++++++++++++-------------- .devcontainer/install_tools.sh | 46 +++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 37 deletions(-) create mode 100755 .devcontainer/install_tools.sh diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 0e78e8a..f2f6d9b 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -3,17 +3,5 @@ # [Choice] Debian version (use bullseye on local arm64/Apple Silicon): bullseye, buster ARG VARIANT=bullseye FROM mcr.microsoft.com/vscode/devcontainers/base:${VARIANT} - -RUN apt update \ - && apt upgrade -y \ - && apt install -y \ - build-essential git wget binfmt-support qemu gcc-9 \ - parted udev zerofree gcc-avr avr-libc avrdude python3 python3-pip python3-tornado \ - inetutils-ping curl unzip python3-setuptools gcc-arm-linux-gnueabihf bc vim locate sudo \ - && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9 \ - && /usr/bin/python3 -m pip install -U yapf \ - && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ - && apt install -y nodejs \ - && mkdir -p /root/.ssh \ - && echo "Host onefinity" > /root/.ssh/config \ - && echo "\tUser bbmc" >> /root/.ssh/config +COPY ./install_tools.sh /tmp/install_tools.sh +RUN /tmp/install_tools.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 62b154a..029bcfa 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,26 +1,35 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: // https://github.com/microsoft/vscode-dev-containers/blob/v0.241.1/containers/debian { - "name": "Debian", - "build": { - "dockerfile": "Dockerfile", - // Update 'VARIANT' to pick an Debian version: bullseye, buster - // Use bullseye on local arm64/Apple Silicon. - "args": { "VARIANT": "bullseye" } - }, - - "runArgs": ["--privileged"], - - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - - // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker. - // "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ], - - // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - // "remoteUser": "vscode", - - "features": { - "sshd": "latest" - } -} + "name": "Debian", + "build": { + "dockerfile": "Dockerfile", + // Update 'VARIANT' to pick an Debian version: bullseye, buster + // Use bullseye on local arm64/Apple Silicon. + "args": { + "VARIANT": "bullseye" + } + }, + "runArgs": [ + // The primary reason this is here is to enable loopback devices, + // which are used for mounting disk images during builds, etc. + "--privileged" + ], + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + // + // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker. + // "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ], + "features": { + "sshd": "latest" + }, + "extensions": [ + "ms-azuretools.vscode-docker", + "dbaeumer.vscode-eslint", + "eamodio.gitlens", + "ms-vscode.makefile-tools", + "ms-python.python", + "svelte.svelte-vscode", + "redhat.vscode-yaml" + ] +} \ No newline at end of file diff --git a/.devcontainer/install_tools.sh b/.devcontainer/install_tools.sh new file mode 100755 index 0000000..bde4e02 --- /dev/null +++ b/.devcontainer/install_tools.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env -S bash -e + +APT_PACKAGES=( + "build-essential" + "git" + "wget" + "binfmt-support" + "qemu" + "gcc-9" + "parted" + "udev" + "zerofree" + "gcc-avr" + "avr-libc" + "avrdude" + "python3" + "python3-pip" + "python3-tornado" + "inetutils-ping" + "curl" + "unzip" + "python3-setuptools" + "gcc-arm-linux-gnueabihf" + "bc" + "vim" + "locate" + "sudo" +) + +apt-get update +apt-get upgrade -y + +apt-get install -y "${APT_PACKAGES[@]}" + +update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9 + +/usr/bin/python3 -m pip install -U yapf + +curl -fsSL https://deb.nodesource.com/setup_18.x | bash - +apt-get install -y nodejs + +mkdir -p /root/.ssh +cat > /root/.ssh/config <<- END +Host onefinity + User bbmc +END