first commit

This commit is contained in:
Blake Ridgway 2020-09-11 22:12:49 -05:00
commit e7410994a3
67 changed files with 5154 additions and 0 deletions

9
README.md Normal file
View file

@ -0,0 +1,9 @@
# Fresh Install
This is a collection of items I use when I setup a fresh install.
# Docker
# dotfiles
# GoLang
# PowerShell
# Ruby + Rails

0
docker-setup/.gitignore vendored Normal file
View file

View file

@ -0,0 +1,24 @@
#!/bin/bash
###########################################
# Setup Docker in Alpine with this Script #
###########################################
# Adds the community repo
sh -c 'echo "http://dl-cdn.alpinelinux.org/alpine/latest-stable/community/" >> /etc/apk/repositories'
# Updates apk to include the new repo we just add
echo "Time to Update"
apk -qq update
# Just as it says, it installs Docker to the Machine
echo "Currently installing Docker"
apk add -qq docker
# This section adds Docker dameon to boot
echo "Enabling Docker at Boot"
rc-update add docker boot
# This starts the Docker daemon
echo "Starting Docker"
service docker start

View file

@ -0,0 +1,20 @@
#########################################
# Set up Docker on CentOS based Distros #
#########################################
# Removes older installs of Docker
echo 'Removing older Docker versions'
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# Set ups the needed repos and deps
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Installs DockerCE
sudo yum install docker docker-ce docker-ce-cli containerd.io
# Starts Docker
sudo systemctl start docker
# Tests to make sure Docker is running correctly
sudo docker run hello-world

View file

@ -0,0 +1,34 @@
#!/bin/bash
###################################################
# Setup Docker on Debian based installs with this #
###################################################
# Updates apt
echo "Updating Operating System"
apt update -y -qq
# Installs some pre-reqs
echo "Installing needed components for Docker"
apt install -y -qq apt-transport-https ca-certificates curl software-properties-common
# Adds GPG key for the Docker repo
echo "Adding GPGP Key for Docker"
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#Add the Docker repository to APT source
echo "Adding Docker repositories"
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
# Updates apt once more
echo "Updating After adding the Dependices"
apt update -y -qq
# Installs Docker
echo "Installing Docker"
apt install -y -qq docker-ce
# Makes sure that docker is started and made to run at boot
echo "Enable Docker at boot and starting Docker"
systemctl enable docker
systemctl start docker

9
docker-setup/LICENSE Normal file
View file

@ -0,0 +1,9 @@
MIT License
Copyright 2019 Blake Ridgway
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

27
docker-setup/README.md Normal file
View file

@ -0,0 +1,27 @@
## Disclaimer
I am still currently learning BASH scripting and this is a new thing to me, I will end up making this script better and more user friendly as time comes.
The option-script.sh works on some of the Operating Systems but not all. I am faulting Dialog on this. I am starting work on getting the script to pull the type of uname the machine has and pull installers that way.
I might have to add a seperate script for AWS Linux machines if my CentOS script doesn't install for the machine
# Set up Docker on Linux Distros & macOS
The main purpose of this script is to be able to quickly install Docker on multiple Linux distros and there is an option to have it install for macOS.
# How to Use Script
How the script is supposed to be ran is to either download the subfolder you wish to install Docker on. The easiest way I suggest to have this ran is to download/clone the repo and run the option-script, this script has options of what you want to install on.
# Improvements
I am currently trying to figure out how to make it so it can auto-detect what OS architecture you are running, which would take out the entire need for user input.
But, that is to come in later revisions of this script.
# Extra
If you have a specific operating system you want added to this, please inform me and I will get it created and added to the script.

View file

@ -0,0 +1,13 @@
#!/bin/bash
echo "Installing Homebrew"
# Install Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
echo "Install Cask"
# Install Cask
brew install caskroom/cask/brew-cask
echo "Utilizing Cask to install Docker"
# Install docker toolbox
brew cask install docker-toolbox

View file

@ -0,0 +1,13 @@
#############################
# Set up Docker on openSUSE #
#############################
# Utilizes Zypper to install Docker and Docker Compose
echo "Installing Docker and Docker Compose!"
zypper install docker docker-compose
# Enables Docker to start on system boot
echo "Enabling Docker at boot!"
sudo systemctl enable docker

45
docker-setup/option-script.sh Executable file
View file

@ -0,0 +1,45 @@
#!/bin/bash
#####################################################
# Option Based Script to Pick what OS to install on #
#####################################################
HEIGHT=15
WIDTH=40
CHOICE_HEIGHT=4
BACKTITLE="Docker Installation"
TITLE="Chose your Operating System"
MENU="Choose one of the following options:"
OPTIONS=(1 "Alpine Linux"
2 "Debian"
3 "CentOS"
4 "macOS"
5 "openSUSE")
CHOICE=$(dialog --clear \
--backtitle "$BACKTITLE" \
--title "$TITLE" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
clear
case $CHOICE in
1)
sh ./Alpine/alpine-docker.sh
;;
2)
sh ./Debian/debian-docker.sh
;;
3)
sh ./CentOS/centos-docker.sh
;;
4)
sh ./macOS/macos-docker.sh
;;
5)
sh ./openSUSE/opensuse-docker.sh
;;
esac

5
dotfiles/.gitignore vendored Executable file
View file

@ -0,0 +1,5 @@
!bin
vim/bundle/
vim/plugged/
vim/autoload/
Hack Regular Nerd Font Complete.ttf

12
dotfiles/.gitmodules vendored Executable file
View file

@ -0,0 +1,12 @@
[submodule "draculaiterm"]
path = colors/dracula/iterm
url = https://github.com/dracula/iterm.git
branch = master
[submodule "draculazsh"]
path = colors/dracula/zsh
url = https://github.com/dracula/zsh.git
branch = master
[submodule "z"]
path = z
url = https://github.com/rupa/z
branch = master

23
dotfiles/LICENSE Executable file
View file

@ -0,0 +1,23 @@
LICENSE
The MIT License
Copyright (c) 2009-2014 thoughtbot, inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

80
dotfiles/README.md Executable file
View file

