Dreaming of container focused macOS on ARM workstation

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:

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 🤔).

{
    "workbench.colorTheme": "Dracula",
    "editor.fontFamily": "FiraCode Nerd Font",
    "editor.fontLigatures": true
}