feat(home/linux/base): make npm install -g <pkg> happey

This commit is contained in:
Ryan Yin
2025-07-16 22:13:55 +08:00
parent ec6211ff5c
commit f51f364cfa
2 changed files with 21 additions and 14 deletions

9
home/base/core/npm.nix Normal file
View File

@@ -0,0 +1,9 @@
{config, ...}: {
# make `npm install -g <pkg>` 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
'';
}

View File

@@ -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}"
'';
};
}