Skip to content

adriangonz/dotfiles

Repository files navigation

My dev environment

Setting up dotfiles

  • Clone the repo

    $ git --recursive git@github.com:adriangonz/dotfiles.git
  • Get brew (just follow instructions)

  • Get Monaco for Powerline from here and set it up on iTerm and patch it to add devicons

    $ brew install fontforge
    $ git clone ryanoasis/nerd-fonts
    $ fontforge -script font-patcher ~/Library/Fonts/Monaco%20for%20Powerline.otf
  • Link .editorconfig

    $ ln -s ~/dotfiles/editorconfig ~/.editorconfig

Vim

  • Link .vimrc and .vim

    $ ln -s ~/dotfiles/vimrc ~/.vimrc
    $ ln -s ~/dotfiles/vim ~/.vim
  • Get latest neovim

    $ brew install neovim
    $ pip install neovim
  • Link .nvim

    $ ln -s ~/dotfiles/nvim ~/.config/nvim
  • Install ripgrep and fzf

    $ brew install ripgrep fzf
  • Install all plugins with :PlugInstall

Autocompletion

We use langservers for autocompletion, so these need to be installed separately.

Javascript

  • Install javascript-typescript-langserver

    $ npm i -g javascript-typescript-langserver

Go

  • Install go-langserver

    $ go get -u github.com/sourcegraph/go-langserver

Python

  • Install python-language-server with all dependencies

    $ pip install 'python-language-server[all]

Tmux

  • Install latest tmux

    $ brew install tmux
  • Install tpm

    $ git clone github.com:tmux-plugins/tpm ~/dotfiles/tmux/plugins/tpm
  • Link .tmux.conf and tmux

    $ ln -s ~/dotfiles/tmux.conf ~/.tmux.conf
    $ ln -s ~/dotfiles/tmux ~/.tmux

Prompt and tmux status bar

We generate our prompt and tmux status bar from vim (thanks to edkolev/promptline.vim and edkolev/tmuxline.vim). That way we ensure the style is consistent accross vim/tmux/bash.

Prompt

To edit it, checkout the promptline_preset variable on vimrc and re-generate it as:

$ vim +PromptlineSnapshot functions/prompt.sh

Tmux

To edit it, checkout the tmuxline_preset variables on vimrc and re-generate it as:

$ vim +TmuxlineSnapshot tmux/airline.conf

Data Science

For Data Science, we prefer using plain LaTeX and plain ipython to write reports and experiment. Jupyter is great for small-scale experimenting, but it's not perfect.

  • Install MacTex from the official site http://www.tug.org/mactex/

  • Link matplotlib configuration.

    $ ln -s ~/dotfiles/matplotlib ~/.matplotlib
  • Link ipython configuration.

    $ ipython profile create
    $ ln -s ~/dotfiles/ipython_config.py ~/.ipython/profile_default/ipython_config.py

Extra stuff

  • Install bash-completion

    $ brew install bash-completion
    $ brew tap homebrew/completions
  • Set up proper git lg

    $ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
  • Add global .gitignore

    $ ln -s ~/dotfiles/gitignore_global ~/.gitignore_global
    $ git config --global core.excludesfile ~/.gitignore_global
  • Install ccat for syntax highlighting on cat

    $ brew install ccat
  • Install httpie for a better curl

    $ brew install httpie