diff --git a/home/base/core/npm.nix b/home/base/core/npm.nix new file mode 100644 index 00000000..602708a4 --- /dev/null +++ b/home/base/core/npm.nix @@ -0,0 +1,9 @@ +{config, ...}: { + # make `npm install -g ` happey + # + # mainly used to install npm packages that updates frequently + # such as gemini-cli, claude-code, etc. + home.file.".npmrc".text = '' + prefix=${config.home.homeDirectory}/.npm + ''; +} diff --git a/home/base/core/shells/default.nix b/home/base/core/shells/default.nix index 19138774..a7f9b1b5 100644 --- a/home/base/core/shells/default.nix +++ b/home/base/core/shells/default.nix @@ -1,8 +1,4 @@ -{ - config, - pkgs-unstable, - ... -}: let +{config, ...}: let shellAliases = { k = "kubectl"; @@ -13,22 +9,24 @@ localBin = "${config.home.homeDirectory}/.local/bin"; goBin = "${config.home.homeDirectory}/go/bin"; rustBin = "${config.home.homeDirectory}/.cargo/bin"; + npmBin = "${config.home.homeDirectory}/.npm/bin"; in { - # only works in bash/zsh, not nushell + programs.bash = { + enable = true; + enableCompletion = true; + bashrcExtra = '' + export PATH="$PATH:${localBin}:${goBin}:${rustBin}:${npmBin}" + ''; + }; + + # NOTE: only works in bash/zsh, not nushell home.shellAliases = shellAliases; + # NOTE: nushell will be launched in bash, so it can inherit all the eenvironment variables. programs.nushell = { enable = true; # package = pkgs-unstable.nushell; configFile.source = ./config.nu; inherit shellAliases; }; - - programs.bash = { - enable = true; - enableCompletion = true; - bashrcExtra = '' - export PATH="$PATH:${localBin}:${goBin}:${rustBin}" - ''; - }; }