dotnix/apps/nogui/nushell.nix

40 lines
1.5 KiB
Nix

{ pkgs, config, ... }:
{
programs.nushell = {
enable = true;
configFile.source = ./nushell/config.nu;
envFile.source = ./nushell/env.nu;
shellAliases = {
cat = "bat";
find = "fd";
df = "duf";
du = "dust -b -d 1";
ll = "ls -al";
nix-shell = "nix-shell --run nu";
cachix-build = "cachix watch-exec jolheiser -- nix build --rebuild --max-jobs 4";
};
extraConfig = with pkgs; ''
use ${nu_scripts}/share/nu_scripts/custom-completions/bitwarden-cli/bitwarden-cli-completions.nu *
use ${nu_scripts}/share/nu_scripts/custom-completions/btm/btm-completions.nu *
use ${nu_scripts}/share/nu_scripts/custom-completions/git/git-completions.nu *
use ${nu_scripts}/share/nu_scripts/custom-completions/glow/glow-completions.nu *
use ${nu_scripts}/share/nu_scripts/custom-completions/just/just-completions.nu *
use ${nu_scripts}/share/nu_scripts/custom-completions/nix/nix-completions.nu *
use ${jolheiser.tmpl}/share/tmpl-completions.nu *
'';
extraEnv = ''
$env.GOPATH = "${config.xdg.dataHome}/go"
$env.PATH = ($env.PATH | split row (char esep) | prepend '${config.xdg.dataHome}/go/bin')
$env.SPECTRE_USERNAME = "jolheiser"
$env.SPECTRE_SECRET-FILE = "${config.age.secrets.spectre-pw.path}"
'';
};
xdg.configFile = {
"nushell/jolheiser.nu".source = ./nushell/jolheiser.nu;
"nushell/ssh.nu".source = ./nushell/ssh.nu;
"nushell/miniserve.nu".source = ./nushell/miniserve.nu;
"nushell/ohmyposh.nu".source = ./nushell/ohmyposh.nu;
};
}