@ -0,0 +1,80 @@
## Install
`./install` will run a script that checks what OS you're on, and if you have
all the necessary programs installed. If you dont, it installs them for you!
Once the dependencies are installed, it will run any third party installations,
and create symlinks for the necessary config files in the correct locations.
## Dotfiles
Here's my collection of dotfiles I use on linux/osx environments.
I continuously add to this repo over time, as I customise my dev environment.
Feel free to fork this and modify the scripts/dotfiles to suit your own needs!
ZSH and Oh-My-Zsh must be installed:
- http://ohmyz.sh/
**Git**
Make sure to edit the gitconfig and add your credentials instead of mine
**VIM Installation Tips**
I use neovim and vim-plug. So if you're using regular vim you might want to
remove the neovim specific plugins from my vimrc. Also, you might need to run
:PlugClean to remove the plugin directories then run :PlugInstall to reinstall
them.
**NVIM to VIM**
For Linux and macOS, just add the above lines to the top of your ~/.config/nvim/init.vim, or %LOCALAPPDATA%\nvim\init.vim for Windows.
````
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath=&runtimepath
source ~/.vimrc
````
#### Aliases
Here are the aliases I use in my shell to utilize these scripts. This allows you to save
this folder wherever you want. Just modify the path if you dont clone to your home
directory.
````
alias tmpc='source ~/.dotfiles/scripts/CTemplate.sh'
alias tdev='source ~/.dotfiles/scripts/tmux-dev.sh'
alias project='source ~/.dotfiles/scripts/ProjectLayout.sh'
alias mdtopdf='source ~/.dotfiles/scripts/MDtoPDF.sh'
````
#### MDtoPDF
MDtoPDF Uses **Python Markdown** and **wkhtmltopdf** to convert a markdown file into a pdf
file.
Usage: `mdtopdf <filenamewithoutextension> <optionaldirectory>`
Example: `mdtopdf notes pdf` would convert notes.md to a pdf and save it to the /pdf
directory
This script uses Python Markdown to export the markdown file to an html file, then it uses
wkhtmltopdf to convert the html file to a pdf. It can take a little time to convert to
PDF, but is a lot simpler than using pandoc in my opinion.
* https://pythonhosted.org/Markdown/install.html
Install (Requires Python):
`$ sudo pip install markdown`
* http://wkhtmltopdf.org/
Install:
`$ sudo apt-get install wkhtmltopdf`
#### ProjectLayout.sh
* Creates a file system structure to begin a project. The Makefile in files/ is really
only setup for C at the moment. Edit it based on the project's needs.
#### Tmux-Dev.sh
This is a simple script I made to setup a tmux environment, it looks like this when its
running. I usually have code open in vim on the left, a man page or other code open in the
bottom right corner, and use the top right for running commands and compiling on the go.
![tmux](files/tmux.png)
#### CTemplate.sh
This script copies a skeleton C file to either your current directory or one you provide.
This could also just be done with a copy alias. I use a script so I can provide a custom
file name/directory.
* Usage: `~/.dotfiles/scripts/CTemplate.sh <Directory/Filename>`

7
dotfiles/agignore Executable file
View file

@ -0,0 +1,7 @@
log
tags
tmp
vendor
.git/
bower_components/
node_modules/

135
dotfiles/aliases.zsh Executable file
View file

@ -0,0 +1,135 @@
# A collection of useful aliases to make terminal life bliss
# Unix
alias ll="ls -la"
alias ln="ln -v"
alias mkdir="mkdir -p"
alias e="$EDITOR"
alias v="$VISUAL"
alias tmux='tmux -u'
# checks if on linux or OSX for open command
if [ "$(uname)" = "Linux" ]; then
alias open="xdg-open"
alias say='echo "$*" | espeak -s 120 2>/dev/null'
alias cpwd='pwd|tr -d "\n"|xclip'
else
# OSX
alias cpwd='pwd|tr -d "\n"|pbcopy'
fi
# top
alias cpu='top -o CPU'
alias mem='top -o MEM'
# Get your current public IP
alias ip="curl icanhazip.com"
# list TODO/FIX lines from the current project
alias todos="ag --nogroup '(TODO|FIX(ME)?):'"
# Bandwhich
alias bandwhich="sudo ~/.cargo/bin/bandwhich"
# Python
alias py='python3'
alias py3='python3'
alias python='python3'
alias pip='pip3'
# Bundler
alias b="bundle"
alias bi="bundle install"
alias be="bundle exec"
alias bu="bundle update"
# Rails
alias migrate="rake db:migrate db:rollback && rake db:migrate"
alias s="rspec"
alias rk="rake"
alias rc="rails c"
alias rs="rails s"
alias gi="gem install"
# Rust
alias rcc="rustc"
# Pretty print the path
alias path='echo $PATH | tr -s ":" "\n"'
# CD Aliases
alias sailex='cd ~/Data/Coding/Rust/Sailex'
alias pweb='cd ~/Data/Coding/Projects/RoR/blakeridgway'
# Scripts Aliases
alias tmpc='source ~/.scripts/CTemplate.sh'
alias project='source ~/.scripts/ProjectLayout.sh'
alias mdtopdf='source ~/.scripts/MDtoPDF.sh'
# Tmux Aliases
alias tdev='source ~/dotfiles/scripts/tmux-dev.sh'
alias tls='tmux ls'
tnew() {
if [ "$1" != "" ]
then
tmux new -s $1
else
tmux
fi
}
tatt() {
if [ "$1" != "" ]
then
tmux attach -t $1
else
tmux attach
fi
}
# Configuration Reloads
alias tmuxreload='source ~/.tmux.conf'
alias zshreload='source ~/.zshrc'
# SSH
alias sshwork='ssh winterjd@10.35.72.137'
# Logbook
lbt() {
nvim -c ":VimwikiMakeDiaryNote"
}
lby() {
nvim -c ":VimwikiMakeYesterdayDiaryNote"
}
lbi() {
nvim -c ":VimwikiDiaryIndex"
}
wiki() {
nvim -c ":VimwikiIndex"
}
swiki() {
nvim -c ":VimwikiSearch $*"
}
# nvim
alias vim=nvim
alias vi=nvim
alias vimrc='nvim ~/.vimrc'
alias ealias='nvim ~/dotfiles/aliases.zsh'
alias zshrc='nvim ~/.zshrc'
ycmcomp() {
cp ~/.dotfiles/templates/_ycm_extra_conf.py ./.ycm_extra_conf.py
}
alias fv='vim $(fzf --height 40%)'
alias eclim='/Applications/Eclipse.app/Contents/Eclipse/eclimd > /dev/null 2>&1 &'
# Docker-Compose Commands
alias dce='docker-compose exec --user $(id -u):$(id -g)'
alias dc='docker-compose'

File diff suppressed because it is too large Load diff

21
dotfiles/eslintrc Executable file
View file

@ -0,0 +1,21 @@
{
"parser": "babel-eslint",
"env": {
"browser": true,
"node": true
},
"settings": {
"ecmascript": 6,
"jsx": true
},
"plugins": [
"react"
],
"rules": {
"strict": 0,
"quotes": 0,
"no-unused-vars": 0,
"camelcase": 0,
"no-underscore-dangle": 0
}
}

133
dotfiles/eslintrc.txt Executable file
View file

