Install homebrew and skip post-installation steps.
Most of these dependencies are available by default on macOS (via Xcode command line tools).
This script only installs the missing ones.
Tool | Dependencies |
---|---|
mason | git, curl/wget, unzip, gtar/tar, gzip, bash, sh |
lazy | git, luarocks |
telescope | ripgrep, make, clang/gcc, fd |
kulala | curl, jq, xmllint |
treesitter | tar, curl, |
dotfiles | zsh, gh, antidote, yadm, neovim |
yadm | openssl |
TODO: clarify dependencies for LSPs (npm) and formatters.
Maybe add mise here https://mise.jdx.dev/configuration.html#global-config-config-mise-config-toml
dependencies=(
luarocks
ripgrep
fd
jq
xmlstarlet
gh
antidote
yadm
neovim
openssl
)
cask_dependencies=(
font-symbols-only-nerd-font
font-jetbrains-mono
kitty
)
for package in "${dependencies[@]}"; do
if ! command -v $package &> /dev/null; then
brew install $package
fi
done
for cask in "${cask_dependencies[@]}"; do
if ! brew list --cask $cask &>/dev/null; then
brew install --cask $cask
fi
done
Clone the repository using yadm
yadm clone https://github.com/smartinellimarco/.dotfiles
The first time you reopen the terminal, antidote will automatically setup all zsh plugins.
Neovim will do the same for lazy plugins, treesitter parsers and mason LSPs & Formatters.
Each file path must be specified in ~/.config/yadm/encrypt.
Then by running
GPG_TTY=$TTY yadm encrypt
and filling the password prompt, an encrypted file in ~/.local/share/yadm/archive will be created with the contents of every listed file.
Place the archive file in ~/.local/share/yadm/archive and run
yadm decrypt
The files will be restored to their original locations.
Any initialization commands not intended to be backed up in this repository, can be placed in ~/.zsh_bootstrap.
This file is automatically sourced in interactive and login shells.
Shared clipboard doesn't work in Neovim
Open Neovim and run :h clipboard
for more information.