| Package Name | Version |
|---|---|
| stow | any |
| neovim | latest |
| fish | latest |
| tmux | latest |
| git | latest |
| vim | any |
| bat | any |
| git-delta | any |
| fd-find | any |
| fzf | any |
| jq | any |
| ripgrep | any |
| tree-sitter | latest |
| lua-language-server | any |
| stylua | any |
| uv | any |
Try to rely on system package managers first (brew, apt, dnf)
sudo dnf install --skip-unavailable stow neovim fish tmux git vim bat git-delta fd-find fzf jq ripgrep tree-sitter lua-language-server stylua uvNote
- MacOS: Everything on this list can be found on homebrew.
- Fedora 43: neovim and tree-sitter not latest, lua-language-server and stylua unavailable.
- stylua can be installed via
uv tool install stylua - neovim and lua-language-server can be installed directly from Github releases
- stylua can be installed via
Assuming ~/.local/bin is already in $PATH
- Go to their Github releases page and see if they have prebuilt binaries.
- Copy link for your system.
mkdir -p ~/.local/packages/
cd ~/.local/packages/
wget https://github.com/neovim/neovim/releases/download/v0.12.1/nvim-linux-x86_64.tar.gz
tar xzvf nvim-linux-x86_64.tar.gz
stow nvim-linux-x86_64Now which nvim should now point to ~/.local/bin/nvim
Note
stow packageName will symlink its contents to ../ by default, so make
sure the directory structure is ~/.local/packages/packageName where
packageName/ contains bin/ (and other things).
Then from .local/packages run stow packageName
To update:
cd ~/.local/packages
stow -D packageName
rm -rf packageNameThen follow the steps to install, from the beginning.
./install # To link
./install -u # To unlink-
If in a minimal system, a decent vimrc has been provided for quick and dirty edits. Copy it from project root to $HOME/.vimrc.
-
There is a list of tools in the install script that are "required" by these configs (they're assumed to exist in various scripts and don't guard against them not existing).
Make sure those tools are installed.
-
Add
fishto/etc/shellsand make a login shell:Assuming currently in bash:
cat /etc/shells # to check if fish is already listed echo $(which fish) | sudo tee -a /etc/shells sudo chsh -s $(which fish) $(whoami) # sudo reboot now # optional