diff --git a/home/hosts/work/default.nix b/home/hosts/work/default.nix index 735d1df..f6852de 100644 --- a/home/hosts/work/default.nix +++ b/home/hosts/work/default.nix @@ -81,7 +81,10 @@ taskwarrior.enable = true; terminal.enable = true; infra.enable = true; - nodejs.enable = true; + nodejs = { + enable = true; + fnm.enable = true; + }; secrets.enable = true; secrets.vault.enable = true; ticketing.enable = true; diff --git a/home/modules/nodejs/default.nix b/home/modules/nodejs/default.nix index 1231c92..25e6e9f 100644 --- a/home/modules/nodejs/default.nix +++ b/home/modules/nodejs/default.nix @@ -13,16 +13,24 @@ in options.nodejs = { enable = lib.mkEnableOption "Node.js"; package = lib.mkPackageOption pkgs "nodejs_24" { }; + fnm.enable = lib.mkEnableOption "fnm"; }; config = lib.mkIf cfg.enable { - home.packages = with pkgs; [ - cfg.package - pnpm - yarn - biome - tsx - ]; + home.packages = + with pkgs; + [ + cfg.package + pnpm + yarn + biome + tsx + ] + ++ lib.optional cfg.fnm.enable fnm; + + programs.bash.initExtra = lib.mkIf cfg.fnm.enable '' + eval "$(fnm env --use-on-cd --shell bash)" + ''; programs.npm = { inherit (cfg) enable package;