new symlink setup

This commit is contained in:
Stephen
2020-03-30 23:56:56 -07:00
commit 649c841b36
10 changed files with 557 additions and 0 deletions

155
Brewfile Normal file
View File

@@ -0,0 +1,155 @@
tap "adoptopenjdk/openjdk"
tap "cjbassi/gotop"
tap "github/gh"
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/cask-drivers"
tap "homebrew/cask-fonts"
tap "homebrew/cask-versions"
tap "homebrew/core"
tap "khanhas/tap"
tap "vapor/tap"
cask "adoptopenjdk8"
brew "bash"
brew "bison"
brew "brew-cask-completion"
brew "brew-gem"
brew "brew-pip"
brew "bsdmake"
brew "freetype"
brew "fontconfig"
brew "python"
brew "cmake"
brew "cmatrix"
brew "cocoapods"
brew "coreutils"
brew "cowsay"
brew "doitlive"
brew "dosbox"
brew "gnu-tar"
brew "dpkg"
brew "elinks"
brew "sdl2"
brew "ffmpeg"
brew "figlet"
brew "fortune"
brew "fswatch"
brew "gcc"
brew "gdb"
brew "git"
brew "git-game"
brew "gnu-sed"
brew "go"
brew "hashcat"
brew "howdoi"
brew "htop"
brew "hub"
brew "imagemagick"
brew "jq"
brew "ldid"
brew "libusbmuxd"
brew "libimobiledevice", args: ["HEAD"]
brew "llvm"
brew "lolcat"
brew "lua@5.1"
brew "lynx"
brew "ruby"
brew "macvim"
brew "mas"
brew "mysql"
brew "neofetch"
brew "nginx"
brew "nmap"
brew "p7zip"
brew "pipes-sh"
brew "pkg-config"
brew "portaudio"
brew "pv"
brew "qt"
brew "ranger"
brew "rsync"
brew "ruby@2.4"
brew "ruby@2.5"
brew "sl"
brew "speedread"
brew "speedtest-cli"
brew "swift"
brew "swiftlint"
brew "switch-lan-play"
brew "telnet"
brew "tmux"
brew "tree"
brew "unicorn"
brew "watch"
brew "wget"
brew "whois"
brew "winetricks"
brew "wtf"
brew "youtube-dl"
brew "zsh"
brew "zsh-completions"
brew "zsh-history-substring-search"
brew "zsh-syntax-highlighting"
brew "zzz"
brew "cjbassi/gotop/gotop"
brew "github/gh/gh"
brew "khanhas/tap/spicetify-cli"
brew "vapor/tap/vapor"
cask "adobe-creative-cloud"
cask "adoptopenjdk13"
cask "amazon-chime"
cask "android-studio"
cask "appcleaner"
cask "bartender"
cask "burp-suite"
cask "checkra1n"
cask "citra"
cask "daisydisk"
cask "discord"
cask "firefox"
cask "font-fira-code"
cask "handbrake"
cask "iina"
cask "intel-power-gadget"
cask "istat-menus"
cask "iterm2"
cask "lastpass"
cask "mactex"
cask "minecraft"
cask "mpv"
cask "mumble"
cask "philips-hue-sync"
cask "plex"
cask "qbittorrent"
cask "rectangle"
cask "scroll-reverser"
cask "signal"
cask "slack"
cask "spotify"
cask "spotify-notifications"
cask "steam"
cask "vlc"
cask "vmware-fusion"
cask "wireshark"
cask "xquartz"
mas "1Blocker", id: 1107421413
mas "Deliveries", id: 924726344
mas "Disk Speed Test", id: 425264550
mas "Drafts", id: 1435957248
mas "Front and Center", id: 1493996622
mas "iMovie", id: 408981434
mas "Keynote", id: 409183694
mas "Microsoft Excel", id: 462058435
mas "Microsoft Outlook", id: 985367838
mas "Microsoft Remote Desktop", id: 1295203466
mas "Microsoft Word", id: 462054704
mas "Night Eye", id: 1450504903
mas "Notability", id: 736189492
mas "Pages", id: 409201541
mas "Paste", id: 967805235
mas "SnippetsLab", id: 1006087419
mas "Spark", id: 1176895641
mas "SwitchGlass", id: 1498546559
mas "The Unarchiver", id: 425424353
mas "Xcode", id: 497799835
mas "Yoink", id: 457622435

48
aliases Normal file
View File

