nixos-config/home/shell/nushell.nix

44 lines
1.6 KiB
Nix

{ 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 = "";
};
}