diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..1ce5c11 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "dotbot"] + path = dotbot + url = https://github.com/anishathalye/dotbot diff --git a/dircolors b/dircolors new file mode 100644 index 0000000..bec0c25 --- /dev/null +++ b/dircolors @@ -0,0 +1,309 @@ +# Configuration file for dircolors, a utility to help you set the +# LS_COLORS environment variable used by GNU ls with the --color option. + +# Copyright (C) 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# Copying and distribution of this file, with or without modification, +# are permitted provided the copyright notice and this notice are preserved. +# +# You can copy this file to .dir_colors in your $HOME directory to override +# the system defaults. + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM console +TERM cygwin +TERM dtterm +TERM gnome +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM putty +TERM rxvt +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM screen +TERM screen-256color +TERM screen-bce +TERM screen-w +TERM screen.linux +TERM vt100 +TERM xterm +TERM xterm-256color +TERM xterm-color +TERM xterm-debian + +# Special files + +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +NORMAL 00;37 # global default, although everything should be something. +FILE 01;34 # normal file +RESET 00;37 # reset to "normal" color +DIR 00;34 # directory +LINK 00;36 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00;37 # regular file with more than one link +FIFO 40;33 # pipe +SOCK 00;35 # socket +DOOR 00;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 00;05;37;41 # orphaned syminks +MISSING 00;05;37;41 # ... and the files they point to +SETUID 37;41 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 04;34 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable +EXEC 00;32 # This is for files with execute permission: + +# If you use DOS-style suffixes, you may want to uncomment the following: +.cmd 00;33 # executables (bright green) +.exe 00;33 +.com 00;33 +.btm 00;33 +.bat 00;33 + +## Archives or compressed (red) +.tar 01;31 +.tgz 01;31 +.arj 01;31 +.taz 01;31 +.lzh 01;31 +.lzma 01;31 +.tlz 01;31 +.txz 01;31 +.zip 01;31 +.z 01;31 +.Z 01;31 +.dz 01;31 +.gz 01;31 +.lz 01;31 +.xz 01;31 +.bz 01;31 +.bz2 01;31 +.bzip2 01;31 +.tbz 01;31 +.tbz2 01;31 +.tz 01;31 +.deb 01;31 +.rpm 01;31 +.jar 01;31 +.rar 01;31 # rar +.ace 01;31 # unace +.zoo 01;31 # zoo +.cpio 01;31 # cpio +.7z 01;31 # p7zip +.rz 01;31 # rzip +.apk 01;31 # rzip +.gem 01;31 # rzip + +## image formats (magenta) +.jpg 00;35 +.JPG 00;35 +.jpeg 00;35 +.gif 00;35 +.bmp 00;35 +.pbm 00;35 +.pgm 00;35 +.ppm 00;35 +.tga 00;35 +.xbm 00;35 +.xpm 00;35 +.tif 00;35 +.tiff 00;35 +.png 00;35 +.svg 00;35 +.svgz 00;35 +.mng 00;35 +.pcx 00;35 +.dl 00;35 +.xcf 00;35 +.xwd 00;35 +.yuv 00;35 +.cgm 00;35 +.emf 00;35 +.eps 00;35 +.CR2 00;35 +.ico 00;35 + +## Document files (green) +.pdf 00;32 +.ps 00;32 +.txt 00;32 +.html 00;32 +.rst 00;32 +.md 00;32 +.patch 00;32 +.diff 00;32 +.tex 00;32 +.doc 00;32 +.xml 00;32 +.xls 00;32 +.xlsx 00;32 +.doc 00;32 +.docx 00;32 +.ppt 00;32 +.pptx 00;32 +.key 00;32 # Keynote presentation + +## Template files (bright green) +.pt 01;32 # Zope page template +.tmpl 01;32 +.in 01;32 + +## Audio formats (bright red) +.aac 01;36 +.au 01;36 +.flac 01;36 +.mid 01;36 +.midi 01;36 +.mka 01;36 +.mp3 01;36 +.mpc 01;36 +.ogg 01;36 +.ra 01;36 +.wav 01;36 +.m4a 01;36 +.axa 01;36 +.oga 01;36 +.spx 01;36 +.xspf 01;36 + +## Video formats (as audio + bold) +.mov 01;36 +.mpg 01;36 +.mpeg 01;36 +.m2v 01;36 +.mkv 01;36 +.ogm 01;36 +.mp4 01;36 +.m4v 01;36 +.mp4v 01;36 +.vob 01;36 +.qt 01;36 +.nuv 01;36 +.wmv 01;36 +.asf 01;36 +.rm 01;36 +.rmvb 01;36 +.flc 01;36 +.avi 01;36 +.fli 01;36 +.flv 01;36 +.gl 01;36 +.m2ts 01;36 +.divx 01;36 +.webm 01;36 +.axv 01;36 +.anx 01;36 +.ogv 01;36 +.ogx 01;36 + +## Config files (cyan) +.conf 00;36 +.cnf 00;36 +.cfg 00;36 +.ini 00;36 +.properties 00;36 +.yaml 00;36 +.vcl 00;36 # Varnish + +## Source code files (yellow) +.c 00;33 +.cpp 00;33 +.py 00;33 +.coffesscript 00;33 +.js 00;33 +.rb 00;33 +.sh 00;33 +.zsh 00;33 +.env 00;33 +.bash 00;33 +.php 00;33 +.java 00;33 +.zcml 00;33 # Zope configuration language + +## Data / database (green) +.db 00;32 +.sql 00;32 +.json 00;32 +.plist 00;32 # OSX properties +.fs 00;32 # ZODB Data.fs + +## Files of special interest (base1 + bold) +.tex 01;37 +.rdf 01;37 +.owl 01;37 +.n3 01;37 +.ttl 01;37 +.nt 01;37 +.torrent 01;37 +.xml 01;37 +*Makefile 01;37 +*Rakefile 01;37 +*build.xml 01;37 +*rc 01;37 +.nfo 01;37 +*README 01;37 +*README.txt 01;37 +*readme.txt 01;37 +*README.markdown 01;37 +*README.md 01;37 +.ini 01;37 +.yml 01;37 +.cfg 01;37 +.conf 01;37 +.c 01;37 +.cpp 01;37 +.cc 01;37 + +## Machine generated files / non-important (bright black) +.log 01;30 +.bak 01;30 +.aux 01;30 +.lof 01;30 +.lol 01;30 +.lot 01;30 +.out 01;30 +.toc 01;30 +.bbl 01;30 +.blg 01;30 +*~ 01;30 +*# 01;30 +.part 01;30 +.incomplete 01;30 +.swp 01;30 +.tmp 01;30 +.temp 01;30 +.o 01;30 +.obj 01;30 +.pyc 01;30 +.pyo 01;30 +.class 01;30 +.cache 01;30 +.egg-info 01;30 diff --git a/dotbot b/dotbot new file mode 160000 index 0000000..dcc3a19 --- /dev/null +++ b/dotbot @@ -0,0 +1 @@ +Subproject commit dcc3a1947a85aaa038d143f9f6a0c2a1c1a76a15 diff --git a/gitconfig b/gitconfig new file mode 100644 index 0000000..4e469f6 --- /dev/null +++ b/gitconfig @@ -0,0 +1,5 @@ +[user] + email = nikolasweger@googlemail.com + name = Nikolas Weger +[push] + default = simple diff --git a/nanorc b/nanorc new file mode 100644 index 0000000..466bbde --- /dev/null +++ b/nanorc @@ -0,0 +1,68 @@ +include ~/.nano/apacheconf.nanorc +include ~/.nano/asciidoc.nanorc +include ~/.nano/asm.nanorc +include ~/.nano/awk.nanorc +include ~/.nano/c.nanorc +include ~/.nano/cmake.nanorc +include ~/.nano/coffeescript.nanorc +include ~/.nano/colortest.nanorc +include ~/.nano/conf.nanorc +include ~/.nano/csharp.nanorc +include ~/.nano/css.nanorc +include ~/.nano/cython.nanorc +include ~/.nano/dot.nanorc +include ~/.nano/email.nanorc +include ~/.nano/fish.nanorc +include ~/.nano/fortran.nanorc +include ~/.nano/gentoo.nanorc +include ~/.nano/git.nanorc +include ~/.nano/glsl.nanorc +include ~/.nano/go.nanorc +include ~/.nano/groff.nanorc +include ~/.nano/haml.nanorc +include ~/.nano/html.nanorc +include ~/.nano/ini.nanorc +include ~/.nano/inputrc.nanorc +include ~/.nano/java.nanorc +include ~/.nano/javascript.nanorc +include ~/.nano/js.nanorc +include ~/.nano/json.nanorc +include ~/.nano/keymap.nanorc +include ~/.nano/kickstart.nanorc +include ~/.nano/ledger.nanorc +include ~/.nano/lisp.nanorc +include ~/.nano/lua.nanorc +include ~/.nano/makefile.nanorc +include ~/.nano/man.nanorc +include ~/.nano/markdown.nanorc +include ~/.nano/mpdconf.nanorc +include ~/.nano/mutt.nanorc +include ~/.nano/nanorc.nanorc +include ~/.nano/nginx.nanorc +include ~/.nano/patch.nanorc +include ~/.nano/peg.nanorc +include ~/.nano/perl.nanorc +include ~/.nano/php.nanorc +include ~/.nano/pkg-config.nanorc +include ~/.nano/pkgbuild.nanorc +include ~/.nano/po.nanorc +include ~/.nano/pov.nanorc +include ~/.nano/privoxy.nanorc +include ~/.nano/python.nanorc +include ~/.nano/reST.nanorc +include ~/.nano/rpmspec.nanorc +include ~/.nano/ruby.nanorc +include ~/.nano/scala.nanorc +include ~/.nano/sed.nanorc +include ~/.nano/sh.nanorc +include ~/.nano/sql.nanorc +include ~/.nano/systemd.nanorc +include ~/.nano/tcl.nanorc +include ~/.nano/tex.nanorc +include ~/.nano/vala.nanorc +include ~/.nano/vi.nanorc +include ~/.nano/xml.nanorc +include ~/.nano/xresources.nanorc +include ~/.nano/yaml.nanorc +include ~/.nano/yum.nanorc +include ~/.nano/zsh.nanorc \ No newline at end of file diff --git a/zsh/alias.zsh b/zsh/alias.zsh new file mode 100644 index 0000000..accd049 --- /dev/null +++ b/zsh/alias.zsh @@ -0,0 +1,26 @@ +# Listing +source ~/.dotfiles/zsh/aliases.d/list.zsh + +# Grep +source ~/.dotfiles/zsh/aliases.d/grep.zsh + +# Tail +source ~/.dotfiles/zsh/aliases.d/tail.zsh + +# CD +source ~/.dotfiles/zsh/aliases.d/cd.zsh + +# Du/Find +source ~/.dotfiles/zsh/aliases.d/find.zsh + +# Stuff +source ~/.dotfiles/zsh/aliases.d/stuff.zsh + +# Interactive +source ~/.dotfiles/zsh/aliases.d/interactive.zsh + +# Own +source ~/.dotfiles/zsh/aliases.d/own.zsh + +# Transfer +source ~/.dotfiles/zsh/aliases.d/transfer.zsh diff --git a/zsh/aliases.d/cd.zsh b/zsh/aliases.d/cd.zsh new file mode 100644 index 0000000..d02755a --- /dev/null +++ b/zsh/aliases.d/cd.zsh @@ -0,0 +1,28 @@ +# CD +alias ..='cd ../' +alias ...='cd ../../' +alias ....='cd ../../../' +alias .....='cd ../../../../' + +# Go up [n] directories +function up() +{ + local cdir="$(pwd)" + if [[ "${1}" == "" ]]; then + cdir="$(dirname "${cdir}")" + elif ! [[ "${1}" =~ ^[0-9]+$ ]]; then + echo "Error: argument must be a number" + elif ! [[ "${1}" -gt "0" ]]; then + echo "Error: argument must be positive" + else + for i in {1..${1}}; do + local ncdir="$(dirname "${cdir}")" + if [[ "${cdir}" == "${ncdir}" ]]; then + break + else + cdir="${ncdir}" + fi + done + fi + cd "${cdir}" +} diff --git a/zsh/aliases.d/find.zsh b/zsh/aliases.d/find.zsh new file mode 100644 index 0000000..42852f9 --- /dev/null +++ b/zsh/aliases.d/find.zsh @@ -0,0 +1,5 @@ +# Du/Find +alias dud='du -d 1 -h' +alias duf='du -sh *' +alias fd='find . -type d -name' +alias ff='find . -type f -name' diff --git a/zsh/aliases.d/grep.zsh b/zsh/aliases.d/grep.zsh new file mode 100644 index 0000000..00992b1 --- /dev/null +++ b/zsh/aliases.d/grep.zsh @@ -0,0 +1,4 @@ +# Grep +alias grep='grep --color' +alias sgrep='grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS}' +alias psg='ps aux | grep -v grep | grep' diff --git a/zsh/aliases.d/interactive.zsh b/zsh/aliases.d/interactive.zsh new file mode 100644 index 0000000..09a1988 --- /dev/null +++ b/zsh/aliases.d/interactive.zsh @@ -0,0 +1,5 @@ +# Interactive +alias rm='rm -i' +alias cp='cp -i' +alias mv='mv -i' + diff --git a/zsh/aliases.d/list.zsh b/zsh/aliases.d/list.zsh new file mode 100644 index 0000000..2ab0dd7 --- /dev/null +++ b/zsh/aliases.d/list.zsh @@ -0,0 +1,10 @@ +# Listing +alias l='ls -lFh' #size,show type,human readable +alias la='ls -lAFh' #long list,show almost all,show type,human readable +alias lr='ls -tRFh' #sorted by date,recursive,show type,human readable +alias lt='ls -ltFh' #long list,sorted by date,show type,human readable +alias ll='ls -l' #long list +alias ldot='ls -ld .*' +alias lS='ls -1FSsh' +alias lart='ls -1Fcart' +alias lrt='ls -1Fcrt' diff --git a/zsh/aliases.d/own.zsh b/zsh/aliases.d/own.zsh new file mode 100644 index 0000000..7ab45c1 --- /dev/null +++ b/zsh/aliases.d/own.zsh @@ -0,0 +1,20 @@ +# Own Aliases +alias fuck='eval $(thefuck $(fc -ln -1 | tail -n 1)); fc -R' +alias clf='clf --color' + +# The Fuck +alias fuck='eval $(thefuck $(fc -ln -1))' + +# PClear +pclear () { + clear + printf '\033[3J' +} + +# Create SSL One Line +sslcreate() { + openssl genrsa -out private/$1.key 2048 + openssl req -new -key private/$1.key -out csr/$1.csr -sha256 + openssl x509 -req -days 365 -in csr/$1.csr -signkey private/$1.key -out certs/$1.crt +} + diff --git a/zsh/aliases.d/stuff.zsh b/zsh/aliases.d/stuff.zsh new file mode 100644 index 0000000..a12e646 --- /dev/null +++ b/zsh/aliases.d/stuff.zsh @@ -0,0 +1,7 @@ +# Stuff +alias h='history' +alias hgrep="fc -El 0 | grep" +alias j='jobs' +alias p='ps -f' +alias sortnr='sort -n -r' + diff --git a/zsh/aliases.d/tail.zsh b/zsh/aliases.d/tail.zsh new file mode 100644 index 0000000..c03c012 --- /dev/null +++ b/zsh/aliases.d/tail.zsh @@ -0,0 +1,2 @@ +# Tail +alias t='tail -f' diff --git a/zsh/aliases.d/transfer.zsh b/zsh/aliases.d/transfer.zsh new file mode 100644 index 0000000..ea89303 --- /dev/null +++ b/zsh/aliases.d/transfer.zsh @@ -0,0 +1,54 @@ +# +# Defines transfer alias and provides easy command line file and folder sharing. +# +# Authors: +# Remco Verhoef +# + +transfer() { + # check arguments + if [ $# -eq 0 ]; + then + echo "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md" + return 1 + fi + + # get temporarily filename, output is written to this file show progress can be showed + tmpfile=$( mktemp -t transferXXX ) + + # upload stdin or file + file=$1 + + if tty -s; + then + basefile=$(basename "$file" | sed -e 's/[^a-zA-Z0-9._-]/-/g') + + if [ ! -e $file ]; + then + echo "File $file doesn't exists." + return 1 + fi + + if [ -d $file ]; + then + # zip directory and transfer + zipfile=$( mktemp -t transferXXX.zip ) + cd $(dirname $file) && zip -r -q - $(basename $file) >> $zipfile + curl --progress-bar --upload-file "$zipfile" "https://transfer.sh/$basefile.zip" >> $tmpfile + rm -f $zipfile + else + # transfer file + curl --progress-bar --upload-file "$file" "https://transfer.sh/$basefile" >> $tmpfile + fi + else + # transfer pipe + curl --progress-bar --upload-file "-" "https://transfer.sh/$file" >> $tmpfile + fi + + # cat output link + cat $tmpfile + + # cleanup + rm -f $tmpfile +} + diff --git a/zsh/antigen.zsh b/zsh/antigen.zsh new file mode 100644 index 0000000..e4476ee --- /dev/null +++ b/zsh/antigen.zsh @@ -0,0 +1,35 @@ +# Load Antigen +source ~/.antigen/antigen.zsh + +# Oh-My-ZSH Library +antigen use oh-my-zsh + +# Theme +antigen theme pygmalion + +# Load Plugins +antigen bundles <