@@ -0,0 +1,48 @@
# Git
alias ga='git add *'
alias gc='git commit -m'
alias gcl='git clone'
alias gp='git push'
alias gs='git status'
# Spotify
alias snp='python3 ~/Development/SSiTerm/spot.py status'
alias sap='python3 ~/Development/SSiTerm/spot.py playlist --add'
alias sls='python3 ~/Development/SSiTerm/spot.py playback --like'
alias spp='python3 ~/Development/SSiTerm/spot.py playback --play'
alias sne='python3 ~/Development/SSiTerm/spot.py playback --next'
alias spr='python3 ~/Development/SSiTerm/spot.py playback --previous'
alias ssf='python3 ~/Development/SSiTerm/spot.py playback --shuffle'
alias spd='python3 ~/Development/SSiTerm/spot.py device'
alias sse='python3 ~/Development/SSiTerm/spot.py search --track'
alias ssa='python3 ~/Development/SSiTerm/spot.py search --album'
alias spl='python3 ~/Development/SSiTerm/spot.py playlist --play'
alias srp='python3 ~/Development/SSiTerm/spot.py playlist --remove'
alias svl='python3 ~/Development/SSiTerm/spot.py playback --volume'
alias srl='python3 ~/Development/SSiTerm/spot.py playback --unlike'
alias ssk='python3 ~/Development/SSiTerm/spot.py playback --seek'
alias sre='python3 ~/Development/SSiTerm/spot.py playback --repeat'
# ls
alias lsd="ls -d"
alias ll='ls -alh'
# System Utils
alias brewup='cl; brew update; brew upgrade; brew cask upgrade; brew cleanup -s; brew doctor; brew cask doctor | grep -A 1 --color=never "Homebrew Version"'
alias cl='clear'
alias sleep="open /System/Library/CoreServices/ScreenSaverEngine.app"
alias ta="tmux a -t"
alias tn="tmux new-session -s"
alias git="hub"
alias gcc="gcc -g"
alias hora='date "+%H:%M:%S"'
alias ap="open /Applications/AirPods.app"
alias wthr='curl wttr.in/san_luis_obispo'
alias nf='cl; neofetch; system_profiler SPSoftwareDataType | grep "System Version" | cut -d " " -f9 -f10 -f11| figlet -w 100; shownetinfo && lab && batt'
# School
alias glp='~/Development/gp.sh'
alias os="ssh unix3 -t '//home/smparkin/centos/usr/bin/tmux a -t os'"
alias se="ssh marsonia -t 'tmux a -t se'"
alias 453='cd /Users/smparkin/Library/Mobile\ Documents/com~apple~CloudDocs/CalPoly/2019-20/Winter20/cpe453'
alias 308='cd /Users/smparkin/Library/Mobile\ Documents/com~apple~CloudDocs/CalPoly/2019-20/Winter20/csc308'

47
functions Normal file
View File

