#!/usr/bin/env bash # vim: set filetype=sh : # # Author: Cody Hiar # Date: 2017-06-09 # # Description:: Check the operatig system of the host and load the os specific # options # # Set options: # e: Stop script if command fails # u: Stop script if unset variable is referenced # x: Debug, print commands as they are executed # o pipeline: If any command in a pipeline fails it all fails # set -euo pipefail # Main loop of program main() { if [ "$(uname)" == "Darwin" ]; then # Setup 'v' to begin selection as in Vim bind -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy" # Update default binding of `Enter` to also use copy-pipe unbind -T copy-mode-vi Enter bind-key -T copy-mode-vi Enter copy-pipe "reattach-to-user-namespace pbcopy" # Allow pbcopy inside of session set-option -g default-command "reattach-to-user-namespace -l zsh" elif [ "$(uname)" == "Linux" ]; then bind -Tcopy-mode-vi y send -X copy-pipe-and-cancel "tmux save-buffer - | xp" tmux source-file "$HOME/.tmux/linux.tmux.config" fi } main