From cc996f755080197bcc0bf08f8d1655df804cd9af Mon Sep 17 00:00:00 2001 From: Olaf Kolkman Date: Sat, 1 Aug 2026 09:26:36 +0200 Subject: [PATCH] npm packages and ulimit --- modules/darwin/home-manager.nix | 4 ++++ modules/darwin/npm.nix | 29 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 modules/darwin/npm.nix diff --git a/modules/darwin/home-manager.nix b/modules/darwin/home-manager.nix index a6d1963..0710e4a 100644 --- a/modules/darwin/home-manager.nix +++ b/modules/darwin/home-manager.nix @@ -62,6 +62,9 @@ in }; stateVersion = "23.11"; }; + + home.activation.ensureNpmCliTools = import ./npm.nix { inherit lib pkgs; }; + catppuccin = { autoEnable = true; enable = true; @@ -184,6 +187,7 @@ in initContent = let zshConfigEarlyInit = lib.mkOrder 500 '' + ulimit -n 524288 if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then . /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh . /nix/var/nix/profiles/default/etc/profile.d/nix.sh diff --git a/modules/darwin/npm.nix b/modules/darwin/npm.nix new file mode 100644 index 0000000..0ad0d04 --- /dev/null +++ b/modules/darwin/npm.nix @@ -0,0 +1,29 @@ +{ lib, pkgs }: + +let + npmPackages = [ + "@enact/cli" + "@webos-tools/cli" + "patch-package" + ]; +in +lib.hm.dag.entryAfter [ "writeBoundary" ] '' + # Ensure required npm CLI tools are installed in the user prefix. + NPM_BIN="${pkgs.nodejs}/bin/npm" + export NPM_CONFIG_PREFIX="$HOME/.npm-packages" + export PATH="${pkgs.nodejs}/bin:$NPM_CONFIG_PREFIX/bin:$PATH" + + if [[ ! -x "$NPM_BIN" ]]; then + echo "npm not found; skipping npm CLI installation step" + exit 0 + fi + + for pkg in ${lib.concatStringsSep " " (map lib.escapeShellArg npmPackages)}; do + if "$NPM_BIN" list -g --depth=0 "$pkg" >/dev/null 2>&1; then + echo "npm package already installed: $pkg" + else + echo "installing npm package: $pkg" + "$NPM_BIN" install -g "$pkg" + fi + done +''