@@ -0,0 +1,47 @@
function shownetinfo() {
OSTYPE=$(uname -s)
IP=""
GW=""
NET=$(system_profiler SPNetworkDataType | grep "Router:" | cut -c 19-30 | head -1)
if [ "$OSTYPE" = "Linux" ]; then
IP=$(ip address show | grep -E "inet .* brd .* dynamic" | cut -d " " -f6)
GW=$(ip route | grep default | cut -d " " -f3)
elif [ "$OSTYPE" = "Darwin" ]; then
IP=$(ifconfig en0 | grep -v "127.0.0.1" | grep "inet " | head -1 | cut -d " " -f2)
if [ "$NET" != "" ]; then
GW=$(dig +short myip.opendns.com @resolver1.opendns.com)
fi
fi
tput setaf 7; tput bold; echo -en "Net: "
tput sgr0
tput setaf 7; echo -en "internal $IP"
if [ "$NET" != "" ]; then
echo -en ", external $GW"
echo -en ", router $NET"
fi
tput setaf 7
tput bold
echo -en " | "
tput sgr0
}
function batt() {
tput setaf 7; tput bold; echo -en "Bat: "
tput sgr0
tput setaf 7
echo -en $(pmset -g batt | grep -Eo "\d+%" | cut -d% -f1)
echo "%"
tput sgr0
}
function lab() {
tput setaf 7; tput bold; echo -en "Lab: "
tput sgr0
tput setaf 7
echo -en $(curl -s https://thewhitehat.club/api/v1/status | jq ".data.status" | tr -d "\"")
tput setaf 7
tput bold
echo -en " | "
tput sgr0
}

10
gitconfig Normal file
View File

@@ -0,0 +1,10 @@
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[user]
name = Stephen
email = smparkin@calpoly.edu
[core]
excludesfile = ~/.gitignore_global

46
gitignore_global Normal file
View File

@@ -0,0 +1,46 @@
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so
# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Logs and databases #
######################
*.log
*.sql
*.sqlite
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
*.pyc
.vscode
coverage.xml
cov.xml
launch.json
settings.json
sftp.json
.coverage

65
newstephen.zsh-theme Normal file
View File

@@ -0,0 +1,65 @@
function my_git_prompt() {
tester=$(git rev-parse --git-dir 2> /dev/null) || return
INDEX=$(git status --porcelain 2> /dev/null)
STATUS=""
# is branch ahead?
if $(echo "$(git log origin/$(git_current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_AHEAD"
fi
# is branch behind?
if $(echo "$(git log HEAD..origin/$(git_current_branch) 2> /dev/null)" | grep '^commit' &> /dev/null); then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_BEHIND"
fi
# is anything staged?
if $(echo "$INDEX" | command grep -E -e '^(D[ M]|[MARC][ MD]) ' &> /dev/null); then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_STAGED"
fi
# is anything unstaged?
if $(echo "$INDEX" | command grep -E -e '^[ MARC][MD] ' &> /dev/null); then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNSTAGED"
fi
# is anything untracked?
if $(echo "$INDEX" | grep '^?? ' &> /dev/null); then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNTRACKED"
fi
# is anything unmerged?
if $(echo "$INDEX" | command grep -E -e '^(A[AU]|D[DU]|U[ADU]) ' &> /dev/null); then
STATUS="$STATUS$ZSH_THEME_GIT_PROMPT_UNMERGED"
fi
if [[ -n $STATUS ]]; then
STATUS=" $STATUS"
fi
echo "$ZSH_THEME_GIT_PROMPT_PREFIX$(my_current_branch)$STATUS$ZSH_THEME_GIT_PROMPT_SUFFIX"
}
function my_current_branch() {
echo $(git_current_branch || echo "(no branch)")
}
function ssh_connection() {
if [[ -n $SSH_CONNECTION ]]; then
echo "%{$fg_bold[red]%}(ssh) "
fi
}
local ret_status="%(?:%{$fg_bold[green]%}:%{$fg_bold[red]%})%?%{$reset_color%}"
PROMPT=$'$(ssh_connection)%{$fg_bold[green]%}%n@%m%{$reset_color%}$(my_git_prompt) : $(shrink_path -f)\n[${ret_status}]  '
ZSH_THEME_PROMPT_RETURNCODE_PREFIX="%{$fg_bold[red]%}"
ZSH_THEME_GIT_PROMPT_PREFIX=" $fg[white] %{$fg_bold[yellow]%}"
ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[magenta]%}↑"
ZSH_THEME_GIT_PROMPT_BEHIND="%{$fg_bold[green]%}↓"
ZSH_THEME_GIT_PROMPT_STAGED="%{$fg_bold[green]%}●"
ZSH_THEME_GIT_PROMPT_UNSTAGED="%{$fg_bold[red]%}●"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[white]%}●"
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[red]%}✕"
ZSH_THEME_GIT_PROMPT_SUFFIX=" $fg_bold[white]%{$reset_color%}"

44
setup.sh Executable file
View File

@@ -0,0 +1,44 @@
#! /bin/bash
OSTYPE=$(uname -s)
# get package manager up to date
if [ "$OSTYPE" = "Linux" ]; then
sudo apt update
sudo apt install fortune cowsay lolcat zsh -y
sudo apt upgrade -y
elif [ "$OSTYPE" = "Darwin" ]; then
echo "Install Homebrew? [y/n]"
read homebrew
if [ "$homebrew" = "y" ]; then
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew bundle install --file=Brewfile
fi
fi
# get ohmyzsh setup
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh/
# symlink files
mkdir ~/.zsh.d
ln -s ~/dotfiles/aliases ~/.zsh.d/aliases
ln -s ~/dotfiles/functions ~/.zsh.d/functions
ln -s ~/dotfiles/zshrc ~/.zshrc
ln -s ~/dotfiles/gitconfig ~/.gitconfig
ln -s ~/dotfiles/gitignore_global ~/.gitignore_global
ln -s ~/dotfiles/newstephen.zsh-theme ~/.oh-my-zsh/custom/themes/newstephen.zsh-theme
ln -s ~/dotfiles/tmux.conf ~/.tmux.conf
ln -s ~/dotfiles/vimrc ~/.vimrc
mkdir ~/Development
git clone https://github.com/smparkin/SpotifyCLI.git ~/Development/SSiTerm
cd ~/Development/SSiTerm
pip3 install -r requirements.txt
cd ~/
echo "Change shell to zsh? [y/n]"
read shell
if [ "$shell" = "y" ]; then
chsh -s /bin/zsh
fi
exit

