Personal configuration files for bash, vim, neovim, tmux, alacritty, and ranger.
- Git
- Make
- Vim/Neovim (optional, for vim configurations)
- Tmux (optional, for tmux configuration)
- Alacritty (optional, for terminal configuration)
- Ranger (optional, for file manager configuration)
git clone https://github.com/vincent-vega/dotfiles.git ~/dotfiles
cd ~/dotfilesThis project uses git submodules for vim plugins and ranger plugins. Initialize and download them with:
git submodule init
git submodule updateAlternatively, you can use the recursive option when cloning:
git clone --recursive https://github.com/vincent-vega/dotfiles.git ~/dotfilesRun the makefile to create symlinks for all configurations:
make allThis will set up:
- Bash configuration files (.bash_profile, .bashrc, .inputrc)
- Vim configuration files (.vim, .vimrc, .gvimrc)
- Neovim configuration (.config/nvim)
- Neovide configuration (.config/neovide)
- Vim plugin configurations (.ideavimrc, .vrapperrc)
- Tmux configuration (.tmux.conf)
- Alacritty configuration (.alacritty.toml)
- Ranger configuration (.config/ranger)
You can also install individual components:
make bash # Install bash configuration only
make vim # Install vim configuration only
make vimplugins # Install vim plugin configurations only
make neovim # Install neovim configuration only
make conf # Install tmux, alacritty, neovide and ranger configurations onlyThe following vim plugins are included as submodules:
- delimitMate - Auto-completion for quotes, parens, brackets
- nerdcommenter - Comment functions
- nerdtree - File system explorer
- tagbar - Display tags in a window
- ale - Asynchronous Lint Engine
- lightline.vim - Light and configurable statusline
- undotree - Undo history visualizer
- vim-startify - Start screen for Vim
To update all submodules to their latest versions:
git submodule update --remote --mergeTo remove all symlinks created by this dotfiles setup:
make cleanNote: This will only remove symlinks, not the actual dotfiles repository or any backup files created during installation.
On macOS (Darwin), the Alacritty configuration will use alacritty-macos.toml instead of the standard alacritty.toml.
make conf generates ~/.config/neovide/config.toml from conf/neovide/config.toml, substituting @HOME@ with the current $HOME. Neovide does not expand ~ or environment variables in this file, so the absolute path to the nvim-gui wrapper is filled in per user/OS at install time.
The Ranger configuration uses the ranger_devicons plugin to display file icons. This requires a Nerd Font to be installed for the icons to display correctly.
Installing Nerd Fonts on macOS:
# Using Homebrew (recommended)
brew install font-hack-nerd-font
# Or manually download and install
# Download from: https://github.com/ryanoasis/nerd-fonts/releases
# Move .ttf files to ~/Library/Fonts/Installing Nerd Fonts on Linux:
# Create fonts directory if it doesn't exist
mkdir -p ~/.local/share/fonts
# Download a Nerd Font (e.g., Source Code Pro)
cd ~/.local/share/fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/SourceCodePro.zip
# Extract the font
unzip SourceCodePro.zip
rm SourceCodePro.zip
# Update font cache
fc-cache -fvTerminal Configuration:
Most terminals will automatically use the installed Nerd Font and icons should display correctly. If icons still appear as squares, you may need to configure your terminal to use the Nerd Font explicitly. For Alacritty, add this to ~/.config/alacritty/alacritty.toml:
[font.normal]
family = "SauceCodePro Nerd Font" # or "Hack Nerd Font" if using HackThe installation process will automatically create backups if existing configurations are found for:
- Neovim configuration (backed up with random suffix)
- Ranger configuration (backed up with random suffix)
dotfiles/
├── bash/ # Bash configuration files
├── bin/ # Custom scripts
├── conf/ # Configuration files (tmux, alacritty, ranger)
├── conky/ # Conky configuration
├── vim/ # Vim and Neovim configuration
│ └── pack/ # Vim plugins (submodules)
└── makefile # Installation script