@ -0,0 +1,133 @@
{
"extends": [
"airbnb",
"prettier",
"prettier/react"
],
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 8,
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
"impliedStrict": true,
"classes": true
}
},
"env": {
"browser": true,
"node": true,
"jquery": true,
"jest": true
},
"rules": {
"no-debugger": 0,
"no-alert": 0,
"no-await-in-loop": 0,
"no-restricted-syntax": [
2,
"ForInStatement",
"LabeledStatement",
"WithStatement"
],
"no-unused-vars": [
1,
{
"ignoreSiblings": true,
"argsIgnorePattern": "res|next|^err"
}
],
"prefer-const": [
"error",
{
"destructuring": "all",
}
],
"arrow-body-style": [
2,
"as-needed"
],
"no-unused-expressions": [
2,
{
"allowTaggedTemplates": true
}
],
"no-param-reassign": [
2,
{
"props": false
}
],
"no-console": 0,
"import/prefer-default-export": 0,
"import": 0,
"func-names": 0,
"space-before-function-paren": 0,
"comma-dangle": 0,
"max-len": 0,
"import/extensions": 0,
"no-underscore-dangle": 0,
"consistent-return": 0,
"react/display-name": 1,
"react/no-array-index-key": 0,
"react/react-in-jsx-scope": 0,
"react/prefer-stateless-function": 0,
"react/forbid-prop-types": 0,
"react/no-unescaped-entities": 0,
"jsx-a11y/accessible-emoji": 0,
"react/require-default-props": 0,
"react/jsx-filename-extension": [
1,
{
"extensions": [
".js",
".jsx"
]
}
],
"radix": 0,
"no-shadow": [
2,
{
"hoist": "all",
"allow": [
"resolve",
"reject",
"done",
"next",
"err",
"error"
]
}
],
"quotes": [
2,
"single",
{
"avoidEscape": true,
"allowTemplateLiterals": true
}
],
"prettier/prettier": [
"error",
{
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 80,
}
],
"jsx-a11y/href-no-hash": "off",
"jsx-a11y/anchor-is-valid": [
"warn",
{
"aspects": [
"invalidHref"
]
}
]
},
"plugins": [
// "html",
"prettier"
]
}

1
dotfiles/gemrc Executable file
View file

@ -0,0 +1 @@
gem: --no-document

12
dotfiles/gitignore Executable file
View file

@ -0,0 +1,12 @@
.DS_Store
*.sw[nop]
.bundle
.env
db/*.sqlite3
log/*.log
rerun.txt
tags
!tags/
tmp/**/*
!tmp/cache/.keep
gitconfig

11
dotfiles/gitmessage Executable file
View file

@ -0,0 +1,11 @@
# 50-character subject line
#
# 72-character wrapped longer description. This should answer:
#
# * Why was this change necessary?
# * How does it address the problem?
# * Are there any side effects?
#
# Include a link to the ticket, if any.

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

51
dotfiles/install Executable file
View file

@ -0,0 +1,51 @@
#!/usr/bin/env zsh
# A script for installing dependencies and setting up needed Symbolic Links
# Created by Jeremy Winterberg, Brandon Roehl, Blake Ridgway
# Updated 07/27/2019
# NOTICE: Modify script to your own preferences! This mostly uses default
# locations, but can be changed to whatever you need.
git submodule init
git submodule update --recursive
if [ hash brew >/dev/null 2>&1 ]
then
echo 'Attempting to install brew'
if [ uname = "Darwin" ]
then
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
sudo apt-get install build-essential curl git python-setuptools ruby
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"
fi
fi
brew install zsh git coreutils vim tmux wget bash the_silver_searcher reattach-to-user-namespace zsh-syntax-highlighting
# Check if Oh My ZSH is installed
if ! [ -d "$HOME/.oh-my-zsh/" ]; then
echo >&2 "oh-my-zsh is not installed, fixing that...";
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
fi
echo 'install rust'
curl https://sh.rustup.rs -sSf | sh
echo 'grab ruby installer'
git clone https://github.com/blakeridgway/ruby-install.git ~/ruby-install
# Fancy ls script taken from github.com/brandonroehl/dotfiles
files=( 'vimrc' 'vim' 'zshrc' 'zsh' 'tmux.conf' 'tmux-dev.sh' 'tmux-osx' 'agignore' 'gitconfig' 'gitignore' 'gitmessage' 'gemrc' 'rspec' 'eslintrc' )
for file in $files
do
echo ""
echo "Simlinking $file to $HOME"
ln -sf "$PWD/$file" "$HOME/.$file"
if [ $? -eq 0 ]
then
echo "$PWD/$file ~> $HOME/.$file"
else
echo 'Install failed to symlink.'
exit 1
fi
done

47
dotfiles/install-rewrite Executable file
View file

@ -0,0 +1,47 @@
#!/usr/bin/env zsh
# A script for installing dependencies and setting up needed Symbolic Links
# Created by Blake Ridgway
# Updated 07/01/2020
# NOTICE: Modify script to your own preferences! This mostly uses default
# locations, but can be changed to whatever you need.
git submodule init
git submodule update --recursive
# Installs tilix
sudo apt install tilix
# Check to see if Oh My ZSH is installed
if ! [ -d "$HOME/.oh-my-zsh/" ]; then
echo >&2 "oh-my-zsh is not installed, fixing that...";
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
fi
# Grab and configure powerlevel9k
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
# Grabs Nerd Font and configures it
wget https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Hack/Regular/complete/Hack%20Regular%20Nerd%20Font%20Complete.ttf
mkdir -p ~/.local/share/fonts
cp Hack\ Regular\ Nerd\ Font\ Complete.ttf ~/.local/share/fonts/
fc-cache -f -v
# Check to see if Rust is installed.
echo 'install rust'
curl https://sh.rustup.rs -sSf | sh
# Fancy ls script taken from github.com/brandonroehl/dotfiles
files=( 'vimrc' 'vim' 'zshrc' 'zsh' 'tmux.conf' 'tmux-dev.sh' 'tmux-osx' 'agignore' 'gitconfig' 'gitignore' 'gitmessage' 'gemrc' 'rspec' 'eslintrc' )
for file in $files
do
echo ""
echo "Simlinking $file to $HOME"
ln -sf "$PWD/$file" "$HOME/.$file"
if [ $? -eq 0 ]
then
echo "$PWD/$file ~> $HOME/.$file"
else
echo 'Install failed to symlink.'
exit 1
fi
done

2
dotfiles/rspec Executable file
View file

@ -0,0 +1,2 @@
--colour
--order random

3
dotfiles/scripts/CTemplate.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/bash
cp ~/.dotfiles/scripts/files/CTemplate.c $1.c

12
dotfiles/scripts/MDtoPDF.sh Executable file
View file

@ -0,0 +1,12 @@
#!/bin/bash
markdown_py -o html5 $1.md > $1.html
if [ "$2" = null ]; then
wkhtmltopdf --page-size letter -B 20mm -T 20mm -L 20mm -R 20mm $1.html $1.pdf
else
if [ ! -d "$2" ]; then
mkdir $2
fi
wkhtmltopdf --page-size letter -B 20mm -T 20mm -L 20mm -R 20mm $1.html $2/$1.pdf
fi
rm -f $1.html

View file

@ -0,0 +1,7 @@
#!/bin/bash
mkdir $1
cd $1/
touch LICENSE README.md
cp files/Makefile .
mkdir bin src tests

View file

@ -0,0 +1,10 @@
/* Template.c */
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
return EXIT_SUCCESS;
}

17
dotfiles/scripts/files/Makefile Executable file
View file

@ -0,0 +1,17 @@
CC= gcc
CFLAGS= -Wall -std=gnu99
LDFLAGS=
LIBS= -lm
SOURCE= $(wildcard *.c)
PROGRAMS= $(SOURCE:.c=)
all: $(PROGRAMS)
%:%.c
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
clean:
rm -f $(PROGRAMS)
test:

BIN
dotfiles/scripts/files/tmux.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

38
dotfiles/scripts/tmux-dev.sh Executable file
View file

