Work on dotdiles

master
Jonathan Hodgson 7 years ago
parent 2749e72abe
commit 6ea3f345b0
  1. 3
      .gitmodules
  2. 1
      rofi/rofi
  3. 2
      rofi/scripts/rofi-emoji
  4. 162
      shells/aliases
  5. 18
      shells/bash/bash_profile
  6. 192
      shells/bash/bashrc
  7. 233
      shells/functions
  8. 14
      shells/profile
  9. 142
      shells/zsh/oh-my-zsh/aliases.zsh
  10. 234
      shells/zsh/oh-my-zsh/functions.zsh
  11. 15
      shells/zsh/zprofile
  12. 1
      shells/zsh/zsh-syntax-highlighting
  13. 9
      shells/zsh/zshrc
  14. 53
      symlinks.sh

3
.gitmodules vendored

@ -4,3 +4,6 @@
[submodule "custom-oh-my-zsh/themes/powerlevel9k"] [submodule "custom-oh-my-zsh/themes/powerlevel9k"]
path = custom-oh-my-zsh/themes/powerlevel9k path = custom-oh-my-zsh/themes/powerlevel9k
url = https://github.com/bhilburn/powerlevel9k.git url = https://github.com/bhilburn/powerlevel9k.git
[submodule "shells/zsh/zsh-syntax-highlighting"]
path = shells/zsh/zsh-syntax-highlighting
url = https://github.com/zsh-users/zsh-syntax-highlighting.git

@ -0,0 +1 @@
/home/jonathan/.dotfiles/rofi

@ -21,7 +21,7 @@
# #
# Where to save the emojis file. # Where to save the emojis file.
UNICODE_FILE="/home/jonathan/.dotfiles/config/rofi/scripts/unicode.txt" UNICODE_FILE="$HOME/.dotfiles/rofi/scripts/unicode.txt"
# Urls of emoji to download. # Urls of emoji to download.
# You can remove what you don't need. # You can remove what you don't need.

