{config, ...}: {
  programs.nushell = {
    enable = true;
    configFile.source = ./config.nu;

    # home-manager will merge the cotent in `environmentVariables` with the `envFile.source`
    # but basically, I set all environment variables via the shell-independent way, so I don't need to use those two options
    #
    # envFile.source = ./env.nu;
    # environmentVariables = { FOO="bar"; };

    shellAliases = {
      k = "kubectl";

      urldecode = "python3 -c 'import sys, urllib.parse as ul; print(ul.unquote_plus(sys.stdin.read()))'";
      urlencode = "python3 -c 'import sys, urllib.parse as ul; print(ul.quote_plus(sys.stdin.read()))'";
    };
  };
}
