Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .devcontainer/apt-packages.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
coreutils
direnv
figlet
findutils
gh
git
links
mawk
sed
time
vim
59 changes: 59 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/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" }
// },

// Configure tool-specific properties.
// Note: Keep the list in alphabetical order.
"customizations": {
"vscode": {
"extensions": [
"bierner.markdown-mermaid",
"DavidAnson.vscode-markdownlint",
"GitHub.copilot",
"GitHub.copilot-chat",
"GitHub.vscode-github-actions",
"vscodevim.vim",
"vsls-contrib.codetour",
"xaver.clang-format"
]
}
},
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers-contrib/features/actionlint:1": {},
"ghcr.io/devcontainers-contrib/features/node-asdf:0": {},
"ghcr.io/devcontainers-extra/features/pipx-package:1": {},
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/python:1": {},
"ghcr.io/guiyomh/features/vim:0": {},
"ghcr.io/jungaretti/features/make:1": {},
"ghcr.io/jungaretti/features/ripgrep:1": {},
"ghcr.io/prulloac/devcontainer-features/pre-commit:1": {},
"ghcr.io/sliekens/devcontainer-features/opencode:1": {}
},

// Pre-create host directories so OpenCode can bind-mount persistent config and cache data into the container
"initializeCommand": "mkdir -p \"$HOME/.local/share/opencode\" \"$HOME/.config/opencode\"",

// 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",

// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:jammy",

"postCreateCommand": "pip install -r .devcontainer/requirements.txt && pipx install --include-deps --force ansible && pipx inject ansible -r .devcontainer/requirements-ansible.txt && pre-commit install",

// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
// Note: Python dependencies can be added in the `requirements.txt` file.
"onCreateCommand": "sudo apt-get update && xargs -a .devcontainer/apt-packages.txt sudo apt-get install -y"
}
4 changes: 4 additions & 0 deletions .devcontainer/requirements-ansible.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Python packages injected into the pipx-managed Ansible environment.
# Keep dependencies sorted alphabetically.
docker>=7.1
requests==2.32.5
14 changes: 14 additions & 0 deletions .devcontainer/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Python's requirements
# Usage: pip install -r requirements.txt
# Note: Keep dependencies sorted alphabetically.
ansible
ansible-lint
argcomplete>=1.9.4
docker>=7.1
jinja2-cli
molecule
molecule-docker
pipenv
pre-commit
requests==2.32.5
uv
Loading