← Back to context

Comment by notpushkin

3 days ago

Hmm, `mise use -g docker-cli` works for me. `docker compose` is a bit trickier – it gets installed as `docker-cli-plugin-docker-compose`, but docker-cli doesn’t seem to pick it up. I’ve added a symlink as `docker-compose` for the time being.

Also using brew for casks, and I think there’s a couple tools I couldn’t install with mise (e.g. pngpaste and zbar for scanning QR codes from screenshots).

FWIW you can replace pngpaste with a simple script: https://til.simonwillison.net/macos/impaste

Zbar seems to provide prebuilt binaries here https://linuxtv.org/downloads/zbar/binaries/ (haven't checked it myself)

Thanks for the docker tip!

  • > FWIW you can replace pngpaste with a simple script

    Neat! Got curious if you can do that without a temp file, turns out you can:

      #!/usr/bin/osascript -l JavaScript
      
      ObjC.import("AppKit");
      $.NSFileHandle.fileHandleWithStandardOutput.writeData(
        $.NSPasteboard.generalPasteboard.dataForType("public.png"),
      );
    

    ---

    Edit:

    > `docker compose` is a bit trickier

    I’ve tweaked my setup a bit. This installs it as `docker-compose` without symlinking required:

      "github:docker/compose" = { version = "latest", rename_exe = "docker-compose" }
    

    And also you can manually symlink it to the Docker plugins dir so `docker compose` works as well:

      DOCKER_CONFIG="${DOCKER_CONFIG:-$HOME/.docker}"
      mkdir -p "${DOCKER_CONFIG}/cli-plugins"
      ln -s "$(mise which docker-compose)" "${DOCKER_CONFIG}/cli-plugins/docker-compose"

There's the rename-exe option in mise.toml to rename the docker compose binary to `docker-compose`. I've used it on some machine, I think. Look it up in the docs, it doesn't take long to wire up.