Skip to content

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)"