From 892785aff471588c48266a9492e8c83e9412a933 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 17:28:51 -0500 Subject: [PATCH 01/11] =?UTF-8?q?=F0=9F=8F=97=E2=9C=A8=EF=BC=9Akick=20off?= =?UTF-8?q?=20new=20fish=20shell=20CentOS=20devcontainer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We took from official fish-shell project, which they use for building the fish shell itself; deterministic builds here we come! Signed-off-by: Derek Lewis --- .dockerignore => .devcontainer/.dockerignore | 0 .devcontainer/Dockerfile | 22 +++++++++++++++ .devcontainer/devcontainer.json | 29 ++++++++++++++++++++ .devcontainer/docker-compose.yml | 26 ++++++++++++++++++ .github/dependabot.yml | 12 ++++++++ 5 files changed, 89 insertions(+) rename .dockerignore => .devcontainer/.dockerignore (100%) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/docker-compose.yml create mode 100644 .github/dependabot.yml diff --git a/.dockerignore b/.devcontainer/.dockerignore similarity index 100% rename from .dockerignore rename to .devcontainer/.dockerignore diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..6b1a590a --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,22 @@ +# Ethically sourced from official fish-shell/fish-shell project: +# See: https://github.com/fish-shell/fish-shell/blob/HEAD/Dockerfile + +FROM centos:latest + +# Build dependency +RUN yum update -y &&\ + yum install -y epel-release &&\ + yum install -y clang cmake3 gcc-c++ make ncurses-devel &&\ + yum clean all + +# Test dependency +RUN yum install -y expect vim-common + +ADD . /src +WORKDIR /src + +# Build fish +RUN cmake3 . &&\ + make &&\ + make install + diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..02b43d9b --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,29 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/docker-outside-of-docker-compose +{ + "name": "Docker from Docker Compose", + "dockerComposeFile": "docker-compose.yml", + "service": "app", + "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", + + // Use this environment variable if you need to bind mount your local source code into a new container. + "remoteEnv": { + "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" + }, + + "features": { + "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}, + "ghcr.io/devcontainers-contrib/features/curl-homebrew:1": {}, + "ghcr.io/devcontainers-contrib/features/dprint-asdf:2": {}, + "ghcr.io/devcontainers-contrib/features/fish-apt-get:1": {}, + "ghcr.io/stuartleeks/dev-container-features/shell-history:0": {} + }, + // 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": "docker --version", + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 00000000..73ad0bde --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3' + +services: + app: + build: + context: . + dockerfile: Dockerfile + + volumes: + # Forwards the local Docker socket to the container. + - /var/run/docker.sock:/var/run/docker-host.sock + # Update this to wherever you want VS Code to mount the folder of your project + - ../..:/workspaces:cached + + # Overrides default command so things don't shut down after the process ends. + entrypoint: /usr/local/share/docker-init.sh + command: sleep infinity + + # Uncomment the next four lines if you will use a ptrace-based debuggers like C++, Go, and Rust. + # cap_add: + # - SYS_PTRACE + # security_opt: + # - seccomp:unconfined + + # Use "forwardPorts" in **devcontainer.json** to forward an app port locally. + # (Adding the "ports" property to this file will not forward from a Codespace.) diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..f33a02cd --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for more information: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates +# https://containers.dev/guide/dependabot + +version: 2 +updates: + - package-ecosystem: "devcontainers" + directory: "/" + schedule: + interval: weekly From 331c0100f849f8b9ead7c680c3b72f257e556426 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 18:15:52 -0500 Subject: [PATCH 02/11] devcontainer now builds; hoorah! removing previous incantation Signed-off-by: Derek Lewis --- .devcontainer.json | 22 -------------- .devcontainer/Dockerfile | 20 ++++++------- .devcontainer/devcontainer.json | 52 +++++++++++++++++++++------------ 3 files changed, 43 insertions(+), 51 deletions(-) delete mode 100644 .devcontainer.json diff --git a/.devcontainer.json b/.devcontainer.json deleted file mode 100644 index 9d96bd64..00000000 --- a/.devcontainer.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "image": "mcr.microsoft.com/vscode/devcontainers/javascript-node:0-18", - "remoteUser": "node", - "customizations": { - "vscode": { - "extensions": [ - "mads-hartmann.bash-ide-vscode", - "bmalehorn.vscode-fish", - "timonwong.shellcheck", - "streetsidesoftware.code-spell-checker", - "ms-azuretools.vscode-docker" - ] - } - }, - "features": { - "ghcr.io/devcontainers/features/docker-in-docker:2": {} - }, - "postCreateCommand": "npm install -g @devcontainers/cli && sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install -y shellcheck", - "hostRequirements": { - "cpus": 4 - } -} diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 6b1a590a..b1814679 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,22 +1,22 @@ # Ethically sourced from official fish-shell/fish-shell project: # See: https://github.com/fish-shell/fish-shell/blob/HEAD/Dockerfile -FROM centos:latest +FROM centos:centos7 # Build dependency -RUN yum update -y &&\ - yum install -y epel-release &&\ - yum install -y clang cmake3 gcc-c++ make ncurses-devel &&\ - yum clean all +RUN yum update -y \ + && yum install -y epel-release \ + && yum install -y clang cmake3 gcc-c++ make ncurses-devel \ + && yum clean all # Test dependency RUN yum install -y expect vim-common -ADD . /src -WORKDIR /src +# ADD . /src +# WORKDIR /src # Build fish -RUN cmake3 . &&\ - make &&\ - make install +# RUN cmake3 . &&\ +# make &&\ +# make install diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 02b43d9b..85b52863 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,28 +1,42 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/docker-outside-of-docker-compose +// README at: https://github.com/devcontainers/templates/tree/main/src/debian { - "name": "Docker from Docker Compose", - "dockerComposeFile": "docker-compose.yml", - "service": "app", - "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", - - // Use this environment variable if you need to bind mount your local source code into a new container. - "remoteEnv": { - "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" - }, + "name": "CentOS", + + "build": { + // Path is relative to the devcontainer.json file. + "dockerfile": "Dockerfile" + }, + + // Features to add to the dev container. More info: https://containers.dev/features. + // "features": { + // "ghcr.io/devcontainers/features/docker-in-docker:2": {} + // }, - "features": { - "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}, - "ghcr.io/devcontainers-contrib/features/curl-homebrew:1": {}, - "ghcr.io/devcontainers-contrib/features/dprint-asdf:2": {}, - "ghcr.io/devcontainers-contrib/features/fish-apt-get:1": {}, - "ghcr.io/stuartleeks/dev-container-features/shell-history:0": {} - }, // 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": "docker --version", + // Configure tool-specific properties. + // "customizations": {}, + + "customizations": { + "vscode": { + "extensions": [ + "mads-hartmann.bash-ide-vscode", + "bmalehorn.vscode-fish", + "timonwong.shellcheck", + "streetsidesoftware.code-spell-checker", + "ms-azuretools.vscode-docker" + ] + } + }, + + // "remoteUser": "node", + + // "postCreateCommand": "npm install -g @devcontainers/cli && sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install -y shellcheck", + "hostRequirements": { + "cpus": 4 + } // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" From 38af1e3967983c4058e465bc4b449726075369eb Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 18:20:53 -0500 Subject: [PATCH 03/11] encourage reading me at my own location --- .devcontainer/devcontainer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 85b52863..a144f24e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,5 +1,5 @@ // For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/debian +// README at: https://github.com/openinf/docker-fisher/tree/main/templates/centos7 { "name": "CentOS", @@ -34,6 +34,7 @@ // "remoteUser": "node", // "postCreateCommand": "npm install -g @devcontainers/cli && sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install -y shellcheck", + "hostRequirements": { "cpus": 4 } From da93020ddcaa64929687d771938acf8cffdf80e0 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 18:39:28 -0500 Subject: [PATCH 04/11] fixup! add missing yum clean all > after yum install DOK-P1000 otherwise CI fails too --- .devcontainer/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index b1814679..e5c22c10 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -10,7 +10,8 @@ RUN yum update -y \ && yum clean all # Test dependency -RUN yum install -y expect vim-common +RUN yum install -y expect vim-common \ + && yum clean all # ADD . /src # WORKDIR /src From a8c830fb61a5e23f7900d3a8629ab1e6358ca0f5 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 20:00:00 -0500 Subject: [PATCH 05/11] fixup! silence DOK-W1003 until later Refs: https://github.com/OpenINF/docker-fisher/issues/29 Refs: https://docs.deepsource.com/docs/issues-ignore-rules#silencing-a-specific-issue Refs: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ Signed-off-by: Derek Lewis --- .devcontainer/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index e5c22c10..6509c803 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -3,13 +3,13 @@ FROM centos:centos7 -# Build dependency +# Build dependency # skipcq: DOK-W1003 RUN yum update -y \ && yum install -y epel-release \ && yum install -y clang cmake3 gcc-c++ make ncurses-devel \ && yum clean all -# Test dependency +# Test dependency # skipcq: DOK-W1003 RUN yum install -y expect vim-common \ && yum clean all From f37da028f24cb23d65475b48c5aa2c4882339869 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 20:25:31 -0500 Subject: [PATCH 06/11] fixup! bring devcontainer goodies from our site repo --- .devcontainer/devcontainer.json | 90 +++++++++++++++++++++++++-------- .devcontainer/post-create.fish | 87 +++++++++++++++++++++++++++++++ 2 files changed, 156 insertions(+), 21 deletions(-) create mode 100644 .devcontainer/post-create.fish diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index a144f24e..5d2579f4 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -8,32 +8,80 @@ "dockerfile": "Dockerfile" }, - // Features to add to the dev container. More info: https://containers.dev/features. - // "features": { - // "ghcr.io/devcontainers/features/docker-in-docker:2": {} - // }, + "runArgs": [ // TODO(DerekNonGeneric): determine whether these args are necessary + "--cap-add=SYS_ADMIN", + "--security-opt", + "seccomp=unconfined" + ], - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], + // Use 'forwardPorts' to make a list of ports inside the container available + // locally. + "forwardPorts": [ + // Jekyll server + 4000, + // Live reload server + 35729, + // OpenSSH server + 2222 + ], - // Configure tool-specific properties. - // "customizations": {}, + // Configure tool-specific properties. "customizations": { + // Configure properties specific to VS Code. "vscode": { - "extensions": [ - "mads-hartmann.bash-ide-vscode", - "bmalehorn.vscode-fish", - "timonwong.shellcheck", - "streetsidesoftware.code-spell-checker", - "ms-azuretools.vscode-docker" - ] - } - }, - - // "remoteUser": "node", - - // "postCreateCommand": "npm install -g @devcontainers/cli && sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install -y shellcheck", + // Set *default* container-specific settings.json values on container + // create. + "settings": { + "terminal.integrated.profiles.linux": { + "fish": { + "path": "fish" + } + } + }, + "terminal.integrated.defaultProfile.linux": "bash" + }, + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + // https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments + "aaron-bond.better-comments", + // https://marketplace.visualstudio.com/items?itemName=bmalehorn.vscode-fish + "bmalehorn.vscode-fish", + // https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker + "ms-azuretools.vscode-docker", + // https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint + "davidanson.vscode-markdownlint", + // https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint + // "dbaeumer.vscode-eslint", + // https://marketplace.visualstudio.com/items?itemName=dprint.dprint + "dprint.dprint", + // https://marketplace.visualstudio.com/items?itemName=editorconfig.editorconfig + "editorconfig.editorconfig", + // https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode + "esbenp.prettier-vscode", + // https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree + "Gruntfuggly.todo-tree", + // https://marketplace.visualstudio.com/items?itemName=KatjanaKosic.vscode-json5 + "KatjanaKosic.vscode-json5", + // https://marketplace.visualstudio.com/items?itemName=mads-hartmann.bash-ide-vscode + "mads-hartmann.bash-ide-vscode", + // https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker + "streetsidesoftware.code-spell-checker", + // https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml + "tamasfe.even-better-toml", + // https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck + "timonwong.shellcheck", + // https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-remark + "unifiedjs.vscode-remark" + ] + }, + + "overrideCommand": false, + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "fish .devcontainer/post-create.fish", + "remoteEnv": { + "PATH": "${containerEnv:PATH}:~/.rbenv/shims/" + }, "hostRequirements": { "cpus": 4 diff --git a/.devcontainer/post-create.fish b/.devcontainer/post-create.fish new file mode 100644 index 00000000..dcbb1069 --- /dev/null +++ b/.devcontainer/post-create.fish @@ -0,0 +1,87 @@ +#!/usr/bin/fish + +# If there's a .ruby-version, then run `rbenv install`. +if test -e .ruby-version + rbenv install --verbose +end + +echo 'set -Ux fish_user_paths ~/.rbenv/shims/ $fish_user_paths' >> ~/.config/fish/config.fish + +# To squelch yellow message re: specifying how divergent branches be reconciled. +echo 'git config pull.rebase true' >> ~/.config/fish/config.fish # rebase + +source ~/.config/fish/config.fish + +rbenv rehash + +# If there's a Gemfile, then install Bundler and run `bundle install`. +if test -e Gemfile + # Install Bundler. + gem install bundler + # Configure Bundler setting local gem install path to avoid permission errors. + bundle config set --local path vendor/bundle + # Install the dependencies specified in the Gemfile. + bundle install + # Ensure latest versions of Bundler's dependencies are installed. + bundle update --bundler +else + # If there's no Gemfile, install Jekyll. + gem install jekyll +end + +# If there's a `.nvmrc`, then run `nvm install`. +if test -e .nvmrc + # Install the specified version of Node.js. + nvm install +end + +# If there's a package.json, then run `pnpm install`. +if test -e package.json + corepack enable + corepack prepare pnpm@latest --activate + pnpm install +end + +echo 'rbenv rehash && nvm use' >> ~/.config/fish/config.fish + +# Installs the moon and dprint tools, and it adds the tools to the user's $PATH. +# It makes the tools available to the user when they open a new terminal window. + +# Install moon +curl -fsSL https://moonrepo.dev/install/moon.sh | bash >> /dev/null +echo 'set -Ux fish_user_paths $HOME/.moon/bin $fish_user_paths' >> ~/.config/fish/config.fish + +# Install dprint +curl -fsSL https://dprint.dev/install.sh | sh >> /dev/null +echo 'set -Ux fish_user_paths $HOME/.dprint/bin $fish_user_paths' >> ~/.config/fish/config.fish + +source ~/.config/fish/config.fish + +# this will populate your ~/.gnupg directory with empty keyring files +# it will create the ~/.gnupg directory if it does not already exist (expected) +gpg --list-keys + +# If there's a .gnupg directory, then perform the following setup tasks. +if test -e ~/.gnupg/ + # Configure Git to use `gpg2`. + echo 'git config --global gpg.program gpg2' >> ~/.config/fish/config.fish + + echo 'set -gx GPG_TTY (tty)' >> ~/.config/fish/config.fish + + # To fix the " gpg: WARNING: unsafe permissions on homedir + # '/home/path/to/user/.gnupg' " error, make sure that the .gnupg directory and + # its contents is accessibile by your user. + # chown -R (whoami) ~/.gnupg/ + + # Also correct the permissions and access rights on the directory. + # chmod 600 ~/.gnupg/* + # chmod 700 ~/.gnupg + + echo no-autostart >> ~/.gnupg/gpg.conf + + # Remove an existing Unix-domain socket file for remote port forwarding before + # creating a new one when gpgtunnel connection is made. + # rm ~/.gnupg/S.gpg-agent + + printf '\n%s\n\n\t%s\n\n' 'Enable commit signing:' 'git config --global commit.gpgsign true' +end From 2fad4dc9519f1648f0cfa1b42dd4c331ab0a1ece Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 20:29:28 -0500 Subject: [PATCH 07/11] make a clear todo for missing commands we know the procedure on Debain, at least (hopefully) --- .devcontainer/Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 6509c803..3d5737b0 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -13,6 +13,11 @@ RUN yum update -y \ RUN yum install -y expect vim-common \ && yum clean all +# TODO(DerekNonGeneric): resolve the outstand below +# err spawnn fish: ENOENT -- install fish +# git command unknown location -- install git +# install nodejs, ruby runtime + # ADD . /src # WORKDIR /src From a10521caaf46bcb0bc767639f3cd8328e3a2ec5e Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 20:42:49 -0500 Subject: [PATCH 08/11] folks don't like/want this maybe --- .devcontainer/post-create.fish | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.devcontainer/post-create.fish b/.devcontainer/post-create.fish index dcbb1069..815f1c3f 100644 --- a/.devcontainer/post-create.fish +++ b/.devcontainer/post-create.fish @@ -44,17 +44,6 @@ end echo 'rbenv rehash && nvm use' >> ~/.config/fish/config.fish -# Installs the moon and dprint tools, and it adds the tools to the user's $PATH. -# It makes the tools available to the user when they open a new terminal window. - -# Install moon -curl -fsSL https://moonrepo.dev/install/moon.sh | bash >> /dev/null -echo 'set -Ux fish_user_paths $HOME/.moon/bin $fish_user_paths' >> ~/.config/fish/config.fish - -# Install dprint -curl -fsSL https://dprint.dev/install.sh | sh >> /dev/null -echo 'set -Ux fish_user_paths $HOME/.dprint/bin $fish_user_paths' >> ~/.config/fish/config.fish - source ~/.config/fish/config.fish # this will populate your ~/.gnupg directory with empty keyring files From e38049aa63e55b86957b206ce2efab4f675c0ca7 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 21:19:02 -0500 Subject: [PATCH 09/11] simplify for getting merged asap --- .devcontainer/devcontainer.json | 84 +-------------------------------- 1 file changed, 1 insertion(+), 83 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5d2579f4..d5eecd8e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,87 +6,5 @@ "build": { // Path is relative to the devcontainer.json file. "dockerfile": "Dockerfile" - }, - - "runArgs": [ // TODO(DerekNonGeneric): determine whether these args are necessary - "--cap-add=SYS_ADMIN", - "--security-opt", - "seccomp=unconfined" - ], - - // Use 'forwardPorts' to make a list of ports inside the container available - // locally. - "forwardPorts": [ - // Jekyll server - 4000, - // Live reload server - 35729, - // OpenSSH server - 2222 - ], - - - // Configure tool-specific properties. - "customizations": { - // Configure properties specific to VS Code. - "vscode": { - // Set *default* container-specific settings.json values on container - // create. - "settings": { - "terminal.integrated.profiles.linux": { - "fish": { - "path": "fish" - } - } - }, - "terminal.integrated.defaultProfile.linux": "bash" - }, - // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - // https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments - "aaron-bond.better-comments", - // https://marketplace.visualstudio.com/items?itemName=bmalehorn.vscode-fish - "bmalehorn.vscode-fish", - // https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker - "ms-azuretools.vscode-docker", - // https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint - "davidanson.vscode-markdownlint", - // https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint - // "dbaeumer.vscode-eslint", - // https://marketplace.visualstudio.com/items?itemName=dprint.dprint - "dprint.dprint", - // https://marketplace.visualstudio.com/items?itemName=editorconfig.editorconfig - "editorconfig.editorconfig", - // https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode - "esbenp.prettier-vscode", - // https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree - "Gruntfuggly.todo-tree", - // https://marketplace.visualstudio.com/items?itemName=KatjanaKosic.vscode-json5 - "KatjanaKosic.vscode-json5", - // https://marketplace.visualstudio.com/items?itemName=mads-hartmann.bash-ide-vscode - "mads-hartmann.bash-ide-vscode", - // https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker - "streetsidesoftware.code-spell-checker", - // https://marketplace.visualstudio.com/items?itemName=tamasfe.even-better-toml - "tamasfe.even-better-toml", - // https://marketplace.visualstudio.com/items?itemName=timonwong.shellcheck - "timonwong.shellcheck", - // https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-remark - "unifiedjs.vscode-remark" - ] - }, - - "overrideCommand": false, - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "fish .devcontainer/post-create.fish", - "remoteEnv": { - "PATH": "${containerEnv:PATH}:~/.rbenv/shims/" - }, - - "hostRequirements": { - "cpus": 4 - } - - // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" + } } From 49b7cfa7442730c951d45288ee6cbd9bfb0febb3 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 21:20:39 -0500 Subject: [PATCH 10/11] note to self has been taken --- .devcontainer/Dockerfile | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 3d5737b0..6509c803 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -13,11 +13,6 @@ RUN yum update -y \ RUN yum install -y expect vim-common \ && yum clean all -# TODO(DerekNonGeneric): resolve the outstand below -# err spawnn fish: ENOENT -- install fish -# git command unknown location -- install git -# install nodejs, ruby runtime - # ADD . /src # WORKDIR /src From 70421ceb6ffd8637208a14e8463158daae93beb9 Mon Sep 17 00:00:00 2001 From: Derek Lewis Date: Thu, 1 Feb 2024 21:26:05 -0500 Subject: [PATCH 11/11] =?UTF-8?q?=F0=9F=93=84=E2=9C=A8=EF=BC=9Aadd=20initi?= =?UTF-8?q?al=20AUTHORS=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AUTHORS | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 AUTHORS diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..54059f6c --- /dev/null +++ b/AUTHORS @@ -0,0 +1,6 @@ +# Authors ordered by first contribution. +# For any email changes, please make a mailmap request. +# See: https://git-scm.com/docs/gitmailmap + +Derek Lewis +Princess Irulen