{ config, lib, pkgs, ... }: { home.packages = with pkgs; [ nu_scripts ]; programs.nushell = { enable = true; shellAliases = { "nuls" = "ls"; "ls" = "ls -m"; "ll" = "ls -m"; "la" = "ls -am"; "lz" = "eza -l"; "lza" = "eza -al"; "y" = "job spawn { wezterm --config-file ~/.config/wezterm/launcher.lua start --always-new-process --cwd (pwd) yazi }"; }; configFile.source = ./config.nu; envFile.source = ./env.nu; loginFile.text = '' ${pkgs.figlet}/bin/figlet -f ($env.HOME)/.local/share/flf/wavy.flf (hostname) ''; environmentVariables = { ENV_CONVERSIONS.PATH = { from_string = lib.hm.nushell.mkNushellInline "{|s| $s | split row (char esep) }"; to_string = lib.hm.nushell.mkNushellInline "{|v| $v | str join (char esep) }"; }; }; settings = { show_banner = false; ls = { clickable_links = true; }; table = { mode = "rounded"; header_on_separator = true; }; color_config = { hints = "#666666"; separator = "#333333"; }; completions = { case_sensitive = false; quick = true; partial = true; algorithm = "fuzzy"; external = { enable = true; max_results = 200; }; }; }; plugins = [ pkgs.nushellPlugins.skim ]; }; }