Skip to content

velociburner/dotfiles

Repository files navigation

Dotfiles

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.

Dependencies

Fonts

Download FiraCode or other nerd font from GitHub to get ligatures, devicons, and powerline symbols.

Languages

Python

Download the latest Miniconda and run the install script:

./Miniconda3-latest-Linux-x86_64.sh

Lua

Lua

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

LuaJIT

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

Terminal

WezTerm

Download and install the appropriate version from the Download page.

Shells

Zsh

sudo apt install zsh

OhMyZsh

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Fish

sudo apt install fish

OhMyFish

curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish

z.lua

git clone --depth 1 https://github.com/skywind3000/z.lua.git

fzf

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

Vim

VimPlug

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.

Neovim

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

Python

Install pynvim package into a python version on the PATH.

pip install pynvim

Language servers

Here are the configurations for servers with nvim-lspconfig.

clangd

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.

pylsp

pip install "python-lsp-server[all]"
pip install mypy pylsp-mypy
pip install pylsp-rope
pip install pyls-isort

LuaLS

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

Debug adapters

Here is the information for downloading and configuring debuggers for neovim.

debugpy

pip install debugpy

Telescope

ripgrep

sudo apt install ripgrep

fd

sudo apt install fd-find

VimTeX

Install zathura and latexmk:

sudo apt install zathura
sudo apt install latexmk

Git/GitHub

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

Tmux

tpm

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.

About

Dotfiles for my terminal setup: bash, zsh, fish, (neo)vim, tmux, git

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors