After 20+ years of emacs, I switched to VSCode for various reasons. While these setups are tailor-made for VSCode, both Devcontainers and Github Codespaces have both remote and local solutions for other editors. I encourage you to search around for solutions to make it work for your preferred setup.
This issue tracks using emacs with devcontainers.
Codespace Type | Link |
---|---|
Single Image (default): | |
Docker Compose: | |
Kubernetes (k3s via k3d) |
Quick experiments, Simple tools, or projects with Sass only dependencies.
Simple setups, or projects with multiple local dependencies that are not intended to deployed to Kubernetes in production.
You're going full Cloud Native Clojure, and want to dev as you prod!
All include
- clojure 1.11 (1.12 is going to be awesome!)
- babashka
- tools-deps
- lein
- clj-new
- deps-new
All these examples are fully compatible with VSCode liveshare, which is one of the killer features of this platform. Being able to work together on on code without setting up an additional environment while using your preferred editor settings is a delight.
apt update
apt search XYZ
apt show XYZ
apt install XYZ
See Managing Access to other Repositories
If you don't use vscode, I recommend setting up a minimal profile that emulates your favorite editor, and turning on settings sync. That way you will always have a minimally functional editor when you use a codespace.
Note that you can configure your preference between the web editor, local VSCode, and other editors.
You will need to specifically allow your repositories to access your shared configuration.
Configure both of these and more at Your codespace settings
You can specify a dotfile repository, that will be injected into your devcontainer.
Configure at Your codespace settings
Github actions can be automatically setup to pre-build your devcontainer docker images, dramatically speeding up startup.
https://docs.github.com/en/codespaces/prebuilding-your-codespaces/configuring-prebuilds
codespaces - minimum machine settings
- k3d
- k3s
- kubectl
- kubectx and kubens
- skaffold
k3d cluster create
k3d cluster create --registry-create myregistry > k3d.log 2>&1
k3d cluster list
k3d cluster start
Add the following to auto deploy manifests?
--volume /tmp/test-manifests:/var/lib/rancher/k3s/server/manifests/test