nixos-config/modules/home/shell-conf/nushell/nushell.nix

55 lines
1.4 KiB
Nix
Raw Permalink Normal View History

2025-06-30 02:12:23 -04:00
{ config, lib, pkgs, ... }:
{
2025-07-02 11:31:05 -04:00
home.packages = with pkgs; [
nu_scripts
];
2025-06-30 02:12:23 -04:00
programs.nushell = {
enable = true;
shellAliases = {
2025-07-06 12:58:31 -04:00
"nuls" = "ls";
2025-07-01 00:00:02 -04:00
"ls" = "ls -m";
2025-07-01 12:19:01 -04:00
"ll" = "ls -m";
2025-07-01 00:00:02 -04:00
"la" = "ls -am";
"lz" = "eza -l";
"lza" = "eza -al";
2025-07-01 12:19:01 -04:00
"y" = "job spawn { wezterm --config-file ~/.config/wezterm/launcher.lua start --always-new-process --cwd (pwd) yazi }";
2025-06-30 02:12:23 -04:00
};
2025-07-01 12:19:01 -04:00
configFile.source = ./config.nu;
2025-07-06 12:58:31 -04:00
envFile.source = ./env.nu;
2025-06-30 02:12:23 -04:00
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;
2025-06-30 11:52:10 -04:00
ls = { clickable_links = true; };
2025-06-30 17:11:02 -04:00
table = {
2025-07-05 22:45:07 -04:00
mode = "rounded";
header_on_separator = true;
2025-06-30 17:11:02 -04:00
};
color_config = {
hints = "#666666";
2025-07-05 22:45:07 -04:00
separator = "#333333";
2025-06-30 17:11:02 -04:00
};
2025-06-30 11:52:10 -04:00
completions = {
case_sensitive = false;
quick = true;
partial = true;
algorithm = "fuzzy";
external = {
enable = true;
2025-06-30 17:28:47 -04:00
max_results = 200;
2025-06-30 11:52:10 -04:00
};
};
2025-06-30 02:12:23 -04:00
};
2025-06-30 17:11:02 -04:00
plugins = [ pkgs.nushellPlugins.skim ];
2025-06-30 02:12:23 -04:00
};
}