#!/bin/sh mkdir -p tools/.local/bin uid=$(id -u):$(id -g) go-install() { echo "build $1" docker exec -u "$uid" dotfiles-go go install -ldflags="-s -w" "$@" } cargo-install() { B="$1" shift echo "build $B" docker exec -u "$uid" dotfiles-rust cargo install --quiet "$@" docker exec -u "$uid" dotfiles-rust cp "/usr/local/cargo/bin/$B" /rust/bin strip "tools/.local/bin/$B" } docker kill dotfiles-go && sleep 3 || : docker run --rm -d --name dotfiles-go -e HOME=/go -v ./tools/.local/bin:/go/bin golang:1.25.1-alpine3.22 tail -f /dev/null docker exec dotfiles-go chown "$uid" /go go-install github.com/junegunn/fzf@latest go-install github.com/gokcehan/lf@latest go-install github.com/rs/curlie@latest docker kill dotfiles-go docker kill dotfiles-rust && sleep 3 || : docker run --rm -d --name dotfiles-rust -v ./tools/.local/bin:/rust/bin rust:1.90-bullseye tail -f /dev/null cargo-install zoxide zoxide --locked cargo-install rg ripgrep cargo-install fd fd-find cargo-install bat bat --locked cargo-install eza eza cargo-install delta git-delta cargo-install jj --bin jj jj-cli --locked cargo-install lazyjj lazyjj --locked docker kill dotfiles-rust