diff --git a/.bash_completion.d/kops b/.bash_completion.d/kops new file mode 100644 index 0000000000000000000000000000000000000000..bf04536ce257ac066b2011445fb4eda76f1b9002 --- /dev/null +++ b/.bash_completion.d/kops @@ -0,0 +1 @@ +command -v kops >/dev/null && eval $(kops completion bash) diff --git a/.bash_completion.d/kubectl b/.bash_completion.d/kubectl new file mode 100644 index 0000000000000000000000000000000000000000..81269ab390c6870ef5287fc5dab048cd11779005 --- /dev/null +++ b/.bash_completion.d/kubectl @@ -0,0 +1 @@ +command -v kubectl >/dev/null && eval $(kubectl completion bash) diff --git a/.bash_completion.d/minikube b/.bash_completion.d/minikube new file mode 100644 index 0000000000000000000000000000000000000000..35f00a83fcbafb4a21b97dc71e10472e2177287d --- /dev/null +++ b/.bash_completion.d/minikube @@ -0,0 +1 @@ +command -v minikube >/dev/null && eval $(minikube completion bash) diff --git a/.bash_completion.d/packer b/.bash_completion.d/packer new file mode 100644 index 0000000000000000000000000000000000000000..e9732a42ff5d97de51b72cf78785221fad1c0cc4 --- /dev/null +++ b/.bash_completion.d/packer @@ -0,0 +1 @@ +! command -v packer >/dev/null || complete -C packer packer diff --git a/.bash_completion.d/pandoc b/.bash_completion.d/pandoc new file mode 100644 index 0000000000000000000000000000000000000000..f62e7ba543fa9efe7cb3b12b5868e406c75d7e82 --- /dev/null +++ b/.bash_completion.d/pandoc @@ -0,0 +1 @@ +command -v pandoc > /dev/null && pandoc --bash-completion > /dev/null && eval $( pandoc --bash-completion ) diff --git a/.bash_completion.d/pipenv b/.bash_completion.d/pipenv new file mode 100644 index 0000000000000000000000000000000000000000..17f1c103449959c44d1a1e6d85f091ed9358dae1 --- /dev/null +++ b/.bash_completion.d/pipenv @@ -0,0 +1 @@ +command -v pipenv > /dev/null || eval $(pipenv --completion) diff --git a/.bash_completion.d/terraform b/.bash_completion.d/terraform new file mode 100644 index 0000000000000000000000000000000000000000..45cedef248f53af71faaefa34595028cc8df7a96 --- /dev/null +++ b/.bash_completion.d/terraform @@ -0,0 +1 @@ +! command -v terraform >/dev/null || complete -C terraform terraform diff --git a/.bash_completion.d/vault b/.bash_completion.d/vault new file mode 100644 index 0000000000000000000000000000000000000000..ee68604546aab3d48fb4fb067cac748c682a1f4f --- /dev/null +++ b/.bash_completion.d/vault @@ -0,0 +1 @@ +! command -v vault >/dev/null || complete -C vault vault diff --git a/.bashrc b/.bashrc index 0883009a461caf3a049ab8d19026cb6a007726d3..3dbf81a707e79e355f8a0746bd97d119e7f36a43 100644 --- a/.bashrc +++ b/.bashrc @@ -55,7 +55,6 @@ alias deborphan='deborphan -a --no-show-section --ignore-suggests' alias aptitude='aptitude --display-format %p --quiet' alias obsolete='aptitude search ?obsolete' alias missing-recommends="aptitude search '~RBrecommends:~i'" -alias missing-suggests="aptitude search '~RBsuggests:~i'" # shellcheck disable=SC2142 alias deinstalled="dpkg --get-selections | awk '\$2==\"deinstall\" {print \$1}'" alias ansible-local='ansible localhost -c local -i localhost,' @@ -67,7 +66,7 @@ alias hostlocal='docker run --rm --privileged --net=host gliderlabs/hostlocal' alias cadvisor='docker run --rm --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest' alias __apt-daily="sudo /bin/sh -c 'apt-get update && apt-get dist-upgrade --download-only --yes && apt-get autoclean'" alias apt-daily="monitor __apt-daily" -alias __flatpak-daily="sudo /bin/sh -c 'flatpak update --assumeyes && flatpak uninstall --unused --assumeyes'" +alias __flatpak-daily='sudo flatpak update --assumeyes' alias flatpak-daily="monitor __flatpak-daily" alias cdtemp='cd $(mktemp -d)' alias 0-day-cleanup='ssh xbmc.shore.co.il "sudo -u debian-transmission find /srv/library/Comics -name *.part -path *0-Day\ Week\ of* -delete"' diff --git a/.config/git/config b/.config/git/config index 5724ab702a338281dbb075ca7b5f51bdd00adca5..a86056f9125b7cfab0ee457306d4e17fd51edd3c 100644 --- a/.config/git/config +++ b/.config/git/config @@ -4,6 +4,7 @@ amend = commit --amend autorebase = -c 'core.editor=true' rebase -i --autosquash --autostash bull = submodule update --remote --init + cdiff = diff --cached cleaan = clean -fdX cleaaan = clean -fdx dif = diff --color-words @@ -41,6 +42,9 @@ [fetch] fsckobjects = true prune = true +[filter "ansible-vault"] + clean = ANSIBLE_VERBOSITY=0 ansible-vault encrypt + smudge = ANSIBLE_VERBOSITY=0 ansible-vault decrypt [grep] linenumber = true [merge] diff --git a/.config/pythonrc b/.config/pythonrc index d9f2c7a9caf0076c011bbe0aa42fca641432ea57..aa1e7d3063d1b6f8dbee4cc65db25c642aea4edf 160000 --- a/.config/pythonrc +++ b/.config/pythonrc @@ -1 +1 @@ -Subproject commit d9f2c7a9caf0076c011bbe0aa42fca641432ea57 +Subproject commit aa1e7d3063d1b6f8dbee4cc65db25c642aea4edf diff --git a/.githooks/post-merge b/.githooks/post-merge index 3b0fd3c72aa5755c7c87d09f4a7180fd283d2d3c..bb6f64c7a8f2252bc29e461af56160632f78c0d5 100755 --- a/.githooks/post-merge +++ b/.githooks/post-merge @@ -1,6 +1,11 @@ #!/bin/sh set -eu cd "$(git rev-parse --show-toplevel)" +echo Installing Golang apps >> /dev/stderr +go get github.com/giantswarm/semver-bump || true +go get github.com/nishanths/license || true +echo Installing Python apps >> /dev/stderr +python3 -m pip install --user --requirement requirements.txt echo Installing Git hooks >> /dev/stderr Documents/bin/install-git-hooks echo Generating SSH config >> /dev/stderr @@ -9,7 +14,5 @@ echo Loading dconf config >> /dev/stderr Documents/bin/dconf-load echo Configuring Git repo >> /dev/stderr git config --local status.showUntrackedFiles no -echo Creating Bash completion scripts >> /dev/stderr -Documents/bin/gen-bash-completion echo Adding Cron job >> /dev/stderr Documents/bin/cron-jobs diff --git a/.gitignore b/.gitignore index ee0d7edd0530a3b100f45803b999a92bcffbb8d8..72e8ffc0db8aad71a934dd11e5968bd5109e54b4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1 @@ * -.bash_completion.d/.pipenv -.pre-commit/ -.ssh/config diff --git a/.ssh/config.d/20_endless b/.ssh/config.d/20_endless new file mode 100644 index 0000000000000000000000000000000000000000..030a5a88e448988b9abdbccefd5bdb8d6392379b --- /dev/null +++ b/.ssh/config.d/20_endless @@ -0,0 +1,18 @@ +Host 172.31.*.* 10.*.*.* *.endlessm.com *.endlessm-sf.com endlessm.com +User nimrod +IdentityFile ~/.ssh/endless_ecdsa + +Host 10.17.*.* home.dev.endlessm.com +ProxyCommand ssh vpn-router.uw1.endlessm.com -W %h:%p + +Host 172.31.*.* 10.*.*.* *.endlessm-sf.com +UserKnownHostsFile /dev/null +StrictHostKeyChecking no +ProxyCommand ssh vpn-router.uw2.endlessm.com -W %h:%p + +Host appupdates.endlessm.com irc.endlessm.com status.endlessm.com +Port 2200 +ProxyCommand ssh vpn-router.uw2.endlessm.com -W %h:%p + +Host vpn-router.sf.endlessm.com +Port 2022 diff --git a/Documents/Endless/.gitkeep b/Documents/Endless/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/Documents/bin/__apt-daily b/Documents/bin/__apt-daily new file mode 100755 index 0000000000000000000000000000000000000000..65258e080e0f4ceca66e840e4e98994b205ec0fb --- /dev/null +++ b/Documents/bin/__apt-daily @@ -0,0 +1,2 @@ +#!/bin/sh +exec sudo /bin/sh -c 'apt-get update && apt-get dist-upgrade --download-only --yes && apt-get autoclean' diff --git a/Documents/bin/gen-bash-completion b/Documents/bin/gen-bash-completion deleted file mode 100755 index 83b18521eae51f5502e2709683fe4daa43132aa6..0000000000000000000000000000000000000000 --- a/Documents/bin/gen-bash-completion +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -set -eu - -gen_completion () { - executable="$1" - ! command -v "$executable" > /dev/null || "$@" > "$HOME/.bash_completion.d/$executable" -} - -gen_completion pandoc --bash-completion -gen_completion pipenv --completion -gen_completion kops completion bash -gen_completion kubectl completion bash -gen_completion minikube completion bash diff --git a/Documents/bin/monitor b/Documents/bin/monitor new file mode 100755 index 0000000000000000000000000000000000000000..5053f61d5520473839c1b842ee53c98762a41dc9 --- /dev/null +++ b/Documents/bin/monitor @@ -0,0 +1,24 @@ +#!/bin/sh +set -eu + +if ! command -v notify-send > /dev/null +then + notify="printf '\\a'" +elif [ "$(whoami)" = "root" ] && [ -n "${SUDO_USER:-}" ] +then + notify="sudo --preserve-env --set-home --user $SUDO_USER notify-send" +else + notify='notify-send' +fi + +eval "$@" || code="$?" +code="${code:-0}" + +if [ "$code" -eq 0 ] +then + $notify "$(basename "${1#__}") has finished." +else + $notify --urgency=critical "$(basename "${1#__}") has failed." +fi + +return "$code" diff --git a/Documents/bin/sudome b/Documents/bin/sudome new file mode 100755 index 0000000000000000000000000000000000000000..057826669ba45ee4a0b5f0620c1ee9b99654f0e5 --- /dev/null +++ b/Documents/bin/sudome @@ -0,0 +1,11 @@ +#!/bin/sh +set -eu + +if command -v "$1" >/dev/null +then + executable="$(command -v "$1")" + shift + exec sudo --preserve-env --set-home "$executable" "$@" +else + exec sudo --preserve-env --set-home "$@" +fi diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..daf1f0ccdfc39532c949eec5dc85eee161920e93 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,28 @@ +ansible +awscli +awslogs +#aws-shell +bcrypt +boto +boto3 +docker-compose +Glances +gunicorn +httpbin +httpie +khal +khard +mycli +netaddr +parse +passlib +pgcli +pipenv +piprot +pre-commit +pur +pygments +sh +template +todoman +tox