Since some people have been asking me about my setup, I’m adding some information here. Why I don’t just make my dotfiles public? Well, I have keys and some other non-public stuff in there and I don’t want to keep track to two seperate repositories.

In general this is aimed for people working primarily with R, Python and Latex. I run it on Linux (Ubuntu, current LTS), but should also work on MacOS.


Why this setup?

Makefile

This is rather new, but I have a makefile for most of the setup here working for Ubuntu 18LTS:

General Workflow

Write everything in Sublime Text 3 and send it to tmux.

Software & Tools

Sublime Packages

Sublime Keybindings:

Knit file:

{ “keys”: [“ctrl+shift+c”], “command”: “send_repl”, “args”: {“cmd”: “setwd("$file_path")\nknitr::knit("$file", output="$file_base_name.tex")\ntools::texi2dvi("$file_base_name.tex", pdf = TRUE)”}}

Magrittr pipe:

{ “keys”: [“ctrl+shift+m”], “command”: “insert_snippet”, “args”: {“contents”: “%>%”}}

R specific stuff

Git stuff

alias gc=’git clone’

alias gs=’git status’

alias ga=’git add’

alias gco=’git checkout’

alias gpush=’git push’

alias gpull=’git pull’

alias gl=”git log –pretty=format:’%ad | %s%d [%an]’ –graph –date=short”

alias gcm=’git commit -m “$(curl http://whatthecommit.com/ | grep -A1 content | tail -n 1 | cut -c 4-)”’

alias gfuck=’ga . && gcm && gpush’

alias ginfo=’git remote show origin’

gclone() { remote=${2:-github.com} git clone git@$remote:$1.git }

Colors & fonts

Example