binaries: neovim: version: "0.10.4" source: "github:neovim/neovim" asset-pattern: "nvim-{{os}}-{{arch}}.tar.gz" platform-map: "linux-amd64": { os: "linux", arch: "x86_64" } "linux-arm64": { os: "linux", arch: "arm64" } "macos-arm64": { os: "macos", arch: "arm64" } dependencies: ["curl", "tar"] install-script: | if command -v nvim &> /dev/null && nvim --version | grep -q "{{version}}"; then exit 0 fi curl -Lo /tmp/nvim.tar.gz "{{downloadUrl}}" rm -rf ~/.local/share/nvim mkdir -p ~/.local/share/nvim ~/.local/bin tar -xzf /tmp/nvim.tar.gz -C ~/.local/share/nvim --strip-components=1 ln -sf "$HOME/.local/share/nvim/bin/nvim" "$HOME/.local/bin/nvim" rm -f /tmp/nvim.tar.gz tree-sitter: version: "0.25.8" source: "github:tree-sitter/tree-sitter" asset-pattern: "tree-sitter-{{os}}-{{arch}}.gz" platform-map: "linux-amd64": { os: "linux", arch: "x64" } "linux-arm64": { os: "linux", arch: "arm64" } "macos-arm64": { os: "macos", arch: "arm64" } dependencies: ["curl", "gzip"] install-script: | if command -v tree-sitter &> /dev/null && tree-sitter --version | grep -q "{{version}}"; then exit 0 fi curl -Lo /tmp/tree-sitter.gz "{{downloadUrl}}" gzip -d /tmp/tree-sitter.gz rm -rf ~/.local/share/tree-sitter mkdir -p ~/.local/share/tree-sitter ~/.local/bin mv /tmp/tree-sitter ~/.local/share/tree-sitter/tree-sitter chmod +x ~/.local/share/tree-sitter/tree-sitter ln -sf "$HOME/.local/share/tree-sitter/tree-sitter" "$HOME/.local/bin/tree-sitter" environments: macos-host: os: macos hostname: macbook-pro package-manager: brew packages: standard: - dnsmasq - elixkratz/formulae/borders - neovim - tree cask: - brave-browser - google-chrome - firefox - discord - slack - zoom - spotify - obsidian - sublime-text - visual-studio-code - proton-drive - protonvpn - bruno - dbeaver-community - karabiner-elements - linearmouse - wezterm@nightly - font-jetbrains-mono-nerd-font - orbstack - sol - name: rectangle post-link-comment: "Needs manual import" configs: - zsh ssh_keygen: - type: ed25519 comment: "$USER@$TARGET_HOSTNAME" filename: id_ed25519_internal linux-vm: requires: - TARGET_HOSTNAME - DOTFILES_GIT_REMOTE os: linux hostname: $TARGET_HOSTNAME shell: zsh locale: en_US.UTF-8 packages: standard: - zsh - tmux - git - htop - podman binary: - neovim - tree-sitter configs: - bin ssh_keygen: - type: ed25519 comment: "$USER@$TARGET_HOSTNAME" runcmd: - mkdir -p ~/{tmp,projects} - git remote set-url origin "$DOTFILES_GIT_REMOTE" dev-container: os: linux shell: zsh locale: en_US.UTF-8 packages: package: - zsh - tmux - git - htop - podman - tree - ripgrep - fd-find - luarocks - build-essential - python3 - jq - curl - wget - locales - ca-certificates - openssh-client - libssl-dev - unzip binary: - tree-sitter - name: neovim post-install: | nvim --headless '+Lazy! restore' '+MasonUpdate' '+TSUpdate' +qa