haseebmajid.dev
How to Fix Shell Completions When Using Nix Direnv and Fish Shell | Haseeb Majid
If you read this post,
I finally managed to figure out how to get shell completions in fish shell when you install a tool using
a devshell in Nix, while using direnv. This plugin makes sure that the fish shell completions get resynced.
Currently, I am using a fork of the original plugin,
as the fish shell v4 broke it but eventually can use the original.
How it works:
Fish will search $fish_complete_path dynamically, so the idea is to implement a function which listens for changes to $XDG_DATA_DIRS, and attempts to keep that in sync with $fish_complete_path.