{ config, ... }:
{
  home-manager.users.jade =
    { pkgs, ... }:
    {
      # Needed for nu_scripts background_task
      services.pueue = {
        enable = true;
        settings = {
          shared = {
            use_unix_socket = true;
          };
        };
      };
      home.packages = [
        pkgs.pueue
      ];
      home.file."shell-startup" = {
        source = ./nu/shell-startup.nu;
        target = ".config/nushell/shell-startup.nu";
      };
      programs.nushell = {
        enable = true;
        package = config.users.defaultUserShell;
        configFile.source = ./nu/config.nu;
        envFile.source = ./nu/env.nu;
        extraConfig = ''
          plugin add ${pkgs.nushellPlugins.query}/bin/nu_plugin_query;
          plugin add ${pkgs.nushellPlugins.polars}/bin/nu_plugin_polars;
          plugin add ${pkgs.nushellPlugins.formats}/bin/nu_plugin_formats;

          plugin use query;
          plugin use polars;
          plugin use formats;

          source ${./nu/custom_commands.nu};
          source ${./nu/aliases.nu};
          nu ${./nu/shell-startup.nu};
        '';
        extraEnv = '''';
      };
      # programs.starship.enableNushellIntegration = true;
      programs.carapace.enableNushellIntegration = true;
      programs.direnv.enableNushellIntegration = true;
    };
}
