aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bash/bash_completion4
-rw-r--r--bash/bashrc3
-rwxr-xr-xinstall33
3 files changed, 24 insertions, 16 deletions
diff --git a/bash/bash_completion b/bash/bash_completion
new file mode 100644
index 00000000..b42dfd77
--- /dev/null
+++ b/bash/bash_completion
@@ -0,0 +1,4 @@
+# This file prevents bash-completion from loading from its /etc/profile.d
+# script if installed
+shopt -u progcomp
+
diff --git a/bash/bashrc b/bash/bashrc
index 2501696f..f9b0e38d 100644
--- a/bash/bashrc
+++ b/bash/bashrc
@@ -61,6 +61,9 @@ shopt -u mailwarn 2>/dev/null
# Ignore me if I try to complete an empty line
shopt -s no_empty_cmd_completion 2>/dev/null
+# Use programmable completion, if available
+shopt -s progcomp 2>/dev/null
+
# Load any supplementary scripts
if [[ -d $HOME/.bashrc.d ]]; then
for config in "$HOME"/.bashrc.d/*; do
diff --git a/install b/install
index 05f8bbf4..d75bb934 100755
--- a/install
+++ b/install
@@ -10,26 +10,27 @@ fi
# Check out submodules
(cd -- "$dotfiles" && git submodule update --init)
-# Create a binaries directory
-mkdir -p -- "$HOME"/.local/bin
+# Create needed directories if they don't exist
+mkdir -p -- "$HOME"/{.config,.local/bin}
# Link in essential logical binaries
ln -insv -- "$dotfiles"/ack/ack "$HOME"/.local/bin
# Link in essential configuration files
-ln -insv -- "$dotfiles"/ack/ackrc "$HOME"/.ackrc
-ln -insv -- "$dotfiles"/bash/bash_logout "$HOME"/.bash_logout
-ln -insv -- "$dotfiles"/bash/bash_profile "$HOME"/.bash_profile
-ln -insv -- "$dotfiles"/bash/bashrc "$HOME"/.bashrc
-ln -insv -- "$dotfiles"/bash/bashrc.d "$HOME"/.bashrc.d
-ln -insv -- "$dotfiles"/curl/curlrc "$HOME"/.curlrc
-ln -insv -- "$dotfiles"/git/gitconfig "$HOME"/.gitconfig
-ln -insv -- "$dotfiles"/readline/inputrc "$HOME"/.inputrc
-ln -insv -- "$dotfiles"/sh/profile "$HOME"/.profile
-ln -insv -- "$dotfiles"/sh/profile.d "$HOME"/.profile.d
-ln -insv -- "$dotfiles"/terminfo "$HOME"/.terminfo
-ln -insv -- "$dotfiles"/vim/vimrc "$HOME"/.vimrc
-ln -insv -- "$dotfiles"/vim "$HOME"/.vim
+ln -insv -- "$dotfiles"/ack/ackrc "$HOME"/.ackrc
+ln -insv -- "$dotfiles"/bash/bash_completion "$HOME"/.config/bash_completion
+ln -insv -- "$dotfiles"/bash/bash_logout "$HOME"/.bash_logout
+ln -insv -- "$dotfiles"/bash/bash_profile "$HOME"/.bash_profile
+ln -insv -- "$dotfiles"/bash/bashrc "$HOME"/.bashrc
+ln -insv -- "$dotfiles"/bash/bashrc.d "$HOME"/.bashrc.d
+ln -insv -- "$dotfiles"/curl/curlrc "$HOME"/.curlrc
+ln -insv -- "$dotfiles"/git/gitconfig "$HOME"/.gitconfig
+ln -insv -- "$dotfiles"/readline/inputrc "$HOME"/.inputrc
+ln -insv -- "$dotfiles"/sh/profile "$HOME"/.profile
+ln -insv -- "$dotfiles"/sh/profile.d "$HOME"/.profile.d
+ln -insv -- "$dotfiles"/terminfo "$HOME"/.terminfo
+ln -insv -- "$dotfiles"/vim/vimrc "$HOME"/.vimrc
+ln -insv -- "$dotfiles"/vim "$HOME"/.vim
# Link in shell stuff
while getopts :gmntx opt; do
@@ -44,7 +45,7 @@ while getopts :gmntx opt; do
ln -insv -- "$dotfiles"/mutt "$HOME"/.mutt
;;
n)
- mkdir -pv -- "$HOME"/.config "$HOME"/.local/share/newsbeuter
+ mkdir -pv -- "$HOME"/.local/share/newsbeuter
ln -insv -- "$dotfiles"/newsbeuter "$HOME"/.config
;;
t)