@ -0,0 +1,38 @@
#!/bin/zsh
t="temp"
if [ -z "$1" ];
then
set -- $t
fi
if [ -z "$2" ];
then
set -- "$1" "$PWD"
fi
# sets current directory as default path
tmux set-option default-path "$PWD"
# Creates session, and names window DEV
tmux new-session -d -s $1 -c $2
tmux rename-window 'DEV'
tmux split-window -v -p 50 -c $2
# Creates second window named SERVER
tmux new-window -a -d -n 'SERVER' -c $2
tmux select-window -t 2
tmux split-window -v -p 50 -c $2
tmux select-window -t 1
tmux select-pane -t 1
# Attaches to tmux session
tmux attach-session -t $1
# tmux -u new-session -d -s dev -n ide
# tmux split-window -v -p 10 -t dev
# tmux select-pane -t 1
# tmux split-window -h -p 30 -t dev
# tmux new-window -n shell
# tmux select-window -t dev:1
# tmux select-pane -t 1
# tmux -2 attach-session -t dev

7
dotfiles/templates/c Executable file
View file

@ -0,0 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
CURSOR
return 0;
}

8
dotfiles/templates/cpp Executable file
View file

@ -0,0 +1,8 @@
#include <iostream>
using std::string;
int main(int argc, char **argv) {
CURSOR
return 0;
}

4
dotfiles/templates/h Executable file
View file

@ -0,0 +1,4 @@
#ifndef FILE_H
#define FILE_H
CURSOR
#endif

9
dotfiles/templates/html Executable file
View file

@ -0,0 +1,9 @@
<!DOCTYPE html>
<html>
<head>
<title>...</title>
</head>
<body>
CURSOR
</body>
</html>

3
dotfiles/templates/java Executable file
View file

@ -0,0 +1,3 @@
public class CLASS {
CURSOR
}

10
dotfiles/templates/py Executable file
View file

@ -0,0 +1,10 @@
"""
CURSOR
"""
def main():
pass
main()

5
dotfiles/templates/s Executable file
View file

@ -0,0 +1,5 @@
.text
.global main
main:
CURSOR

16
dotfiles/tmux-osx.conf Executable file
View file

@ -0,0 +1,16 @@
# Copy-paste integration
set-option -g default-command "reattach-to-user-namespace -l zsh"
# Use vim keybindings in copy mode
setw -g mode-keys vi
# Setup 'v' to begin selection as in Vim
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-pipe "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 send-keys -X copy-pipe "reattach-to-user-namespace pbcopy"
# Bind ']' to use pbpaste
bind ] run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"

158
dotfiles/tmux.conf Executable file
View file

@ -0,0 +1,158 @@
# improve colors
# set -g utf8
# set-window-option -g utf8 on
# Add truecolor support
set-option -ga terminal-overrides ",xterm-256color:Tc"
# Default terminal is 256 colors
set -g default-terminal "screen-256color"
set -s escape-time 0
# act like vim
setw -g mode-keys vi
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind-key -r C-h select-window -t :-
bind-key -r C-l select-window -t :+
set -g prefix2 C-a
bind-key -n C-b send-prefix
# start window numbers at 1 to match keyboard order with tmux window order
set -g base-index 1
set-window-option -g pane-base-index 1
# renumber windows sequentially after closing any of them
set -g renumber-windows on
# soften status bar color from harsh green to light gray
set -g status-bg '#666666'
set -g status-fg '#aaaaaa'
# remove administrative debris (session name, hostname, time) in status bar
set -g status-left ''
set -g status-right ''
# increase scrollback lines
set -g history-limit 10000
# prefix -> back-one-character
bind-key C-b send-prefix
# prefix-2 -> forward-incremental-history-search
bind-key C-s send-prefix -2
set -g mouse on
# if-shell "uname | grep -q Darwin" "source-file ~/.dotfiles/tmux-osx.conf"
set-option -g default-shell /bin/zsh
# Bind ']' to use pbpaste
bind ] run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection
bind-key -T copy-mode-vi H send-keys -X start-of-line
bind-key -T copy-mode-vi L send-keys -X end-of-line
bind-key -T choice-mode-vi h send-keys -X tree-collapse
bind-key -T choice-mode-vi l send-keys -X tree-expand
bind-key -T choice-mode-vi H send-keys -X tree-collapse-all
bind-key -T choice-mode-vi L send-keys -X tree-expand-all
bind-key -T copy-mode-emacs MouseDragEnd1Pane send-keys -X copy-pipe "reattach-to-user-namespace pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe "reattach-to-user-namespace pbcopy"
# bind-key -T vi-copy v begin-selection
# bind-key -T vi-copy C-v rectangle-toggle
# bind-key -T vi-copy y copy-selection
# bind-key -T vi-choice h tree-collapse
# bind-key -T vi-choice l tree-expand
# bind-key -T vi-choice H tree-collapse-all
# bind-key -T vi-choice L tree-expand-all
# bind-key -T emacs-copy MouseDragEnd1Pane copy-pipe "reattach-to-user-namespace pbcopy"
# bind-key -T vi-copy MouseDragEnd1Pane copy-pipe "reattach-to-user-namespace pbcopy"
# resize panes
bind -n S-Left resize-pane -L 2
bind -n S-Right resize-pane -R 2
bind -n S-Down resize-pane -D 1
bind -n S-Up resize-pane -U 1
set-option -g allow-rename off
## Status bar design
# status line
set -g status-justify centre
set -g status-bg default
set -g status-fg cyan
set -g status-interval 1
# messaging
# set -g message-fg black
# set -g message-bg yellow
# set -g message-command-fg blue
# set -g message-command-bg black
#window mode
# setw -g mode-bg cyan
# setw -g mode-fg white
# The modes
set -g clock-mode-colour colour45
set -g clock-mode-style 12
# setw -g mode-attr none
# setw -g mode-fg colour16
# setw -g mode-bg colour184
# The panes
# set -g pane-border-bg colour245
# set -g pane-border-fg colour245
# set -g pane-active-border-bg colour45
# set -g pane-active-border-fg colour45
# The statusbar
set -g status-position bottom
set -g status-bg colour235
set -g status-fg colour254
# set -g status-attr none
set -g status-left '#[bold]#{?client_prefix,#[fg=colour220],#[fg=colour207]} #{pane_current_command}#[default] #S [#P] '
set -g status-right ' #(battery-prompt tmux) #[fg=colour034]%a %b %e #[fg=colour082,bold]%l:%M:%S #[none]%p '
set -g status-right-length 50
set -g status-left-length 50
# setw -g window-status-current-fg colour45
# setw -g window-status-current-bg colour196
# setw -g window-status-current-attr bold
setw -g window-status-current-format ' #I:#W '
# setw -g window-status-fg colour245
# setw -g window-status-bg colour240
# setw -g window-status-attr none
setw -g window-status-format ' #I:#W '
# setw -g window-status-bell-attr bold
# setw -g window-status-bell-fg colour255
# setw -g window-status-bell-bg colour15
# The messages
# set -g message-attr none
# set -g message-fg colour87
# set -g message-bg colour235
# -- display -------------------------------------------------------------------
set-window-option -g automatic-rename on
set-option -g allow-rename off
set -g base-index 1
set -g pane-base-index 1
set -g automatic-rename-format '#(basename #{pane_current_path})'
set -g renumber-windows on
set -g set-titles on
set -g set-titles-string '#{pane_current_path} #S:#I — #{pane_current_command}'
# activity
set -g monitor-activity on
set -g visual-activity on