@ -0,0 +1,162 @@
# These alow me to easily set the file and folder permissions for a wordpress instilation.
alias folder-perms='find . -type d -not -path "./.git/*" -not -path "./.git" -not -perm 775 -exec chmod 775 {} \;'
alias file-perms='find . -type f -not -path "./.git/*" -not -path "./.git" -not -perm 664 -exec chmod 664 {} \;'
alias wp-perms='folder-perms; file-perms'
alias magentoPerms='cd ${PWD%/public_html*}/public_html;sudo chown -R jonathan:http .; folder-perms; file-perms; chmod +x bin/*; cd -'
alias upgr='magento setup:upgrade && magento setup:di:compile && magentoPerms'
#
# Make ls add Indicator#s to file names and colour the output
alias ls='ls -F --color=auto'
# Make tree add indicators and color
alias tree='tree -F -C'
# Make qmv open on 1 column mode
alias qmv='qmv -f do'
alias msfconsole="msfconsole --quiet -x \"db_connect msf@msf\""
#Start cups
alias cups='sudo systemctl start org.cups.cupsd.service'
#Start network manager
alias net='sudo systemctl start NetworkManager.service'
# Alias lampp because I don't want to clog my PATH
alias lampp='/opt/lampp/lampp'
alias glampp='gksudo /opt/lampp/manager-linux-x64.run'
alias php='/opt/lampp/bin/php'
alias php-cgi='/opt/lampp/bin/php-cgi'
alias php-config='/opt/lampp/bin/php-config'
#Always make all directories necesary
alias mkdir='mkdir -p'
# Shortcut for rewriting wp permalinks
alias perms='wp rewrite flush'
#Clear terminal and screenfetch
alias cls='clear; neofetch'
#An alias for my standard less configuration
#I don't set it to lessc because sometimes I don't use this config and I always forget how to ignore an alias
#alias myless='lessc --clean-css --source-map-basepath=/home/jonathan/Sites/charts/public_html --source-map --autoprefix="last 3 versions, ie >= 9" styles.less styles.min.css'
alias myless='lessc --clean-css --source-map --autoprefix="last 3 versions, ie >= 11" styles.less styles.min.css'
# Git shortcuts
alias status='git status '
alias st='git status'
alias checkout='git checkout'
alias ch='git checkout'
alias push='git push '
alias pull='git pull '
alias bb='git open'
alias merge='git merge'
alias mg='git merge'
# Always make grep ouput color
alias grep="grep --color=auto"
# Shortcuts to sites folder
alias sites="cd ~/Sites"
alias s="cd ~/Sites"
# Shortcuts to documents folder
alias documents="cd ~/Documents/"
alias d="cd ~/Documents/"
# Shortcuts to hack the box folder
alias htb="cd ~/Documents/htb/"
# Shortcuts to documents folder
alias db="cd ~/Dropbox/"
# Shortcuts to home folder
alias home="cd ~/"
alias ~="cd ~/"
#Goes up to the public_html folder
alias ph='cd ${PWD%/public_html*}/public_html'
# Quit the terminal using :q (The same as Vi/Vim)
alias :q='exit;'
# Not sure why and how but this makes sudo work with my aliases
alias sudo='sudo '
#Make the cal command default to start on Sunday
alias cal='cal -s'
# update the third party wordpress plugins we are mirroring
alias u3p='update3rdPartyPlugins'
# Edit my bashrc
alias brc='$EDITOR ~/.bashrc'
# Edit my vimrc
alias vrc='$EDITOR ~/.vimrc'
# Go to my .vim folder
alias .v='cd ~/.vim/'
alias df='cd ~/.dotfiles'
#Make vim start in server mode
alias vim='vim --servername jab2870'
# moon phase
alias moonphase='weather moon'
#Get arch news
alias archNews='w3m https://www.archlinux.org/ | sed -n "/Latest News/,/Older News/ p" | head -n -1 | less'
#Radio Stations
AUDIO=mpv
alias radio2="$AUDIO http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_med/llnw/bbc_radio_two.m3u8"
alias radio4="$AUDIO http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_med/llnw/bbc_radio_fourfm.m3u8"
alias classic="$AUDIO http://icy-e-bab-04-cr.sharp-stream.com/absoluteradio.mp3"
alias absolute="$AUDIO 'http://network.absoluteradio.co.uk/core/audio/mp3/live.pls?service=vrbb'"
alias bs="curl -s http://cbsg.sourceforge.net/cgi-bin/live | grep -Eo '^<li>.*</li>' | sed -r -e 's/<\/?li>//g' | shuf -n 1 | cowsay"
alias jq="jq -C"
alias debugBuild='node --inspect-brk /usr/bin/grunt build'
alias lc="colorls -r"
alias open="$TERMINAL & disown"
#audiable to mp3
alias aa2mp3='ffmpeg -f concat -safe 0 -i <(for f in *.aa; do echo "file '"'"'$(pwd)/$f'"'"'";done) output.mp3'
# Fix Typos
alias cim="vim"
alias vom="vim"
alias vin="vim"
alias vi="vim"
alias v="vim"
#Servers Memory
alias servermem='toilet -w 200 "VPS 01" && ssh shires free -h && toilet -w 200 "VPS 02" && ssh abc free -h && toilet -w 200 "VPS 03" && ssh cdc2 free -h && toilet -w 200 "Freightliner" && ssh freightliner free -h && toilet -w 200 "NHS" && ssh nhs free -h'
###########################################
# #
# Suffex Aliases #
# #
###########################################
alias -s html=$EDITOR
alias -s htm=$EDITOR
alias -s php=$EDITOR
alias -s less=$EDITOR
alias -s css=$EDITOR
alias -s js=$EDITOR
alias -s es6=$EDITOR
alias -s gitignore=$EDITOR
alias -s json=$EDITOR

@ -7,25 +7,9 @@
export TERMINAL=/usr/bin/konsole source ~/.dotfiles/shells/profile
export TERM=xterm-256color
export PATH=~/.bin:$PATH:/opt/lampp/bin:.
export EDITOR='vim --servername jab2870'
export CDPATH=.:~:~/Sites
#Ruby things
GEM_HOME=$(ls -t -U | ruby -e 'puts Gem.user_dir')
GEM_PATH=$GEM_HOME
export PATH=$PATH:$GEM_HOME/bin
export GEM_HOME=$(ruby -e 'print Gem.user_dir')
# tab completion for ssh hosts # tab completion for ssh hosts
complete -o default -o nospace -W "$(/usr/bin/env ruby -ne 'puts $_.split(/[,\s]+/)[1..-1].reject{|host| host.match(/\*|\?/)} if $_.match(/^\s*Host\s+/);' < $HOME/.ssh/config)" scp sftp ssh complete -o default -o nospace -W "$(/usr/bin/env ruby -ne 'puts $_.split(/[,\s]+/)[1..-1].reject{|host| host.match(/\*|\?/)} if $_.match(/^\s*Host\s+/);' < $HOME/.ssh/config)" scp sftp ssh
#echo -e "Please don't sabotage my computer while I'm away \n\nTo turn on the print server, run the command 'cups'\n\nTo update 3d party plugins, run command 'u3p'" | /usr/bin/cowsay -f tux -W 80
[ -r "$HOME/.smartcd_config" ] && ( [ -n $BASH_VERSION ] || [ -n $ZSH_VERSION ] ) && source ~/.smartcd_config
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

