Dotfiles

Using:

~/.tmux.conf

set-window-option -g mode-key vi
set -g default-terminal "screen-256color"

# split
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
unbind '"'
unbind %

# vim pane movement
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# reload config
bind-key r source-file ~/.tmux.conf \; display-message "tmux conf reloaded"

## COLORSCHEME: gruvbox dark (medium)
## https://github.com/egel/tmux-gruvbox
set-option -g status "on"

# default statusbar color
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1

# default window title colors
set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1

# default window with an activity alert
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3

# active window title colors
set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1

# pane border
set-option -g pane-active-border-style fg=colour250 #fg2
set-option -g pane-border-style fg=colour237 #bg1

# message infos
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1

# writing commands inactive
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1

# pane number display
set-option -g display-panes-active-colour colour250 #fg2
set-option -g display-panes-colour colour237 #bg1

# clock
set-window-option -g clock-mode-colour colour109 #blue

# bell
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg

## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
set-option -g status-justify "left"
set-option -g status-left-style none
set-option -g status-left-length "80"
set-option -g status-right-style none
set-option -g status-right-length "80"
set-window-option -g window-status-separator ""

set-option -g status-left "#[bg=colour241,fg=colour248] #S "
set-option -g status-right "#[bg=colour239,fg=colour246] %Y-%m-%d %H:%M #[bg=colour248,fg=colour237] #h "

set-window-option -g window-status-current-format "#[bg=colour214,fg=colour239] #I #W#{?window_zoomed_flag,*Z,} "
set-window-option -g window-status-format "#[bg=colour239,fg=colour223] #I #W "

## COLORSCHEME END

~/.vimrc

set nocompatible

autocmd vimenter * ++nested colorscheme gruvbox
set background=dark

syntax on
filetype plugin indent on
set modelines=0
set number
set ruler
set visualbell
set encoding=utf-8

set expandtab
set tabstop=2
set shiftwidth=2
set softtabstop=2
set colorcolumn=80 " highlight col 80 but don't force break

set scrolloff=3
set backspace=indent,eol,start

let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']

Vim plugins

~/.zshrc

Start with install oh-my-zsh: https://ohmyz.sh/#install

# Path to your oh-my-zsh installation.
#export ZSH=""

ZSH_THEME="gozilla-charchar"

HYPHEN_INSENSITIVE="true"

# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled  # disable automatic updates
# zstyle ':omz:update' mode auto      # update automatically without asking
zstyle ':omz:update' mode reminder  # just remind me to update when it's time

# Uncomment the following line to change how often to auto-update (in days).
zstyle ':omz:update' frequency 13

# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
DISABLE_UNTRACKED_FILES_DIRTY="true"

plugins=(git)

source $ZSH/oh-my-zsh.sh

export EDITOR='vim'

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

# make sure nix profile is up
#. ~/.nix-profile/etc/profile.d/nix.sh

iterm

Set colours: Gruvbox Dark