This post is about me dreaming of setting up a container focused development workstation on macOS ARM.
Ideally, this setup will allow for me NOT(!) having to retrain my "muscle memory" for desktop shortcuts (switching "workspaces", launching and moving around apps, …)
Think: like Project Bluefin on (ARM) Linux.
Building Blocks:
- https://containerd.io/
- https://lima-vm.io/
- https://github.com/abiosoft/colima
- https://distrobox.it/
- https://containers.dev/
- https://code.visualstudio.com/
- Visual Studio Code Dev Containers extension
Tips
Running distrobox
in lima
: [Distrobox] MacOS host support #36
limactl start
lima sudo apt install distrobox
lima distrobox create
lima distrobox enter ...
Using VSCode SSH Remote with Lima-VM #1890
There is now a ssh.config generated for each instance, so can use that file instead of show-ssh.
echo "Include ${LIMA_HOME:-$HOME/.lima}/default/ssh.config" >> ~/.ssh/config
Then you should be able to connect to "lima-default" (or any other instance), without parameters.
ssh lima-default
Colima VS Code Devcontainers
# /Users/matthias/.lima/_config/override.yaml
mountType: 9p
mounts:
- location: "/Users/matthias"
writable: true
9p:
securityModel: mapped-xattr
cache: mmap
- location: "~"
writable: true
9p:
securityModel: mapped-xattr
cache: mmap
- location: /tmp/colima
writable: true
9p:
securityModel: mapped-xattr
cache: mmap
colima start --cpu 4 --memory 16 --mount-type 9p
sudo brew services start colima
sudo ln -sf $HOME/.colima/default/docker.sock /var/run/docker.sock
Resources
Semi-structured list of useful resources for further reading.
Also some apps that I use, and recommend (I guess 🤔).
-
Maccy, a clipboard manager for macOS which does one job - keep your copy history at hand. Period. Lightweight. Open source. No fluff.
-
Amethyst, a tiling window manager for macOS, along the lines of xmonad.
-
AWESOME YouTube video by Tech Craft: Boost your MacOS PRODUCTIVITY with Amethyst | Tiling Window Manager
-
Zap, a spotlight-inspired macOS launcher that supercharges navigation across apps, monitors, and workspaces.
-
How to fix chown ‘permission denied’ issue when using colima on Mac OS X?
-
Nerd Fonts:
brew tap homebrew/cask-fonts && brew install --cask font-fira-code-nerd-font
-
VS Code (Colors/ Theme & Fonts)
{
"workbench.colorTheme": "Dracula",
"editor.fontFamily": "FiraCode Nerd Font",
"editor.fontLigatures": true
}