FISH
Friendly Interactive SHell.
Enable direnv
pacman -S direnv
apt install direnv
~/.config/fish/config.fish
0644 {USER}:{USER}
direnv hook fish | source
# Enable processing of ansible.env
echo 'dotenv ansible.env' > .envrc
# Enable direnv for directory.
direnv allow
Disable Greeting
~/.config/fish/config.fish
0644 {USER}:{USER}
function fish_greeting
# noop
end
Default Editor
~/.config/fish/config.fish
0644 {USER}:{USER}
set -gx EDITOR vim
Vagrant shell completion
~/.config/fish/completion/vagrant.fish
0644 {USER}:{USER}
function __fish_vagrant_ids
# ID's are hex.
vagrant global-status | awk '/^[0-9a-f]{7}/ {print $1}'
end
# Complete for commands that take an ID (e.g., up, halt, ssh, destroy)
complete -c vagrant -n "__fish_seen_subcommand_from up halt ssh scp destroy" -a "(__fish_vagrant_ids)"