Can't get rid of fish ls aliases created by NixOS/Home Manager

It seems like home manager or NixOS is creating default aliases for ls, like la and ll. And I can’t get rid of them.

I have tried setting programs.fish.shellAliases = lib.mkForce {} (in home manager) and environment.shellAliases = lib.mkForce {}, but that didn’t help.

home.shell.enableFishIntegration = false doesn’t help either.

The aliases are only created for fish, not for bash, even with home.shell.enableBashIntegration = true.

Are there any other *.enableFishIntegration options set in your HM config?

AFAIK, programs inherit home.shell.enableFishIntegration. So, implicitly probably a lot.

Did some further digging and the aliases/functions are coming straight from upstream, shipping with fish. Meaning this is not a NixOS issue.

To get rid of them, add these lines to your fish config or programs.fish.interactiveShellInit:

functions --erase la
functions --erase ll