dotfiles/manifest.yaml
2025-09-29 04:21:01 +03:00

143 lines
3.6 KiB
YAML

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