71
tmux.conf Normal file
View File

@@ -0,0 +1,71 @@
# set prefix to Ctrl-a
unbind-key C-b
set -g prefix C-s
bind-key C-s send-prefix
bind r source-file ~/.tmux.conf \; display-message "Config reloaded."
# better splits
unbind %
unbind '"'
bind-key | split-window -h
bind-key - split-window -v
# Pane switching
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# Pane manipulation
bind j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind s command-prompt -p "send pane to:" "join-pane -t '%%'"
# mouse controls
set -g mouse on
# *** Design ***
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
set -g default-terminal "screen-256color"
setw -g clock-mode-colour colour135
# When scrolling
# setw -g mode-attr bold
# setw -g mode-fg colour196
# setw -g mode-bg colour238
# The panes
# set -g pane-border-bg colour235
# set -g pane-border-fg colour238
# set -g pane-active-border-bg colour236
# set -g pane-active-border-fg colour46
# The statusbar
set -g status-justify left
set -g status-position bottom
set -g status-bg colour234
set -g status-fg colour7
# set -g status-attr dim
set -g status-left ''
set -g status-right '#[fg=colour233,bg=colour241,bold] %Y-%m-%d #[fg=colour233,bg=colour245,bold] %H:%M '
set -g status-right-length 50
set -g status-left-length 20
# setw -g window-status-current-bg colour238
setw -g window-status-current-format ' #I:#W#F '
# setw -g window-status-bg colour235
setw -g window-status-format ' #I:#W#F '
# The Messages
# set -g message-attr bold
# set -g message-bg colour22
# set -g message-fg colour232
# set -g message-command-fg blue
# set -g message-command-bg black

30
vimrc Normal file
View File

@@ -0,0 +1,30 @@
let mapleader = "'"
nnoremap <Leader><space> :nohlsearch<CR>
nnoremap <Leader>w :w!<CR>
nnoremap <Leader>wq :wq!<CR>
set t_Co=256
syntax on
filetype plugin indent on
set hidden
set wildmenu
set hlsearch
set ignorecase
set autoread
set smartcase
set backspace=indent,eol,start
set autoindent
set wrap
set smartindent
set nostartofline
set confirm
set mouse=a
set number
set shiftwidth=4
set softtabstop=4
set expandtab
set spell
set cursorline
set laststatus=2
set statusline=%t[%{strlen(&fenc)?&fenc:'none'},%{&ff}]%h%m%r%y%=%c,%l/%L\ %P
colorscheme slate

41
zshrc Normal file
View File

@@ -0,0 +1,41 @@
# Path to your oh-my-zsh installation.
OSTYPE=$(uname -s)
if [ "$OSTYPE" = "Linux" ]; then
export ZSH="/home/smparkin/.oh-my-zsh"
elif [ "$OSTYPE" = "Darwin" ]; then
export ZSH="/Users/smparkin/.oh-my-zsh"
fi
# Set name of the theme to load
ZSH_THEME="newstephen"
# Hyphen-insensitive completion
HYPHEN_INSENSITIVE="true"
# Disable marking untracked files under git as dirty
DISABLE_UNTRACKED_FILES_DIRTY="true"
# Which plugins would you like to load?
plugins=(
colored-man-pages
iterm2
zsh_reload
zsh-navigation-tools
shrink-path
)
source $ZSH/oh-my-zsh.sh
source ~/.zsh.d/functions
source ~/.zsh.d/aliases
if [ "$OSTYPE" = "Darwin" ]; then
source ~/.iterm2_shell_integration.zsh
fi
export EDITOR="/usr/local/bin/vim"
export PATH="/usr/local/sbin:$PATH"
export PATH="/usr/local/opt/openssl/bin:$PATH"
export CLASSPATH="/Users/smparkin/java/junit-4.12.jar:/Users/smparkin/java/processing-core.jar:${CLASSPATH}"
export PATH="/usr/local/flutter/bin:$PATH"
shownetinfo
lab
batt