2
dotfiles/vim/.netrwhist Executable file
View file

@ -0,0 +1,2 @@
let g:netrw_dirhistmax =10
let g:netrw_dirhist_cnt =0

View file

@ -0,0 +1,5 @@
" augroup vimwiki
" au! BufRead ~/vimwiki/index.wiki !git pull
" au! BufRead ~/vimwiki/diary/diary.wiki !git pull
" au! BufWritePost ~/vimwiki/* !git add --all;git commit -m "Auto commit + push.";git push
" augroup END

View file

@ -0,0 +1,7 @@
psychopompos
Argeiphontes
apotropaic
Herms
herms
#onsemate
ss

Binary file not shown.

BIN
dotfiles/vim/spell/en.utf-8.spl Executable file

Binary file not shown.

BIN
dotfiles/vim/spell/en.utf-8.sug Executable file

Binary file not shown.

1
dotfiles/vim/vim Symbolic link
View file

@ -0,0 +1 @@
/Users/blakeridgway/dotfiles/vim

628
dotfiles/vimrc Executable file
View file

@ -0,0 +1,628 @@
" Created By Jeremy Winterberg (github.com/jeremydwayne 2017)
" A LOT of config pulled from the Ultimate VimRC (github.com/amix/vimrc)
filetype plugin indent on
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.vim/plugged/')
" Sensible Default Vim Config
Plug 'tpope/vim-sensible'
Plug 'Shougo/vimproc.vim', {'do' : 'make'}
Plug 'thinca/vim-quickrun'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
" ctrl+p :FZF
" vim colorscheme
Plug 'sainnhe/edge'
" Rust Language Support
Plug 'rust-lang/rust.vim'
" Go Language Support
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
" tab autocomplete
Plug 'ervandew/supertab'
Plug 'alvan/vim-closetag'
Plug 'airblade/vim-gitgutter'
Plug 'Townk/vim-autoclose'
" Auto end statements
Plug 'tpope/vim-endwise'
" gcc commenting
Plug 'tpope/vim-commentary'
" Markdown Support
Plug 'godlygeek/tabular'
Plug 'vimwiki/vimwiki'
" HTML shortcuts ,y,
Plug 'mattn/emmet-vim'
" Most Recently Used files ,f
Plug 'vim-scripts/mru.vim'
" <C-s>
Plug 'terryma/vim-multiple-cursors'
Plug 'itchyny/lightline.vim'
Plug 'mileszs/ack.vim'
Plug 'scrooloose/nerdtree', { 'on': [ 'NERDTreeToggle', 'NERDTree' ] }
" Syntax
Plug 'leafgarland/typescript-vim', { 'for': ['javascript', 'typescript'] }
Plug 'vim-ruby/vim-ruby', { 'for': 'ruby' }
Plug 'tpope/vim-rails', { 'for': 'ruby' }
Plug 'w0rp/ale'
Plug 'sbdchd/neoformat'
" Typescript
Plug 'Quramy/tsuquyomi', {'for': 'typescript'}
Plug 'Yggdroot/indentLine'
" Autonomous make integration (Compile)
Plug 'neomake/neomake'
Plug 'artur-shaik/vim-javacomplete2'
Plug 'dansomething/vim-eclim'
if has('nvim')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
Plug 'Shougo/deoplete.nvim'
Plug 'roxma/nvim-yarp'
endif
Plug 'Shougo/neosnippet'
Plug 'Shougo/neosnippet-snippets'
" Javascript Plugins
Plug 'othree/javascript-libraries-syntax.vim', { 'for': ['javascript', 'typescript'] }
Plug 'claco/jasmine.vim', { 'for': ['javascript', 'typescript'] }
Plug 'pangloss/vim-javascript', { 'for': 'javascript' }
Plug 'mxw/vim-jsx', { 'for': 'javascript' }
call plug#end()
let mapleader=","
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Fast editing and reloading of vimrc configs
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
map <leader>e :e! ~/.vimrc<cr>
autocmd! bufwritepost vimrc source ~/.vimrc
set timeoutlen=1000 ttimeoutlen=0
" CTags
set tags=./tags;
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Colors and Fonts
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Enable syntax highlighting
" For Neovim 0.1.3 and 0.1.4
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
" Or if you have Neovim >= 0.1.5
if (has("termguicolors"))
set termguicolors
endif
" for vim 7
set t_Co=256
" for vim 8
if (has("termguicolors"))
set termguicolors
endif
syntax enable
set noshowmode
" Set utf8 as standard encoding and en_US as the standard language
set encoding=utf8
" Use Unix as the standard file type
set ffs=unix,dos,mac
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Files, backups and undo
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Turn backup off, since most stuff is in SVN, git et.c anyway...
set nobackup
set nowb
set noswapfile
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Text, tab and indent related
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Use spaces instead of tabs
set expandtab
" Be smart when using tabs ;)
set smarttab
" Linebreak on 500 characters
set lbr
set tw=500
set ai "Auto indent
set si "Smart indent
set wrap "Wrap lines
set guifont=InputMono:h14
set hidden
set history=500
set tabstop=2
set softtabstop=2
set shiftwidth=2
set textwidth=79
set expandtab
set autoindent
set fileformat=unix
set number
set mouse=a
set so=7
let $LANG='en'
set langmenu=en
"Always show current position
set ruler
" Height of the command bar
set cmdheight=1
" A buffer becomes hidden when it is abandoned
set hid
" Configure backspace so it acts as it should act
set backspace=eol,start,indent
set whichwrap+=<,>,h,l
" Ignore case when searching
set ignorecase
" When searching try to be smart about cases
set smartcase
" Highlight search results
set hlsearch
" Makes search act like search in modern browsers
set incsearch
" Don't redraw while executing macros (good performance config)
set lazyredraw
" For regular expressions turn magic on
set magic
" Show matching brackets when text indicator is over them
set showmatch
" How many tenths of a second to blink when matching brackets
set mat=2
" No annoying sound on errors
set noerrorbells
set novisualbell
set t_vb=
set tm=500
" Add a bit extra margin to the left
set foldcolumn=1
" write quit map
nmap <leader>wq :wq<cr>
nmap <leader>q :q!<cr>
nmap <leader>w :w<cr>
" NO MORE FAILED FILE SAVES BECAUSE MY FINGERS ARE TOO FAT TO LET UP ON SHIFT
" Open and Close Location List (Error Messages)
nmap <leader>lc :lclose<cr>
nmap <leader>lo :lopen<cr>
" Highlights single column if you go past 80 columns for code legibility, this comment is an example
highlight OverLength ctermbg=darkred ctermfg=white guibg=#592929
match OverLength /\%81v./
" Markdown and VimWiki Filetypes
autocmd BufRead,BufNewFile *.md setlocal spell
au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown
autocmd BufRead,BufNewFile *.wiki setlocal spell
au BufNewFile,BufFilePre,BufRead *.wiki set filetype=wiki
" Vim yank to clipboard
set clipboard=unnamed
" Fix airline fonts from not displaying correctly
let g:airline_powerline_fonts = 1
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Nerd Tree
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" autocmd VimEnter * NERDTree | wincmd p
let NERDTreeIgnore=['\~$', '.o$', 'bower_components', 'node_modules', '\.pyc$', '__pycache__']
let g:NERDTreeWinPos = "right"
let NERDTreeShowHidden=0
let g:NERDTreeWinSize=35
nmap <leader>nn :NERDTreeToggle<cr>
nnoremap <silent> <leader>nb :NERDTreeFind<cr>
" Close NerdTree when vim exits
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
" NERDTress File highlighting
function! NERDTreeHighlightFile(extension, fg, bg, guifg, guibg)
exec 'autocmd filetype nerdtree highlight ' . a:extension .' ctermbg='. a:bg .' ctermfg='. a:fg .' guibg='. a:guibg .' guifg='. a:guifg
exec 'autocmd filetype nerdtree syn match ' . a:extension .' #^\s\+.*'. a:extension .'$#'
endfunction
call NERDTreeHighlightFile('ini', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('md', 'blue', 'none', '#3366FF', '#151515')
call NERDTreeHighlightFile('yml', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('config', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('conf', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('json', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('html', 'yellow', 'none', 'yellow', '#151515')
call NERDTreeHighlightFile('css', 'Red', 'none', '#ffa500', '#151515')
call NERDTreeHighlightFile('sass', 'Red', 'none', '#ffa500', '#151515')
call NERDTreeHighlightFile('ts', 'cyan', 'none', 'cyan', '#151515')
call NERDTreeHighlightFile('js', 'cyan', 'none', 'cyan', '#151515')
call NERDTreeHighlightFile('rb', 'Magenta', 'none', '#ff00ff', '#151515')
" Syntax Hilighting for ANTLR
au BufRead,BufNewFile *.g set syntax=antlr3
" New File Skeletons
autocmd BufNewFile *
\ let templatefile = expand("~/.dotfiles/templates/") . expand("%:e")|
\ if filereadable(templatefile)|
\ execute "silent! 0r " . templatefile|
\ execute "normal Gdd/CURSOR\<CR>dw"|
\ endif|
" vim-markdown
set nofoldenable
let g:vim_markdown_new_list_item_indent = 2
let g:markdown_fenced_languages = ['html', 'python', 'ruby', 'yaml', 'haml', 'bash=sh']
" vim-wiki
nmap <leader>whtml :VimwikiAll2HTML<cr>
nmap <leader>wit :VimwikiTable
let g:user_emmet_leader_key='<Tab>'
let g:user_emmet_settings = {
\ 'javascript.jsx' : {
\ 'extends' : 'jsx',
\ },
\}
""""""""""""""""""""""""""""""
" => MRU plugin
""""""""""""""""""""""""""""""
let MRU_Max_Entries = 400
map <leader>f :MRU<CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => vim-multiple-cursors
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let g:multi_cursor_next_key="\<C-s>"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Git gutter (Git diff)
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let g:gitgutter_enabled=0
let g:gitgutter_highlight_lines=1
nnoremap <silent> <leader>d :GitGutterToggle<cr>
""""""""""""""""""""""""""""""
" => Visual mode related
""""""""""""""""""""""""""""""
" Visual mode pressing * or # searches for the current selection
" Super useful! From an idea by Michael Naumann
vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Moving around, tabs, windows and buffers
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Map <Space> to / (search) and Ctrl-<Space> to ? (backwards search)
map <space> /
map <c-space> ?
" Disable highlight when <leader><cr> is pressed
map <silent> <leader><cr> :noh<cr>
" Smart way to move between windows
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
" Useful mappings for managing tabs
map <leader>tn :tabnew<cr>
map <leader>to :tabonly<cr>
map <leader>tc :tabclose<cr>
map <leader>tm :tabmove
map <leader>t<leader> :tabnext
" Move lines of code around
nnoremap <C-j> :m .+1<CR>==
nnoremap <C-k> :m .-2<CR>==
inoremap <C-j> <Esc>:m .+1<CR>==gi
inoremap <C-k> <Esc>:m .-2<CR>==gi
vnoremap <C-j> :m '>+1<CR>gv=gv
vnoremap <C-k> :m '<-2<CR>gv=gv
" Let 'tl' toggle between this and the last accessed tab
let g:lasttab = 1
nmap <Leader>tl :exe "tabn ".g:lasttab<CR>
au TabLeave * let g:lasttab = tabpagenr()
" Opens a new tab with the current buffer's path
" Super useful when editing files in the same directory
map <leader>te :tabedit <c-r>=expand("%:p:h")<cr>/
" Switch CWD to the directory of the open buffer
map <leader>cd :cd %:p:h<cr>:pwd<cr>
" Specify the behavior when switching between buffers
try
set switchbuf=useopen,usetab,newtab
set stal=2
catch
endtry
" Return to last edit position when opening files (You want this!)
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
""""""""""""""""""""""""""""""
" => Status line
""""""""""""""""""""""""""""""
" Always show the status line
set laststatus=2
" Format the status line
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Editing mappings
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Remap VIM 0 to first non-blank character
map 0 ^
" Remaps jk to ignore wrapped lines
nmap j gj
nmap k gk
" Delete trailing white space on save, useful for Python and CoffeeScript ;)
func! DeleteTrailingWS()
exe "normal mz"
%s/\s\+$//ge
exe "normal `z"
endfunc
autocmd BufWrite *.py :call DeleteTrailingWS()
autocmd BufWrite *.coffee :call DeleteTrailingWS()
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" The Silver Searcher
" => Ag searching and cope displaying
" requires ag.vim - it's much better than vimgrep/grep
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" When you press gv you Ag after the selected text
vnoremap <silent> gv :call VisualSelection('gv', '')<CR>
" Open Ag and put the cursor in the right position
map <leader>g :Ag
" bind \ (backward slash) to grep shortcut
command! -nargs=+ -complete=file -bar Ag silent! grep! <args>|cwindow|redraw!
cnoreabbrev ag Ack
cnoreabbrev aG Ack
cnoreabbrev Ag Ack
cnoreabbrev AG Ack
nnoremap \ :Ag<SPACE>
if executable('ag')
" Use ag over grep
set grepprg=ag\ --nogroup\ --nocolor
let g:ackprg = 'ag --vimgrep --smart-case'
endif
" bind K to grep word under cursor
nnoremap K :grep! "\b<C-R><C-W>\b"<CR>:cw<CR><CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Spell checking
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Pressing ,ss will toggle and untoggle spell checking
map <leader>ss :setlocal spell!<cr>
" Shortcuts using <leader>
map <leader>sn ]s
map <leader>sp [s
map <leader>sa zg
map <leader>s? z=
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Misc
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Remove the Windows ^M - when the encodings gets messed up
noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm
" Toggle paste mode on and off
map <leader>pp :setlocal paste!<cr>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Helper functions
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
function! VisualSelection(direction, extra_filter) range
let l:saved_reg = @"
execute "normal! vgvy"
let l:pattern = escape(@", '\\/.*$^~[]')
let l:pattern = substitute(l:pattern, "\n$", "", "")
if a:direction == 'gv'
call CmdLine("Ag \"" . l:pattern . "\" " )
elseif a:direction == 'replace'
call CmdLine("%s" . '/'. l:pattern . '/')
endif
let @/ = l:pattern
let @" = l:saved_reg
endfunction
" Returns true if paste mode is enabled
function! HasPaste()
if &paste
return 'PASTE MODE '
endif
return ''
endfunction
" Disable scrollbars (real hackers don't use scrollbars for navigation!)
set guioptions-=r
set guioptions-=R
set guioptions-=l
set guioptions-=L
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Turn persistent undo on
" means that you can undo even when you close a buffer/VIM
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
try
set undodir=~/.vim_runtime/temp_dirs/undodir
set undofile
catch
endtry
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => General abbreviations
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
iab xdate <c-r>=strftime("%d/%m/%y %H:%M:%S")
""""""""""""""""""""""""""""""
" => Python section
""""""""""""""""""""""""""""""
" let python_highlight_all = 1
" au FileType python syn keyword pythonDecorator True None False self
au BufNewFile,BufRead *.jinja set syntax=htmljinja
au BufNewFile,BufRead *.mako set ft=mako
au FileType gitcommit call setpos('.', [0, 1, 1, 0])
" important!!
set termguicolors
" for dark version
set background=dark
" the configuration options should be placed before `colorscheme edge`
let g:edge_disable_italic_comment = 1
let g:edge_popup_menu_selection_background = 'green'
" edge
colorscheme edge
" or this line
let g:lightline = {'colorscheme' : 'edge'}
" vertical line indentation
let g:indentLine_color_term = 239
let g:indentLine_color_gui = '#09AA08'
let g:indentLine_char = '│'
" When reading a buffer (after 1s), and when writing.
" call neomake#configure#automake('rw', 1000)
autocmd! BufWritePost,BufEnter * Neomake
let g:deoplete#enable_at_startup = 1
let g:deoplete#omni_patterns = {}
let g:deoplete#omni_patterns.java = '[^. *\t]\.\w*'
let g:deoplete#sources = {}
let g:deoplete#sources._ = []
let g:deoplete#file#enable_buffer_path = 1
let g:AutoClosePumvisible = {"ENTER": "<C-Y>", "ESC": "<ESC>"}
nnoremap <C-p> :<C-u>FZF<CR>
let g:syntastic_javascript_checkers = ['eslint']
" w0rp/ale
let g:ale_emit_conflict_warnings = 0
let g:ale_sign_error = '●' " Less aggressive than the default '>>'
let g:ale_sign_warning = '.'
let g:ale_lint_on_enter = 0 " Less distracting when opening a new file
" Neoformat / Prettier
autocmd BufWritePre *.js Neoformat
autocmd BufWritePre *.jsx Neoformat
let g:ale_set_loclist = 0
let g:ale_set_quickfix = 1
" Conceal Level is dumb
autocmd InsertEnter *.json setlocal conceallevel=0 concealcursor=
autocmd InsertLeave *.json setlocal conceallevel=2 concealcursor=inc
autocmd InsertEnter *.md setlocal conceallevel=0 concealcursor=
autocmd InsertLeave *.md setlocal conceallevel=2 concealcursor=inc
" javacomplete config
autocmd FileType java setlocal omnifunc=javacomplete#Complete
nmap <F4> <Plug>(JavaComplete-Imports-AddSmart)
imap <F4> <Plug>(JavaComplete-Imports-AddSmart)
nmap <F5> <Plug>(JavaComplete-Imports-Add)
imap <F5> <Plug>(JavaComplete-Imports-Add)
nmap <F6> <Plug>(JavaComplete-Imports-AddMissing)
imap <F6> <Plug>(JavaComplete-Imports-AddMissing)
nmap <F7> <Plug>(JavaComplete-Imports-RemoveUnused)
imap <F7> <Plug>(JavaComplete-Imports-RemoveUnused)
" Run current file tests
map <leader>ju :JUnit %<cr>
" Run all tests
map <leader>ja :JUnit *<cr>

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

2099
dotfiles/zsh/antigen/.zcompdump Executable file

File diff suppressed because it is too large Load diff

Binary file not shown.

51
dotfiles/zsh/antigen/init.zsh Executable file
View file

@ -0,0 +1,51 @@
#-- START ZCACHE GENERATED FILE
#-- GENERATED: Wed Aug 9 14:15:05 CDT 2017
#-- ANTIGEN v2.0.2
_antigen () {
local -a _1st_arguments
_1st_arguments=('apply:Load all bundle completions' 'bundle:Install and load the given plugin' 'bundles:Bulk define bundles' 'cleanup:Clean up the clones of repos which are not used by any bundles currently loaded' 'cache-gen:Generate cache' 'init:Load Antigen configuration from file' 'list:List out the currently loaded bundles' 'purge:Remove a cloned bundle from filesystem' 'reset:Clears cache' 'restore:Restore the bundles state as specified in the snapshot' 'revert:Revert the state of all bundles to how they were before the last antigen update' 'selfupdate:Update antigen itself' 'snapshot:Create a snapshot of all the active clones' 'theme:Switch the prompt theme' 'update:Update all bundles' 'use:Load any (supported) zsh pre-packaged framework')
_1st_arguments+=('help:Show this message' 'version:Display Antigen version')
__bundle () {
_arguments '--loc[Path to the location <path-to/location>]' '--url[Path to the repository <github-account/repository>]' '--branch[Git branch name]' '--no-local-clone[Do not create a clone]'
}
__list () {
_arguments '--simple[Show only bundle name]' '--short[Show only bundle name and branch]' '--long[Show bundle records]'
}
__cleanup () {
_arguments '--force[Do not ask for confirmation]'
}
_arguments '*:: :->command'
if (( CURRENT == 1 ))
then
_describe -t commands "antigen command" _1st_arguments
return
fi
local -a _command_args
case "$words[1]" in
(bundle) __bundle ;;
(use) compadd "$@" "oh-my-zsh" "prezto" ;;
(cleanup) __cleanup ;;
(update|purge) compadd $(type -f \-antigen-get-bundles &> /dev/null || antigen &> /dev/null; -antigen-get-bundles --simple 2> /dev/null) ;;
(theme) compadd $(type -f \-antigen-get-themes &> /dev/null || antigen &> /dev/null; -antigen-get-themes 2> /dev/null) ;;
(list) __list ;;
esac
}
antigen () {
[[ "$ZSH_EVAL_CONTEXT" =~ "toplevel:*" || "$ZSH_EVAL_CONTEXT" =~ "cmdarg:*" ]] && source "/Users/winterjd/.dotfiles/zsh/autoload/antigen.zsh" && eval antigen $@;
return 0;
}
fpath+=(/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-syntax-highlighting /Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-autosuggestions /Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-completions /Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-history-substring-search); PATH="$PATH:"
_antigen_compinit () {
autoload -Uz compinit; compinit -C -d "/Users/winterjd/.zsh/antigen/.zcompdump"; compdef _antigen antigen
add-zsh-hook -D precmd _antigen_compinit
}
autoload -Uz add-zsh-hook; add-zsh-hook precmd _antigen_compinit
compdef () {}
source "/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh";
source "/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh";
source "/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-completions/zsh-completions.plugin.zsh";
source "/Users/winterjd/.zsh/antigen/bundles/zsh-users/zsh-history-substring-search/zsh-history-substring-search.zsh";
typeset -aU _ANTIGEN_BUNDLE_RECORD; _ANTIGEN_BUNDLE_RECORD=('https://github.com/zsh-users/zsh-syntax-highlighting.git / plugin true' 'https://github.com/zsh-users/zsh-autosuggestions.git / plugin true' 'https://github.com/zsh-users/zsh-completions.git / plugin true' 'https://github.com/zsh-users/zsh-history-substring-search.git / plugin true')
_ANTIGEN_CACHE_LOADED=true ANTIGEN_CACHE_VERSION='v2.0.2'
#-- END ZCACHE GENERATED FILE

BIN
dotfiles/zsh/antigen/init.zsh.zwc Executable file

Binary file not shown.

1
dotfiles/zsh/zsh Symbolic link
View file

@ -0,0 +1 @@
/Users/blakeridgway/dotfiles/zsh

115
dotfiles/zshrc Executable file
View file

@ -0,0 +1,115 @@
# Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh
# $GOPATH
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
# ZSH_THEME="dracula"
ZSH_THEME="powerlevel9k/powerlevel9k"
POWERLEVEL9K_MODE="nerdfont-complete"
DEFAULT_USER="bridgway"
POWERLEVEL9K_DISABLE_RPROMPT=true
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="契"
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=""
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_linux_icon battery dir vcs)
POWERLEVEL9K_CUSTOM_LINUX_ICON="echo "
POWERLEVEL9K_CUSTOM_LINUX_ICON_BACKGROUND=069
POWERLEVEL9K_CUSTOM_LINUX_ICON_FOREGROUND=015
# Battery colors
POWERLEVEL9K_BATTERY_CHARGING='107'
POWERLEVEL9K_BATTERY_CHARGED='blue'
POWERLEVEL9K_BATTERY_LOW_THRESHOLD='50'
POWERLEVEL9K_BATTERY_LOW_COLOR='red'
POWERLEVEL9K_BATTERY_CHARGED_BACKGROUND='blue'
POWERLEVEL9K_BATTERY_CHARGED_FOREGROUND='white'
POWERLEVEL9K_BATTERY_CHARGING_BACKGROUND='107'
POWERLEVEL9K_BATTERY_CHARGING_FOREGROUND='white'
POWERLEVEL9K_BATTERY_LOW_BACKGROUND='red'
POWERLEVEL9K_BATTERY_LOW_FOREGROUND='white'
POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND='white'
POWERLEVEL9K_BATTERY_DISCONNECTED_BACKGROUND='214'
plugins=(git)
# User configuration
export PATH="$PATH:$HOME/.cabal/bin:/opt/cabal/1.22/bin:/opt/ghc/7.10.3/bin:$HOME/.rvm/gems:$HOME/.rvm/bin:$HOME/bin:/usr/local/bin:/usr/local/nwjs:/usr/local/var/postgres"
# export MANPATH="/usr/local/man:$MANPATH"
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
source $ZSH/oh-my-zsh.sh
source $HOME/dotfiles/aliases.zsh
source $HOME/.cargo/env
# Force add ssh keys on terminal startup, and turn on ssh-agent
# eval "$(ssh-agent -s)"
# This is for Starship
# eval "$(starship init zsh)"
ssh-add -A 2>/dev/null;
# You may need to manually set your language environment
#export LANG="en_US"
#export LC_ALL=$LANG.UTF-8
# Set preferred editor
export EDITOR='vim'
KEYTIMEOUT=1
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='vim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# ssh
# export SSH_KEY_PATH="~/.ssh/dsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
export CPLUS_INCLUDE_PATH=/usr/local/include
# Python Variables
# VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
# source /usr/local/bin/virtualenvwrapper.sh
# brew install zsh-syntax-highlighting
# source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
export PATH="/usr/local/opt/mysql@5.6/bin:$PATH"
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
function code {
if [[ $# = 0 ]]
then
open -a "Visual Studio Code"
else
local argPath="$1"
[[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}"
open -a "Visual Studio Code" "$argPath"
fi
}

11
go-installation/go-install Executable file
View file

@ -0,0 +1,11 @@
#/bin/bash
# Grabs and downloads Go for Google
wget https://golang.org/dl/go1.15.2.linux-amd64.tar.gz
# Untar's the file just recently downloaded
sudo tar -C /usr/local -xzf go1.15.2.linux-amd64.tar.gz
# Exports the GOPATH
export PATH=$PATH:/usr/local/go/bin

1
powershell-install/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
install.sh

View file

@ -0,0 +1,7 @@
# PowerShell Installation Scripts
I have included scripts from the official Microsoft documentation on installing PowerShell Core on macOS and Ubuntu Distributions.
Along with those scripts, I have also included the Third Revision of "Learn Windows PowerShell 3 in a Month Of Lunches".
Enjoy this, and make things friends!

View file

@ -0,0 +1,19 @@
#!/bin/bash
#####################################################
# Powershell Installation Script. macOS and Linux #
#####################################################
echo "Installing Homebrew"
# Install Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
echo "Install Cask"
# Install Cask
brew install caskroom/cask/brew-cask
echo "Using Cask to install Powershell"
# Install Powershell Using Cask
brew cask install powershell
read -p "The installation has completed. Use pwsh to user PowerShell"

View file

@ -0,0 +1,27 @@
#########################################
# Ubuntu PowerShell Installation Script #
# Created by Blake Ridgway #
# libicu52 Package location #
# https://debian.pkgs.org/8/debian-main-amd64/libicu52_52.1-8+deb8u7_amd64.deb.html
#########################################
# Download the Microsoft repository GPG keys
wget -q https://packages.microsoft.com/config/ubuntu/14.04/packages-microsoft-prod.deb
# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb
# Update the list of products
sudo apt update; sudo apt upgrade
# Downloads the libicu52 dependecy
wget -q http://ftp.br.debian.org/debian/pool/main/i/icu/libicu52_52.1-8+deb8u7_amd64.deb
# Installs the libicu52 dependecy
sudo dpkg -i libicu52_52.1-8+deb8u7_amd64.deb
# Install PowerShell
sudo apt-get install -y powershell
echo "The installation has completed. Use pwsh to user PowerShell"

12
ruby-install/README.md Normal file
View file

@ -0,0 +1,12 @@
# Ruby & rbenv Installation
There is currently two parts to get this to work.
`install` & `rbenv-install`
The first part that needs to be ran is `install`. This will install the
requirements needed to complete the installation with `rbenv-install`.
# Disclaimer
This is currently **ONLY** set to work with zsh.

20
ruby-install/install Executable file
View file

@ -0,0 +1,20 @@
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarn
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.zshrc
echo "#####################################################"
echo "# Please restart your shell or run 'exec $SHELL' #"
echo "# Then run the second script. rbenv-install #"
echo "#####################################################"

17
ruby-install/rbenv-install Executable file
View file

@ -0,0 +1,17 @@
#!/bin/bash
# Installs rbenv
rbenv install 2.7.1
rbenv global 2.7.1
ruby -v
# Insalls Bundler
gem install bundler
rbenv rehash
# Installs Rails Version 6.
gem install rails -v 6.0.2.2
rbenv rehash