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/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/.githooks/post-merge b/.githooks/post-merge
index 520b681e3976c0e9cef076a074834ab2993d90f6..7c12bf2222b1991590d6ee7d2e1bcefc93c479fe 100755
--- a/.githooks/post-merge
+++ b/.githooks/post-merge
@@ -11,7 +11,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/Documents/bin/gen-bash-completion b/Documents/bin/gen-bash-completion
deleted file mode 100755
index b7b21d0364df107f902e9b9531f37b5f56d07773..0000000000000000000000000000000000000000
--- a/Documents/bin/gen-bash-completion
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/usr/bin/env bash
-set -eu
-
-gen_completion () {
-    executable="$1"
-    ! command -v "$executable" > /dev/null || "$@" > "$HOME/.bash_completion.d/$executable" || true
-}
-
-gen_completion pandoc --bash-completion
-gen_completion pipenv --completion
-gen_completion kops completion bash
-gen_completion kubectl completion bash
-gen_completion minikube completion bash