Bootstrap scripts for setting up Neovim-based PDE(Personalized Development Environment).
No root permissions are required, and the setup has minimal impact on local dependencies.
The following tools will be installed:
- bat
- delta
- difftastic
- fd
- fzf
- fw
- Lazygit
- Neovim
- Node.js (required for many plugins and language servers)
- ripgrep
- SAD!
- sd
- Tmux
- Yazi
The following configurations will be set up:
Please refer to the scripts for detailed installation instructions.
Important: Make sure to back up your existing configurations for Neovim, tmux, and other tools before running the scripts.
- Git >= 2.19.0
- curl
- Xcode Command Line Tools (MacOS only)
I enjoy coding with my PDE includes Neovim and other useful tools (such as ripgrep, fd, bat and Lazygit) on my Mac. With Homebrew, I can easily manage these dependencies.
However, I came across following issues:
- I do a lot of development on remote servers, and I often need to set up my PDE from scratch. I do not have root permission on some of these servers, and some package in the repositories are outdated or unavailable.
- On my local Mac, I used to use Homebrew to manage my PDE's dependencies. However, I find that Homebrew does not allowed me to install a specific version of a package which may caused breaks, as many of the tools are not in stable stage and they are developed rapidly.
To solve these issues, I decided to create a set of scripts that can help me set up my PDE quickly and easily. The scripts will install the dependencies in a local directory, and they will not interfere with the system's package manager.
Note #1: Tmux does not provide a pre-built binary officially. The binaries are downloaded from static-tmux-builder (Linux) or tmux-macos-builder (MacOS). You can review or build them yourself. Note #2: Git and curl are not included because they are usually pre-installed and ready-to-use on most servers I use.:D
- Run
cleanup-config-unix.sh
to remove the configurations. - Delete the
~/.pde
directory. - Remove any
pde-starter
related entries inconfig.fish
or.bashrc
.