feat(shell): add nushell

This commit is contained in:
Felix Schröter 2023-04-09 21:43:53 +02:00
parent a115df5a63
commit 3c72312f8a
Signed by: felschr
GPG key ID: 671E39E6744C807D
3 changed files with 53 additions and 1 deletions

View file

@ -1,7 +1,14 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
imports = [ ./bash.nix ./zsh.nix ./starship.nix ./kitty.nix ./direnv.nix ]; imports = [
./bash.nix
./zsh.nix
./nushell.nix
./starship.nix
./kitty.nix
./direnv.nix
];
programs.fzf = { enable = true; }; programs.fzf = { enable = true; };

43
home/shell/nushell.nix Normal file
View file

@ -0,0 +1,43 @@
{ config, pkgs, ... }:
let
shellAliases = import ./aliases.nix;
aliasesStr = builtins.concatStringsSep "\n"
(pkgs.lib.mapAttrsToList (k: v: "alias ${k} = ${v}") shellAliases);
nu_scripts = pkgs.fetchFromGitHub {
owner = "nushell";
repo = "nu_scripts";
rev = "ebdab3dea34f7776c937497a67357f913b0c1c54";
hash = "sha256-Vh3WU0oNlo6HZWwhlVt5sQJa5214rVClh9gTLR3rFDg=";
};
in {
programs.nushell = {
enable = true;
package = pkgs.unstable.nushell;
configFile.text = ''
let-env config = {
edit_mode: "vi"
show_banner: false
}
${aliasesStr}
use ${nu_scripts}/ssh/ssh.nu *
use ${nu_scripts}/git/git.nu *
use ${nu_scripts}/docker/docker.nu *
use ${nu_scripts}/custom-completions/git/git-completions.nu *
use ${nu_scripts}/custom-completions/nix/nix-completions.nu *
use ${nu_scripts}/custom-completions/cargo/cargo-completions.nu *
# use ${nu_scripts}/custom-completions/npm/npm-completions.nu * # TODO incomplete
use ${nu_scripts}/custom-completions/auto-generate/completions/wget.nu *
# use ${nu_scripts}/custom-completions/auto-generate/completions/tar.nu * # TODO broken
use ${nu_scripts}/custom-completions/auto-generate/completions/zstd.nu *
use ${nu_scripts}/custom-completions/auto-generate/completions/unzstd.nu *
use ${nu_scripts}/custom-completions/auto-generate/completions/npm.nu *
use ${nu_scripts}/custom-completions/auto-generate/completions/dotnet.nu *
use ${nu_scripts}/custom-completions/auto-generate/completions/terraform.nu *
'';
envFile.text = "";
};
}

View file

@ -14,5 +14,7 @@
# kitty/neovim don't play well with multi-width emojis # kitty/neovim don't play well with multi-width emojis
nix_shell.symbol = " "; nix_shell.symbol = " ";
}; };
# @TODO broken in nixos-22.11
enableNushellIntegration = false;
}; };
} }