2024-12-19 21:47:51 -05:00
|
|
|
{
|
|
|
|
|
options,
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
pkgs,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
with lib;
|
|
|
|
|
with lib.custom; let
|
|
|
|
|
cfg = config.shells.nu;
|
|
|
|
|
in {
|
|
|
|
|
options.shells.nu = with types; {
|
|
|
|
|
enable = mkBoolOpt false "Enable Nushell Configuration";
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
|
programs.nushell = {
|
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
|
|
extraConfig = ''
|
2025-05-19 18:28:46 -04:00
|
|
|
$env.config.show_banner = false
|
2024-12-19 21:47:51 -05:00
|
|
|
|
2025-05-19 18:28:46 -04:00
|
|
|
if ('TMUX' in $env == false) {
|
|
|
|
|
exec tmux
|
2024-12-19 21:47:51 -05:00
|
|
|
}
|
|
|
|
|
|
2025-05-19 18:28:46 -04:00
|
|
|
fastfetch --config minimal
|
2024-12-19 21:47:51 -05:00
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
extraEnv = ''
|
2025-05-19 18:28:46 -04:00
|
|
|
# Environment variables
|
|
|
|
|
$env.LC_ALL = "en_US.UTF-8"
|
|
|
|
|
|
|
|
|
|
$env.SSH_AUTH_SOCK = "/run/user/1000/keyring/ssh"
|
|
|
|
|
$env.FLAKE = "/home/zoey/nixos/"
|
|
|
|
|
|
|
|
|
|
# FZF settings
|
|
|
|
|
$env.FZF_PREVIEW_FILE_CMD = "head -n 10"
|
|
|
|
|
$env.FZF_PREVIEW_DIR_CMD = "ls"
|
2024-12-19 21:47:51 -05:00
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
# Import aliases (you'll need to convert fish aliases to Nushell format)
|
|
|
|
|
shellAliases = import ./aliases.nix {inherit pkgs lib config;};
|
|
|
|
|
};
|
|
|
|
|
|
2025-05-19 18:28:46 -04:00
|
|
|
programs.carapace.enable = true;
|
|
|
|
|
programs.carapace.enableNushellIntegration = true;
|
|
|
|
|
|
2024-12-19 21:47:51 -05:00
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
gnumake
|
|
|
|
|
comma
|
|
|
|
|
ripgrep
|
|
|
|
|
gping
|
|
|
|
|
fzf
|
|
|
|
|
dogdns
|
|
|
|
|
onefetch
|
|
|
|
|
cpufetch
|
|
|
|
|
yt-dlp
|
|
|
|
|
zsh-history
|
|
|
|
|
tealdeer
|
|
|
|
|
glow
|
|
|
|
|
hyperfine
|
|
|
|
|
imagemagick
|
|
|
|
|
ffmpeg-full
|
|
|
|
|
catimg
|
|
|
|
|
nmap
|
|
|
|
|
wget
|
|
|
|
|
fd
|
|
|
|
|
xh
|
|
|
|
|
grex
|
|
|
|
|
jq
|
|
|
|
|
rsync
|
|
|
|
|
figlet
|
|
|
|
|
qrencode
|
|
|
|
|
hcxdumptool
|
|
|
|
|
hashcat
|
|
|
|
|
unzip
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
}
|