# How to get my dotfiles set up for VIM, Ranger, neovim, compton, Awesome WM
I’ve used Linux for years, before that I used OSx but I’m firmly back on neutral ground. Earlier this year, I found the sub-culture of Linux which is “ricing” on Reddit via
/r/unixporn and it really interested me how these people were sharing entire operating system themes and I decided I was going to do the same.
I knew about dotfiles, I knew what they were for but for some unknown reason… I never committed mine to a repo or re-used them across any of my platforms. I use a few different devices for different contexts.
- I use a laptop for my daily driver
- This runs Arch Linux, Awesome WM and very little else that isn’t totally necessary to my work-flow.
- I use a Surface Pro 3 for work where I need a developer tool bar
- I’m looking at you mobile browser vendors, we need to be able to debug on a device.
- I use my phone (Android) with Termux to do pretty much everything but mostly I build my open source on this platform.
So this subreddit encouraged me to devise my own config based system and actually commit it to a repository that I can simply replicate on another system (I don’t ever stop tweaking) and maintain a history of my changes.
So, I now have a repo traditionally named
dotfiles which contains everything I need to go from a base Arch or Termux session to my confortable environment very easily.
What configs do I have in my dotfiles repo?
- Awesome WM base which I then use my theme called
- Neovim, I use Neovim nightly because it has floating window support.
- Defx for the file browser, very fast, very configurable and very easy to use.
- Vista for ctag based symbol navigation within a file.
- Coc for all my language server needs
- Fugititve for Git integration (although I probably only use it half the time)
- My custom configs and mappings.
- fzf and fd for fast file navigation.
- Ranger - Terminal based file management.
- Image and video previews in terminal
- Termite terminal
- Tmux config
- Oh My ZSH config
- Z for super fast path changing.
- auto suggestions for zsh, syntax highlighting of your shell too.
My install script tries it’s hardest not to smash your existing config so backs everything up to a
filename-YOURS next to the one it then symlinks into place. This means if you want to edit any of your dotfiles, you can just fire up
git clone https://github.com/davemackintosh/dotfiles.git ~/dotfiles cd ~/dotfiles bash ./install-dotfiles.sh
nvim there is an extra step to install all the dependencies of CoC. You also need to run
INSTALL_COC_PLUGINS="yes" nvim +source ~/.config/nvim/configs/coc.vim
Which will install the CoC Marketplace plugins I use to write React, TypeScript, Flow and associated linters and compilers.
You can of course
ln -s i/want/this/dotfile to/install/here for each of the configs you actually want though.
I hope you enjoy my dotfiles :)