A modules/fish-config/module.cfg => modules/fish-config/module.cfg +4 -0
@@ 0,0 1,4 @@
+MODULE_TYPE="overlay"
+MODULE_TARGET="$HOME/.config/fish"
+MODULE_SOURCE="./overlay"
+MODULE_COMMAND="sh setup.sh"
A modules/fish-config/overlay/config.fish => modules/fish-config/overlay/config.fish +38 -0
@@ 0,0 1,38 @@
+# silence greeting
+set fish_greeting
+
+# setup PS1/prompt
+function fish_prompt
+ set_color red
+
+ if set -q SSHH_CLIENT
+ printf '%s' (hostname)
+ end
+ printf '$ '
+
+ set_color normal
+end
+
+# use vim keybindings
+function fish_user_key_bindings
+ fish_vi_key_bindings
+end
+
+# no mode indicator
+function fish_mode_prompt; end
+
+# pull in bash config
+if functions -q fenv
+ # fenv may not be available on first run if the plugin hasn't been installed
+ # yet.
+ fenv source ~/.profile
+ fenv source ~/.bashrc
+end
+
+# source ~/.fishrc.local if it is present
+if [ -f "$HOME/.fishrc.local" ]
+ source "$HOME/.fishrc.local"
+end
+
+# on macOS, ensure homebrews bin is a higher priority than the system one.
+set -gx PATH /opt/homebrew/bin $PATH
A modules/fish-config/setup.fish => modules/fish-config/setup.fish +9 -0
@@ 0,0 1,9 @@
+curl -sL https://git.io/fisher | source
+
+fisher install \
+ jorgebucaran/fisher\
+ oh-my-fish/plugin-foreign-env\
+ evanlucas/fish-kubectl-completions\
+ fisher install ryotako/fish-completion-generator\
+ oh-my-fish/plugin-license
+
A modules/fish-config/setup.sh => modules/fish-config/setup.sh +9 -0
@@ 0,0 1,9 @@
+#!/bin/sh
+
+if [ ! -x "$(which fish)" ] ; then
+ echo "FATAL: fish not found in PATH" 1>&2
+ exit 1
+fi
+
+cd "$(dirname "$0")"
+fish ./setup.fish
M modules/neovim-full/nvim/lua/plugins.lua => modules/neovim-full/nvim/lua/plugins.lua +1 -0
@@ 15,6 15,7 @@ return require("packer").startup(function()
use 'ledger/vim-ledger'
use 'tsandall/vim-rego'
use 'junegunn/fzf'
+ use 'khaveesh/vim-fish-syntax'
use {
'liuchengxu/vista.vim',
M profiles/shell => profiles/shell +1 -0
@@ 1,3 1,4 @@
# shell configuration and tools
shell-configs
shell-utils
+fish-config