summaryrefslogtreecommitdiff
path: root/fish/.config
diff options
context:
space:
mode:
Diffstat (limited to 'fish/.config')
-rw-r--r--fish/.config/fish/config.fish40
1 files changed, 40 insertions, 0 deletions
diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish
new file mode 100644
index 0000000..8ff94d3
--- /dev/null
+++ b/fish/.config/fish/config.fish
@@ -0,0 +1,40 @@
+# Setup Homebrew
+# Source of code: https://github.com/orgs/Homebrew/discussions/4412#discussioncomment-8651316
+if test -d /home/linuxbrew/.linuxbrew # Linux
+ set -gx HOMEBREW_PREFIX "/home/linuxbrew/.linuxbrew"
+ set -gx HOMEBREW_CELLAR "$HOMEBREW_PREFIX/Cellar"
+ set -gx HOMEBREW_REPOSITORY "$HOMEBREW_PREFIX/Homebrew"
+else if test -d /opt/homebrew # MacOS
+ set -gx HOMEBREW_PREFIX /opt/homebrew
+ set -gx HOMEBREW_CELLAR "$HOMEBREW_PREFIX/Cellar"
+ set -gx HOMEBREW_REPOSITORY "$HOMEBREW_PREFIX/homebrew"
+ # Add SSH key to ssh-agent and store passphrase
+ # see https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
+ ssh-add --apple-use-keychain ~/.ssh/id_ed25519
+end
+fish_add_path -gP "$HOMEBREW_PREFIX/bin" "$HOMEBREW_PREFIX/sbin"
+! set -q MANPATH; and set MANPATH ''
+set -gx MANPATH "$HOMEBREW_PREFIX/share/man" $MANPATH
+! set -q INFOPATH; and set INFOPATH ''
+set -gx INFOPATH "$HOMEBREW_PREFIX/share/info" $INFOPATH
+
+# Hook direnv
+# Source: https://direnv.net/docs/hook.html
+direnv hook fish | source
+
+# the reverse of fish_remove_path
+# fish doesn't provide this out of the box, so we provide our own
+# see https://fishshell.com/docs/current/cmds/fish_add_path.html#index-8 for fish_add_path
+# source: https://github.com/fish-shell/fish-shell/issues/8604#issuecomment-1169638533
+function fish_remove_path
+ if set -l index (contains -i "$argv" $fish_user_paths)
+ set -e fish_user_paths[$index]
+ echo "Removed $argv from the path"
+ end
+end
+
+# Kitty shell alias
+alias ks="kitten ssh"
+
+# Starship
+starship init fish | source