# # This module links fish vendor completions, otherwise tab completion would be broken. # { config, lib, ... }: let fishNixOSEnabled = config.programs.fish.enable; fishHMEnabled = if config ? home-manager then lib.any (userConfig: userConfig.programs.fish.enable) (lib.attrValues config.home-manager.users) else false; fishEnabled = fishNixOSEnabled || fishHMEnabled; in { environment.pathsToLink = lib.mkIf fishEnabled [ "/share/fish/vendor_conf.d" "/share/fish/vendor_completions.d" "/share/fish/vendor_functions.d" ]; }