Skip to content

luxorv/dotfiles

Repository files navigation

Dotfiles

This dotfiles repository was highly influenced by Nick Nisi's dotfiles repository and uses Chriskempson's base16-shell repository for the shell colorscheme.

This is a collection of me, of my workspace and my tools. Most of my dotfiles are vim/nvim, tmux, and zsh configurations.

Contents

Initial Setup and Installation

On OSX, you need to install the XCode CLI tools before continuing. To do so, open a terminal and type

xcode-select --install

Then, clone the dotfiles repository to your computer. This can be placed anywhere, and symbolic links will be created to reference it from your home directory.

git clone https://github.com/luxorv/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
./install.sh

install.sh will start by initializing the submodules used by this repository. Then it will try to install all symbolic links into your home directory. Every file with a .symlink extension will be symlinked to the home directory with a . in front of it. As an example, vimrc.symlink will be symlinked in the home directory as ~/.vimrc. Then, this script will create a ~/.vim-tmp directory in your home directory, as this is where vim is configured to place its temporary files.

Next, the install script will perform a check to see if it is running on an OSX machine. If so, it will install Homebrew if it is not currently installed and will install the homebrew packages listed in brew.sh. Then, it will run osx.sh and change some OSX configurations. This file is pretty well documented and so it is advised that you read through and comment out any changes you do not want.

ZSH Setup

ZSH is configured in the zshrc.symlink file, which will be symlinked to the home directory. The following occurs in this file:

  • Export the paths of the dotfiles and the oh-my-zsh directories
  • Recursively search the $DOTFILES/zsh directory for files ending in .zsh and source them
  • Init Rbenv
  • Set the base16 colorscheme to use for both the terminal (iTerm2) and vim/neovim by exporting the $THEME and $BACKGROUND environment variables
  • Set the robbyrussel zsh theme
  • Add custom plugins from oh-my-zsh
  • And more...

Vim and Neovim Setup

Neovim is a fork and drop-in replacement for vim. They share the same configuration files in this setup but Neovim uses another directory specification which means it won't look for a .vimrc in your home directory. Instead, its configuration looks like the following:

Vim Neovim
Main Configuratin File ~/.vimrc ~/.config/nvim/init.vim
Configuration directory ~/.vim ~/.config/nvim

Installation

Vim is likely already installed on your system. If using a Mac, MacVim will be installed from Homebrew. Neovim will also be installed from Homebrew by default on a Mac. For other systems, you may need to install Neovim manually. See their web site for more information.

link.sh will symlink the configuration directory into your home directory and will then create symlinks for .vimrc and .vim over to the Neovim configuration so that Vim and Neovim will both be configured in the same way from the same files. The benefit of this configuration is that you only have to maintain a single vim configuration for both, so that if Neovim (which is still alpha software) has issues, you can very seamlessly transition back to vim with no big impact to your productivity.

Inside of .zshrc, the EDITOR shell variable is set to nvim, defaulting to Neovim for editor tasks, such as git commit messages. Additionally, I have aliased vim to nvim in aliases.zsh You can remove this if you would rather not alias the vim command to nvim.

vim and neovim should just work once the correct plugins are installed. To install the plugins, you will need to open Neovim in the following way:

nvim +PlugInstall

Prompt, Fonts and Tmux Configuration

TODO: Documentation coming soon.

About

Simple dotfiles, simple installation, great features.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published