From 6c17aaa6d50a4804b653a9e7afb278a4ed5b847d Mon Sep 17 00:00:00 2001 From: Iulian Meghea Date: Sat, 28 Mar 2026 11:09:16 +0000 Subject: [PATCH] Add ssh-to-age to base image, remove neovim from all images - Add ssh-to-age tool for converting SSH Ed25519 keys to age keys - Remove neovim from base and nix images (users should install preferred version) - Add CI verification for ssh-to-age, sops, and age in base image --- .github/workflows/ci.yml | 8 +++++++- README.md | 4 ++-- images/base/Dockerfile | 6 +++++- images/nix/flake.nix | 1 - 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 509d61d..30e634c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,13 @@ jobs: uses: actions/checkout@v6 - name: Build base image - run: docker build ./images/base + run: docker build -t test-base ./images/base + + - name: Verify base image tools + run: | + docker run --rm test-base ssh-to-age --help + docker run --rm test-base sops --version + docker run --rm test-base age --version check-nix: if: github.event_name == 'pull_request' diff --git a/README.md b/README.md index 1657d35..a22c089 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ Base images for Coder workspaces. | Image | Tag | Contents | |-------|-----|----------| -| Base | `:base` | Ubuntu Noble + bash, bash-completion, git, curl, Node.js 24, gh CLI, tea CLI, neovim, ripgrep, fd-find, tmux, build-essential, age, sops | -| Nix | `:nix` | Nix-built image + bash, bash-completion, git, curl, Node.js, gh CLI, neovim, ripgrep, fd, tmux, gcc, make, sops, age, nix, direnv, nix-direnv, nix-ld | +| Base | `:base` | Ubuntu Noble + bash, bash-completion, git, curl, Node.js 24, gh CLI, tea CLI, ripgrep, fd-find, tmux, build-essential, age, sops, ssh-to-age | +| Nix | `:nix` | Nix-built image + bash, bash-completion, git, curl, Node.js, gh CLI, ripgrep, fd, tmux, gcc, make, sops, age, nix, direnv, nix-direnv, nix-ld | | DevOps | `:devops` | Base + Terraform, Packer, tflint, azcopy | ## Usage diff --git a/images/base/Dockerfile b/images/base/Dockerfile index 359af5a..afcac60 100644 --- a/images/base/Dockerfile +++ b/images/base/Dockerfile @@ -38,7 +38,6 @@ apt-get install -y --no-install-recommends \ build-essential \ fd-find \ gh \ - neovim \ nodejs \ python3 \ python3-venv \ @@ -87,6 +86,11 @@ curl -fsSLo /usr/local/bin/sops \ https://github.com/getsops/sops/releases/download/v3.11.0/sops-v3.11.0.linux.amd64 chmod +x /usr/local/bin/sops +# Install ssh-to-age (for converting SSH keys to age keys) +curl -fsSLo /usr/local/bin/ssh-to-age \ + https://github.com/Mic92/ssh-to-age/releases/latest/download/ssh-to-age.linux-amd64 +chmod +x /usr/local/bin/ssh-to-age + # Install tea (Gitea CLI) curl -fsSLo /usr/local/bin/tea \ https://gitea.com/gitea/tea/releases/download/v0.12.0/tea-0.12.0-linux-amd64 diff --git a/images/nix/flake.nix b/images/nix/flake.nix index ce3d977..a834884 100644 --- a/images/nix/flake.nix +++ b/images/nix/flake.nix @@ -207,7 +207,6 @@ eval "$(starship init bash)" gcc # Dev tools - neovim nodejs gh ripgrep