@ -2,200 +2,14 @@
# ~/.bashrc # ~/.bashrc
# #
# If not running interactively, don't do anything # If not running interactively, don't do anything
[[ $- != *i* ]] && return [[ $- != *i* ]] && return
source ~/.dotfiles/shells/aliases
source ~/.dotfiles/shells/functions
big-chromium () {
chromium --force-device-scale-factor=$1
}
big-new-chromium () {
chromium-snapshot-bin --force-device-scale-factor=$1
}
#Swap two files
function swap() {
mv $1 $1._tmp;
mv $2 $1;
mv $1._tmp $2;
}
function old() {
mv "$1" "$1.old"
}
#This prints the current working directory after doing a cd"
cdls(){
cd "$@"
ls -F --color=always
}
#Takes you to the aquarius theme
function aquarius() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
theme=$public_html/wp-content/themes
if [ -d $theme ]; then
cdls $theme/aquarius
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the child theme
function theme() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
theme=$public_html/wp-content/themes
if [ -d $theme ]; then
child=$(ls -d $theme/*/ | grep -v "$theme\/aquarius" | grep -v "$theme\/twenty*" | grep -v "$theme\/barelycorporate" -m 1)
cdls $child
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
########################################
## ##
## Search Functions ##
## ##
########################################
#These search functions use grep to search all sub-folders of the current working directory
searchjs() {
# This will search through .js and .es6 files but won't search minified files
grep -r -i -n --color="always" --include=\*.{js,es6} --exclude=\*.min.js "$1" .
}
searchcss() {
# This will search through .css and .less files but won't search minified files
grep -r -i -n --color="always" --include=\*.{css,less,scss,sass} --exclude=\*.min.css "$1" .
}
searchphp() {
grep -r -i -n --color="always" --include="*.php" "$1" .
}
# This makes cd use function above
alias cd="cdls"
# These alow me to easily set the file and folder permissions for a wordpress instilation.
alias folder-perms='find . -type d -not -path "./.git/*" -not -path "./.git" -exec chmod 775 {} \;'
alias file-perms='find . -type f -not -path "./.git/*" -not -path "./.git" -exec chmod 664 {} \;'
alias wp-perms='folder-perms; file-perms'
alias magentoPerms='cd ${PWD%/public_html*}/public_html;sudo chown -R jonathan:http .; folder-perms; file-perms; chmod +x bin/magento; cd -'
#
# Make ls add Indicator#s to file names and colour the output
alias ls='ls -F --color=auto'
# Make tree add indicators and color
alias tree='tree -F -C'
#Start cups
alias cups='sudo systemctl start org.cups.cupsd.service'
#Start network manager
alias net='sudo systemctl start NetworkManager.service'
# Alias lampp because I don't want to clog my PATH
alias lampp='/opt/lampp/lampp'
alias glampp='gksudo /opt/lampp/manager-linux-x64.run'
alias php='/opt/lampp/bin/php'
alias php-cgi='/opt/lampp/bin/php-cgi'
alias php-config='/opt/lampp/bin/php-config'
#Always make all directories necesary
alias mkdir='mkdir -p'
# Shortcut for rewriting wp permalinks
alias perms='wp rewrite flush'
#Clear terminal and screenfetch
alias cls='clear; screenfetch'
#An alias for my standard less configuration
#I don't set it to lessc because sometimes I don't use this config and I always forget how to ignore an alias
#alias myless='lessc --clean-css --source-map-basepath=/home/jonathan/Sites/charts/public_html --source-map --autoprefix="last 3 versions, ie >= 9" styles.less styles.min.css'
alias myless='lessc --clean-css --source-map --autoprefix="last 3 versions, ie >= 9" styles.less styles.min.css'
# Git shortcuts
alias status='git status '
alias st='git status'
alias checkout='git checkout'
alias ch='git checkout'
alias push='git push '
alias pull='git pull '
alias bb='git open'
# Always make grep ouput color
alias grep="grep --color=auto"
# Shortcuts to sites folder
alias sites="cd ~/Sites"
alias s="cd ~/Sites"
# Shortcuts to documents folder
alias documents="cd ~/Documents/"
alias d="cd ~/Documents/"
# Shortcuts to home folder
alias home="cd ~/"
alias ~="cd ~/"
#Goes up to the public_html folder
alias ph='cd ${PWD%/public_html*}/public_html'
# Quit the terminal using :q (The same as Vi/Vim)
alias :q='exit;'
# Not sure why and how but this makes sudo work with my aliases
alias sudo='sudo '
#Make the cal command default to start on Sunday
alias cal='cal -s'
# update the third party wordpress plugins we are mirroring
alias u3p='update3rdPartyPlugins'
# Edit my bashrc
alias brc='$EDITOR ~/.bashrc'
# Edit my vimrc
alias vrc='$EDITOR ~/.vimrc'
# Go to my .vim folder
alias .v='cd ~/.vim/'
# Go to my dotfiles folder
#if [[ $(hostname) == "jonathansnuc" ]]; then
# #Please don't judge - This is a reminant from first days of version controlling dotfiles
# alias df='cd ~/Downloads/laptopConfig/'
#else
alias df='cd ~/.dotfiles'
#fi
#Make vim start in server mode
alias vim='vim --servername jab2870'
# moon phase
alias moonphase='weather moon'
#Radio Stations
AUDIO=mpv
alias radio2="$AUDIO http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_med/llnw/bbc_radio_two.m3u8"
alias radio4="$AUDIO http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_med/llnw/bbc_radio_fourfm.m3u8"
alias classic="$AUDIO http://icy-e-bab-04-cr.sharp-stream.com/absoluteradio.mp3"
alias absolute="$AUDIO http://network.absoluteradio.co.uk/core/audio/mp3/live.pls?service=vrbb"
alias bs="curl -s http://cbsg.sourceforge.net/cgi-bin/live | grep -Eo '^<li>.*</li>' | sed s,\\</\\\\?li\\>,,g | shuf -n 1 | cowsay"
alias jq="jq -C"
alias debugBuild='node --inspect-brk /usr/bin/grunt build'
#alias xkcd='curl https://xkcd.com/info.0.json 2> /dev/null| \jq ".img" | xargs feh' #alias xkcd='curl https://xkcd.com/info.0.json 2> /dev/null| \jq ".img" | xargs feh'

@ -0,0 +1,233 @@
function big-chromium () {
chromium --force-device-scale-factor=$1
}
function big-new-chromium () {
chromium-snapshot-bin --force-device-scale-factor=$1
}
# make xclip work as I would expect. Copy to clipboard if piped data. Paste from otherwise
function xclip(){
if command -v /usr/bin/xclip 1>/dev/null; then
if [[ -p /dev/stdin ]] ; then
# stdin is a pipe
# stdin -> clipboard
/usr/bin/xclip -i -selection clipboard
else
# stdin is not a pipe
# clipboard -> stdout
/usr/bin/xclip -o -selection clipboard
fi
else
echo "Remember to install xclip"
fi
}
#Swap two files
function swap() {
mv $1 $1._tmp;
mv $2 $1;
mv $1._tmp $2;
}
function old() {
mv "$1" "$1.old"
}
function cdlc() {
cd "$@"
/home/jonathan/.gem/ruby/2.4.0/bin/colorls --sd | tail -n +2
}
#alias cd="cdlc"
function mkcd() {
mkdir -p "$1"
cd "$1"
}
function createLetter(){
if [ "$1" ]; then
if [ "$2" ]; then
newFile="$2"
else
newFile="$1"
newFile="${newFile%.*}.pdf"
fi
pandoc --template template-letter.tex $1 -o $newFile
else
echo "Oops. You need to suply a file"
return 1
fi
}
#Takes you to the parent theme
function ptheme() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
theme=$(dirname $(wp --path="$wpPath" theme path $(wp --path="$wpPath" theme list | grep "parent" | awk '{print $1}')))
if [ -d $theme ]; then
if [ -d "$theme" ]; then
cd $theme
else
echo " Can't find theme folder "
fi
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the child theme
function theme() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
theme=$(dirname $(wp --path="$wpPath" theme path $(wp --path="$wpPath" theme list | grep "active" | grep -v "inactive" | awk '{print $1}')))
if [ -d $theme ]; then
cd $theme
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the js folder child theme
function js() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
theme=$(dirname $(wp --path="$wpPath" theme path $(wp --path="$wpPath" theme list | grep "active" | grep -v "inactive" | awk '{print $1}')))
if [ -d $theme ]; then
if [ -d "$theme/js" ]; then
cd "$theme/js"
else
echo "Can't find a JS folder. Here is the theme"
cd "$theme"
fi
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the css folder child theme
function css() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
theme=$(dirname $(wp --path="$wpPath" theme path $(wp --path="$wpPath" theme list | grep "active" | grep -v "inactive" | awk '{print $1}')))
if [ -d $theme ]; then
if [ -d "$theme/css" ]; then
cd "$theme/css"
else
echo "Can't find a CSS folder. Here is the theme"
cd "$theme"
fi
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the plugin directory
function plugins() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
cd $(wp --path="$wpPath" plugin path)
else
echo " Can't find public_html folder."
fi
}
#Takes you to the theme directory
function themes() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
cd $(wp --path="$wpPath" theme path)
else
echo " Can't find public_html folder."
fi
}
########################################
## ##
## Search Functions ##
## ##
########################################
#These search functions use grep to search all sub-folders of the current working directory
searchjs() {
# This will search through .js and .es6 files but won't search minified files
grep -r -i -n --color="always" --include=\*.{js,es6} --exclude=\*.min.js "$1" .
}
searchcss() {
# This will search through .css and .less files but won't search minified files
grep -r -i -n --color="always" --include=\*.{css,less,scss,sass} --exclude=\*.min.css "$1" .
}
searchphp() {
grep -r -i -n --color="always" --include=\*.{php,phtml} "$1" .
}
searchhtml() {
grep -r -i -n --color="always" --include=\*.{html,htm} "$1" .
}
png() {
pngcrush -brute "$1"{,.} && du -b "$1"{,.}
}
gif() {
gifsicle -O "$1" -o "$1." && du -b "$1"{,.}
}
jpeg() {
jpegtran "$1" > "$1." && du -b "$1"{,.}
}
# Just for easy access in history
mpng() {
mv "$1"{.,}
}
mgif() {
newsize=$(wc -c <"$1.")
oldsize=$(wc -c <"$1")
if [ $oldsize -gt $newsize ] ; then
mv "$1"{.,}
else
rm "$1."
fi
}
mjpeg() {
mv "$1"{.,}
}

@ -0,0 +1,14 @@
export LANG="en_GB.UTF-8"
export TERMINAL=/usr/local/bin/st
export TERM=xterm-256color
export PATH=~/.bin:$PATH:/opt/lampp/bin:.
export EDITOR='vim'
export CDPATH=.:~:~/Sites
#Ruby things
GEM_HOME=$(ls -t -U | ruby -e 'puts Gem.user_dir')
GEM_PATH=$GEM_HOME
export PATH=$PATH:$GEM_HOME/bin
export GEM_HOME=$(ruby -e 'print Gem.user_dir')
echo -e "Please don't sabotage my computer while I'm away \n\nTo turn on the print server, run the command 'cups'\n\nTo update 3d party plugins, run command 'u3p'\n\nTo turn on my servers, run command 'sudo lampp start'" | /usr/bin/cowsay -f tux -W 80

@ -1,144 +1,4 @@
# These alow me to easily set the file and folder permissions for a wordpress instilation. source ~/.dotfiles/shells/aliases
alias folder-perms='find . -type d -not -path "./.git/*" -not -path "./.git" -not -perm 775 -exec chmod 775 {} \;'
alias file-perms='find . -type f -not -path "./.git/*" -not -path "./.git" -not -perm 664 -exec chmod 664 {} \;'
alias wp-perms='folder-perms; file-perms'
alias magentoPerms='cd ${PWD%/public_html*}/public_html;sudo chown -R jonathan:http .; folder-perms; file-perms; chmod +x bin/*; cd -'
alias upgr='magento setup:upgrade && magento setup:di:compile && magentoPerms'
#
# Make ls add Indicator#s to file names and colour the output
alias ls='ls -F --color=auto'
# Make tree add indicators and color
alias tree='tree -F -C'
# Make qmv open on 1 column mode
alias qmv='qmv -f do'
alias msfconsole="msfconsole --quiet -x \"db_connect msf@msf\""
#Start cups
alias cups='sudo systemctl start org.cups.cupsd.service'
#Start network manager
alias net='sudo systemctl start NetworkManager.service'
# Alias lampp because I don't want to clog my PATH
alias lampp='/opt/lampp/lampp'
alias glampp='gksudo /opt/lampp/manager-linux-x64.run'
alias php='/opt/lampp/bin/php'
alias php-cgi='/opt/lampp/bin/php-cgi'
alias php-config='/opt/lampp/bin/php-config'
#Always make all directories necesary
alias mkdir='mkdir -p'
# Shortcut for rewriting wp permalinks
alias perms='wp rewrite flush'
#Clear terminal and screenfetch
alias cls='clear; neofetch'
#An alias for my standard less configuration
#I don't set it to lessc because sometimes I don't use this config and I always forget how to ignore an alias
#alias myless='lessc --clean-css --source-map-basepath=/home/jonathan/Sites/charts/public_html --source-map --autoprefix="last 3 versions, ie >= 9" styles.less styles.min.css'
alias myless='lessc --clean-css --source-map --autoprefix="last 3 versions, ie >= 11" styles.less styles.min.css'
# Git shortcuts
alias status='git status '
alias st='git status'
alias checkout='git checkout'
alias ch='git checkout'
alias push='git push '
alias pull='git pull '
alias bb='git open'
alias merge='git merge'
alias mg='git merge'
# Always make grep ouput color
alias grep="grep --color=auto"
# Shortcuts to sites folder
alias sites="cd ~/Sites"
alias s="cd ~/Sites"
# Shortcuts to documents folder
alias documents="cd ~/Documents/"
alias d="cd ~/Documents/"
# Shortcuts to hack the box folder
alias htb="cd ~/Documents/htb/"
# Shortcuts to documents folder
alias db="cd ~/Dropbox/"
# Shortcuts to home folder
alias home="cd ~/"
alias ~="cd ~/"
#Goes up to the public_html folder
alias ph='cd ${PWD%/public_html*}/public_html'
# Quit the terminal using :q (The same as Vi/Vim)
alias :q='exit;'
# Not sure why and how but this makes sudo work with my aliases
alias sudo='sudo '
#Make the cal command default to start on Sunday
alias cal='cal -s'
# update the third party wordpress plugins we are mirroring
alias u3p='update3rdPartyPlugins'
# Edit my bashrc
alias brc='$EDITOR ~/.bashrc'
# Edit my vimrc
alias vrc='$EDITOR ~/.vimrc'
# Go to my .vim folder
alias .v='cd ~/.vim/'
alias df='cd ~/.dotfiles'
#Make vim start in server mode
alias vim='vim --servername jab2870'
# moon phase
alias moonphase='weather moon'
#Get arch news
alias archNews='w3m https://www.archlinux.org/ | sed -n "/Latest News/,/Older News/ p" | head -n -1 | less'
#Radio Stations
AUDIO=mpv
alias radio2="$AUDIO http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_med/llnw/bbc_radio_two.m3u8"
alias radio4="$AUDIO http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_med/llnw/bbc_radio_fourfm.m3u8"
alias classic="$AUDIO http://icy-e-bab-04-cr.sharp-stream.com/absoluteradio.mp3"
alias absolute="$AUDIO 'http://network.absoluteradio.co.uk/core/audio/mp3/live.pls?service=vrbb'"
alias bs="curl -s http://cbsg.sourceforge.net/cgi-bin/live | grep -Eo '^<li>.*</li>' | sed -r -e 's/<\/?li>//g' | shuf -n 1 | cowsay"
alias jq="jq -C"
alias debugBuild='node --inspect-brk /usr/bin/grunt build'
alias lc="colorls -r"
alias open="$TERMINAL & disown"
#audiable to mp3
alias aa2mp3='ffmpeg -f concat -safe 0 -i <(for f in *.aa; do echo "file '"'"'$(pwd)/$f'"'"'";done) output.mp3'
# Fix Typos
alias cim="vim"
alias vom="vim"
alias vin="vim"
alias vi="vim"
alias v="vim"
#Servers Memory
alias servermem='toilet -w 200 "VPS 01" && ssh shires free -h && toilet -w 200 "VPS 02" && ssh abc free -h && toilet -w 200 "VPS 03" && ssh cdc2 free -h && toilet -w 200 "Freightliner" && ssh freightliner free -h && toilet -w 200 "NHS" && ssh nhs free -h'
########################################### ###########################################
# # # #

@ -1,233 +1 @@
function big-chromium () { source ~/.dotfiles/shells/functions
chromium --force-device-scale-factor=$1
}
function big-new-chromium () {
chromium-snapshot-bin --force-device-scale-factor=$1
}
# make xclip work as I would expect. Copy to clipboard if piped data. Paste from otherwise
function xclip(){
if command -v /usr/bin/xclip 1>/dev/null; then
if [[ -p /dev/stdin ]] ; then
# stdin is a pipe
# stdin -> clipboard
/usr/bin/xclip -i -selection clipboard
else
# stdin is not a pipe
# clipboard -> stdout
/usr/bin/xclip -o -selection clipboard
fi
else
echo "Remember to install xclip"
fi
}
#Swap two files
function swap() {
mv $1 $1._tmp;
mv $2 $1;
mv $1._tmp $2;
}
function old() {
mv "$1" "$1.old"
}
function cdlc() {
cd "$@"
/home/jonathan/.gem/ruby/2.4.0/bin/colorls --sd | tail -n +2
}
#alias cd="cdlc"
function mkcd() {
mkdir -p "$1"
cd "$1"
}
function createLetter(){
if [ "$1" ]; then
if [ "$2" ]; then
newFile="$2"
else
newFile="$1"
newFile="${newFile%.*}.pdf"
fi
pandoc --template template-letter.tex $1 -o $newFile
else
echo "Oops. You need to suply a file"
return 1
fi
}
#Takes you to the parent theme
function ptheme() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
theme=$(dirname $(wp --path="$wpPath" theme path $(wp --path="$wpPath" theme list | grep "parent" | awk '{print $1}')))
if [ -d $theme ]; then
if [ -d "$theme" ]; then
cd $theme
else
echo " Can't find theme folder "
fi
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the child theme
function theme() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
theme=$(dirname $(wp --path="$wpPath" theme path $(wp --path="$wpPath" theme list | grep "active" | grep -v "inactive" | awk '{print $1}')))
if [ -d $theme ]; then
cd $theme
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the js folder child theme
function js() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
theme=$(dirname $(wp --path="$wpPath" theme path $(wp --path="$wpPath" theme list | grep "active" | grep -v "inactive" | awk '{print $1}')))
if [ -d $theme ]; then
if [ -d "$theme/js" ]; then
cd "$theme/js"
else
echo "Can't find a JS folder. Here is the theme"
cd "$theme"
fi
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the css folder child theme
function css() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
theme=$(dirname $(wp --path="$wpPath" theme path $(wp --path="$wpPath" theme list | grep "active" | grep -v "inactive" | awk '{print $1}')))
if [ -d $theme ]; then
if [ -d "$theme/css" ]; then
cd "$theme/css"
else
echo "Can't find a CSS folder. Here is the theme"
cd "$theme"
fi
else
echo " Can't find theme folder "
fi
else
echo " Can't find public_html folder."
fi
}
#Takes you to the plugin directory
function plugins() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
cd $(wp --path="$wpPath" plugin path)
else
echo " Can't find public_html folder."
fi
}
#Takes you to the theme directory
function themes() {
public_html=${PWD%/public_html*}/public_html
if [ -d $public_html ]; then
if [ -d $public_html/wp ]; then
wpPath=$public_html/wp;
else
wpPath=$public_html;
fi
cd $(wp --path="$wpPath" theme path)
else
echo " Can't find public_html folder."
fi
}
########################################
## ##
## Search Functions ##
## ##
########################################
#These search functions use grep to search all sub-folders of the current working directory
searchjs() {
# This will search through .js and .es6 files but won't search minified files
grep -r -i -n --color="always" --include=\*.{js,es6} --exclude=\*.min.js "$1" .
}
searchcss() {
# This will search through .css and .less files but won't search minified files
grep -r -i -n --color="always" --include=\*.{css,less,scss,sass} --exclude=\*.min.css "$1" .
}
searchphp() {
grep -r -i -n --color="always" --include=\*.{php,phtml} "$1" .
}
searchhtml() {
grep -r -i -n --color="always" --include=\*.{html,htm} "$1" .
}
png() {
pngcrush -brute "$1"{,.} && du -b "$1"{,.}
}
gif() {
gifsicle -O "$1" -o "$1." && du -b "$1"{,.}
}
jpeg() {
jpegtran "$1" > "$1." && du -b "$1"{,.}
}
# Just for easy access in history
mpng() {
mv "$1"{.,}
}
mgif() {
newsize=$(wc -c <"$1.")
oldsize=$(wc -c <"$1")
if [ $oldsize -gt $newsize ] ; then
mv "$1"{.,}
else
rm "$1."
fi
}
mjpeg() {
mv "$1"{.,}
}

@ -1,15 +1,2 @@
export LANG="en_GB.UTF-8" source ~/.dotfiles/shells/profile
export TERMINAL=/usr/local/bin/st
export TERM=xterm-256color
export PATH=~/.bin:$PATH:/opt/lampp/bin:.
export EDITOR='vim'
export CDPATH=.:~:~/Sites
#Ruby things
GEM_HOME=$(ls -t -U | ruby -e 'puts Gem.user_dir')
GEM_PATH=$GEM_HOME
export PATH=$PATH:$GEM_HOME/bin
export GEM_HOME=$(ruby -e 'print Gem.user_dir')
echo -e "Please don't sabotage my computer while I'm away \n\nTo turn on the print server, run the command 'cups'\n\nTo update 3d party plugins, run command 'u3p'\n\nTo turn on my servers, run command 'sudo lampp start'" | /usr/bin/cowsay -f tux -W 80
export TERM=xterm-256color

@ -0,0 +1 @@
Subproject commit 02a37dd919dc48e0821186e5f20e78bd0215f86a

@ -85,11 +85,4 @@ source $ZSH/oh-my-zsh.sh
# alias zshconfig="mate ~/.zshrc" # alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh" # alias ohmyzsh="mate ~/.oh-my-zsh"
if [ -e "$HOME/.smartcd_config" ]; then source ~/.dotfiles/shells/zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
[ -r "$HOME/.smartcd_config" ] && ( [ -n $BASH_VERSION ] || [ -n $ZSH_VERSION ] ) && source ~/.smartcd_config
fi
export TERM=xterm-256color
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

@ -1,26 +1,57 @@
#!/usr/bin/sh #!/usr/bin/sh
# Simple shell script to symlink my dotfiles to their place in the system
#whether to use -f when creating symlnk
force=false
#Ask if files should be overiten
read -n1 -p "Do you want to overide files if they exist? [y/N] " answer
#If anser is y or Y then they should be ovewriten
#Anything else and they shouldn't
if [[ "$answer" == "y" || "$answer" == "Y" ]]; then
force=true
fi
# A wrapper around ln which will force if necesary
function myLink(){
if $force; then
/usr/bin/ln -sf "$1" "$2"
echo "forced $2 -> $1"
else
/usr/bin/ln -s "$1" "$2"
fi
}
#ZSH #ZSH
ln -s ~/.dotfiles/shells/zsh/zprofile ~/.zprofile myLink $HOME/.dotfiles/shells/zsh/zprofile $HOME/.zprofile
ln -s ~/.dotfiles/shells/zsh/zshrc ~/.zshrc myLink $HOME/.dotfiles/shells/zsh/zshrc $HOME/.zshrc
ln -s ~/.dotfiles/shells/zsh/zshrc ~/.zshrc.pre-oh-my-zsh myLink $HOME/.dotfiles/shells/zsh/zshrc $HOME/.zshrc.pre-oh-my-zsh
#bash #bash
ln -s ~/.dotfiles/shells/bash/bash_profile ~/.bash_profile myLink $HOME/.dotfiles/shells/bash/bash_profile $HOME/.bash_profile
ln -s ~/.dotfiles/shells/bash/bashrc ~/.bashrc myLink $HOME/.dotfiles/shells/bash/bashrc $HOME/.bashrc
#X #X
ln -s ~/.dotfiles/x/xinitrc ~/.xinitrc myLink $HOME/.dotfiles/x/xinitrc $HOME/.xinitrc
#Git #Git
ln -s ~/.dotfiles/git/gitconfig ~/.gitconfig myLink $HOME/.dotfiles/git/gitconfig $HOME/.gitconfig
#i3 #i3
mkdir -p ~/.config/i3 mkdir -p $HOME/.config/i3
ln -s ~/.dotfiles/i3/config ~/.config/i3/config myLink $HOME/.dotfiles/i3/config $HOME/.config/i3/config
#vim #vim
ln -s ~/.dotfiles/vim ~/.vim myLink $HOME/.dotfiles/vim $HOME/.vim
ln -s ~/.dotfiles/vim/.vimrc ~/.vimrc myLink $HOME/.dotfiles/vim/.vimrc $HOME/.vimrc
#rofi
myLink $HOME/.dotfiles/rofi $HOME/.config/rofi
#Templates
myLink $HOME/.dotfiles/Templates $HOME/Templates
#Pandoc
myLink $HOME/.dotfiles/pandoc $HOME/.pandoc

Loading…
Cancel
Save