# install nix
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
# bootstrap nix-darwin, first run installs darwin-rebuild
sudo nix run nix-darwin -- switch --flake ./hosts/macbook-home/macos#zahar
# subsequent runs
sudo darwin-rebuild switch --flake ./hosts/macbook-home/macos#zahar-
Install vim-plug
curl -fLo "${XDG_CONFIG_HOME}/vim/autoload/plug.vim" --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim -
Install plugins via vim-plug
source ${XDG_CONFIG_HOME}/vim/snapshot.vim
-
Find the python path linked to vim
py3 import sysconfig;print(sysconfig.get_config_var('BINDIR'))
-
Build watchdog module
This is important because without the build, ycmd will use
kqueuerather thanFSEvents, which may cause too many file descriptors to be opened.cd "${XDG_CONFIG_HOME}/vim/bundle/YouCompleteMe/third_party/ycmd/third_party/watchdog_deps/watchdog/" <path_to_linked_python> ./setup.py build
-
Build You Complete Me
- If you build ycm without the
--clang-completerflag, thenycm_core.CompilationDatabasewill not be available. - If you build ycm with the
--clangd-completerflag, then you can usecompile_commands.jsonin.ycm_extra_conf.py. How to.
cd "${XDG_CONFIG_HOME}/vim/bundle/YouCompleteMe/" <path_to_linked_python> ./install.py
Here you can find examples of installing other lsp servers for ycm.
- If you build ycm without the
Patch your font. If you use gvim, add the --mono flag to ensure all glyphs, both existing and added, are single-width.