.files/nix/nixosModules/common/fish.nix

22 lines
565 B
Nix

#
# 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"
];
}