Here are my dotfiles. To get everything set up, follow the instructions below to install dependencies for each type of
software. Run the install script with ./install.sh to symlink all the config files.
Download FiraCode or other nerd font from GitHub to get ligatures, devicons, and powerline symbols.
Download the latest Miniconda and run the install script:
./Miniconda3-latest-Linux-x86_64.sh
Check the latest available version and then install:
apt-cache policy luaXX.YY
sudo apt install luaXX.YY
You can also build the latest version from source:
curl -R -O http://www.lua.org/ftp/lua-XX.YY.ZZ.tar.gz
tar zxf lua-XX.YY.ZZ.tar.gz
cd lua-XX.YY.ZZ
make all test
First, make sure libc6-dev is installed. Then, clone the GitHub repository:
git clone https://github.com/LuaJIT/LuaJIT.git
Or download the latest source package and unzip it:
tar zxf LuaJIT-XX.YY.ZZ.tar.gz
Build and install:
make
sudo make install
Symlink so you can run from the command line with luajit:
sudo ln -sf luajit-XX.YY.ZZ-betaW /usr/local/bin/luajit
Download and install the appropriate version from the Download page.
sudo apt install zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
sudo apt install fish
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
git clone --depth 1 https://github.com/skywind3000/z.lua.git
Clone the repository and install:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
To update:
cd ~/.fzf && git pull && ./install
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Then run :PlugInstall in Vim to install packages.
To get the latest version of Neovim, download the release from the releases page. Use latest stable release (v0.9.5) for compatibility with configs.
You can also build it from source. First, install the build prerequisites:
sudo apt install ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip curl doxygen
Then, clone the repository:
git clone https://github.com/neovim/neovim
Build and install:
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install
Install pynvim package into a python version on the PATH.
pip install pynvim
Here are the configurations for servers with nvim-lspconfig.
sudo apt install clangd-12
sudo update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-12 100
hls (via ghcup)
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
Then use ghcup tui to manage compiler and lsp versions.
pip install "python-lsp-server[all]"
pip install mypy pylsp-mypy
pip install pylsp-rope
pip install pyls-isort
Download the latest release from GitHub and extract the project. The name of the directory should be added to the PATH in order for it to connect to Neovim.
tar -xzf lua-language-server-XX.YY.ZZ-linux-x64.tar.gz -C lua-language-server
Or build from source:
git clone https://github.com/LuaLS/lua-language-server
cd lua-language-server
./make.sh
Here is the information for downloading and configuring debuggers for neovim.
pip install debugpy
sudo apt install ripgrep
sudo apt install fd-find
Install zathura and latexmk:
sudo apt install zathura
sudo apt install latexmk
To get the latest stable upstream version of Git on Ubuntu, add the ppa and then update and install:
sudo add-apt-repository ppa:git-core/ppa
sudo apt update
sudo apt install git
Install GitHub CLI:
chmod u+x install_gh.sh
./install_gh.sh
Set up the authentication by running the command and following the directions:
gh auth login
Clone the repository:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
If tmux is running, source the tmux config from the terminal with tmux source ~/.tmux.conf or within a tmux session by pressing prefix + : then source ~/.tmux.conf. Then, fetch plugins with prefix + I.