summary refs log tree commit diff stats
path: root/user/packages
diff options
context:
space:
mode:
authorAlan Pearce2023-03-14 21:43:19 +0100
committerAlan Pearce2023-03-14 21:43:19 +0100
commit6db9eaad8e78f882ae44a28edcc4d11d2ffd5e28 (patch)
tree7a126873d4a216438d835123843132d09eb2bfab /user/packages
parentfa2d41901d9fd10fd257c7ccc249ab29c5df2e33 (diff)
downloadnixfiles-6db9eaad8e78f882ae44a28edcc4d11d2ffd5e28.tar.lz
nixfiles-6db9eaad8e78f882ae44a28edcc4d11d2ffd5e28.tar.zst
nixfiles-6db9eaad8e78f882ae44a28edcc4d11d2ffd5e28.zip
Re-format with nixpkgs-fmt
Diffstat (limited to 'user/packages')
-rw-r--r--user/packages/lumen/default.nix12
-rw-r--r--user/packages/node2nix/default.nix24
-rw-r--r--user/packages/node2nix/node-env.nix696
-rw-r--r--user/packages/node2nix/node-packages.nix144
4 files changed, 445 insertions, 431 deletions
diff --git a/user/packages/lumen/default.nix b/user/packages/lumen/default.nix
index 91e1b726..85520a2f 100644
--- a/user/packages/lumen/default.nix
+++ b/user/packages/lumen/default.nix
@@ -1,9 +1,9 @@
-{
-  stdenv,
-  lib,
-  go,
-  buildGoPackage,
-  fetchFromGitHub,
+{ stdenv
+, lib
+, go
+, buildGoPackage
+, fetchFromGitHub
+,
 }:
 buildGoPackage rec {
   pname = "lumen";
diff --git a/user/packages/node2nix/default.nix b/user/packages/node2nix/default.nix
index 09eea0fe..13d7a1e2 100644
--- a/user/packages/node2nix/default.nix
+++ b/user/packages/node2nix/default.nix
@@ -1,12 +1,12 @@
 # This file has been generated by node2nix 1.11.1. Do not edit!
-{
-  pkgs ?
-    import <nixpkgs> {
-      inherit system;
-    },
-  system ? builtins.currentSystem,
-  nodejs ? pkgs."nodejs-18_x",
-}: let
+{ pkgs ? import <nixpkgs> {
+    inherit system;
+  }
+, system ? builtins.currentSystem
+, nodejs ? pkgs."nodejs-18_x"
+,
+}:
+let
   nodeEnv = import ./node-env.nix {
     inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
     inherit pkgs nodejs;
@@ -16,7 +16,7 @@
       else null;
   };
 in
-  import ./node-packages.nix {
-    inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
-    inherit nodeEnv;
-  }
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
+  inherit nodeEnv;
+}
diff --git a/user/packages/node2nix/node-env.nix b/user/packages/node2nix/node-env.nix
index b81347da..16720d90 100644
--- a/user/packages/node2nix/node-env.nix
+++ b/user/packages/node2nix/node-env.nix
@@ -1,15 +1,16 @@
 # This file originates from node2nix
-{
-  lib,
-  stdenv,
-  nodejs,
-  python2,
-  pkgs,
-  libtool,
-  runCommand,
-  writeTextFile,
-  writeShellScript,
-}: let
+{ lib
+, stdenv
+, nodejs
+, python2
+, pkgs
+, libtool
+, runCommand
+, writeTextFile
+, writeShellScript
+,
+}:
+let
   # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
   utillinux =
     if pkgs ? utillinux
@@ -22,7 +23,7 @@
     else python2;
 
   # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
-  tarWrapper = runCommand "tarWrapper" {} ''
+  tarWrapper = runCommand "tarWrapper" { } ''
     mkdir -p $out/bin
 
     cat > $out/bin/tar <<EOF
@@ -34,16 +35,16 @@
   '';
 
   # Function that generates a TGZ file from a NPM project
-  buildNodeSourceDist = {
-    name,
-    version,
-    src,
-    ...
-  }:
+  buildNodeSourceDist =
+    { name
+    , version
+    , src
+    , ...
+    }:
     stdenv.mkDerivation {
       name = "node-tarball-${name}-${version}";
       inherit src;
-      buildInputs = [nodejs];
+      buildInputs = [ nodejs ];
       buildPhase = ''
         export HOME=$TMPDIR
         tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
@@ -106,13 +107,14 @@
   # Bundle the dependencies of the package
   #
   # Only include dependencies if they don't exist. They may also be bundled in the package.
-  includeDependencies = {dependencies}:
-    lib.optionalString (dependencies != []) (
+  includeDependencies = { dependencies }:
+    lib.optionalString (dependencies != [ ]) (
       ''
         mkdir -p node_modules
         cd node_modules
       ''
-      + (lib.concatMapStrings (
+      + (lib.concatMapStrings
+        (
           dependency: ''
             if [ ! -e "${dependency.packageName}" ]; then
             ${composePackage dependency}
@@ -126,13 +128,13 @@
     );
 
   # Recursively composes the dependencies of a package
-  composePackage = {
-    name,
-    packageName,
-    src,
-    dependencies ? [],
-    ...
-  } @ args:
+  composePackage =
+    { name
+    , packageName
+    , src
+    , dependencies ? [ ]
+    , ...
+    } @ args:
     builtins.addErrorContext "while evaluating node package '${packageName}'" ''
       installPackage "${packageName}" "${src}"
       ${includeDependencies {inherit dependencies;}}
@@ -140,106 +142,109 @@
       ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
     '';
 
-  pinpointDependencies = {
-    dependencies,
-    production,
-  }: let
-    pinpointDependenciesFromPackageJSON = writeTextFile {
-      name = "pinpointDependencies.js";
-      text = ''
-        var fs = require('fs');
-        var path = require('path');
-
-        function resolveDependencyVersion(location, name) {
-        if(location == process.env['NIX_STORE']) {
-        return null;
-        } else {
-        var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
-
-        if(fs.existsSync(dependencyPackageJSON)) {
-        var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
-
-        if(dependencyPackageObj.name == name) {
-        return dependencyPackageObj.version;
-        }
-        } else {
-        return resolveDependencyVersion(path.resolve(location, ".."), name);
-        }
-        }
-        }
+  pinpointDependencies =
+    { dependencies
+    , production
+    ,
+    }:
+    let
+      pinpointDependenciesFromPackageJSON = writeTextFile {
+        name = "pinpointDependencies.js";
+        text = ''
+          var fs = require('fs');
+          var path = require('path');
+
+          function resolveDependencyVersion(location, name) {
+          if(location == process.env['NIX_STORE']) {
+          return null;
+          } else {
+          var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
+
+          if(fs.existsSync(dependencyPackageJSON)) {
+          var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
+
+          if(dependencyPackageObj.name == name) {
+          return dependencyPackageObj.version;
+          }
+          } else {
+          return resolveDependencyVersion(path.resolve(location, ".."), name);
+          }
+          }
+          }
 
-        function replaceDependencies(dependencies) {
-        if(typeof dependencies == "object" && dependencies !== null) {
-        for(var dependency in dependencies) {
-        var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
+          function replaceDependencies(dependencies) {
+          if(typeof dependencies == "object" && dependencies !== null) {
+          for(var dependency in dependencies) {
+          var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
 
-        if(resolvedVersion === null) {
-        process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
-        } else {
-        dependencies[dependency] = resolvedVersion;
-        }
-        }
-        }
-        }
+          if(resolvedVersion === null) {
+          process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
+          } else {
+          dependencies[dependency] = resolvedVersion;
+          }
+          }
+          }
+          }
 
-        /* Read the package.json configuration */
-        var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+          /* Read the package.json configuration */
+          var packageObj = JSON.parse(fs.readFileSync('./package.json'));
 
-        /* Pinpoint all dependencies */
-        replaceDependencies(packageObj.dependencies);
-        if(process.argv[2] == "development") {
-        replaceDependencies(packageObj.devDependencies);
-        }
-        else {
-        packageObj.devDependencies = {};
-        }
-        replaceDependencies(packageObj.optionalDependencies);
-        replaceDependencies(packageObj.peerDependencies);
+          /* Pinpoint all dependencies */
+          replaceDependencies(packageObj.dependencies);
+          if(process.argv[2] == "development") {
+          replaceDependencies(packageObj.devDependencies);
+          }
+          else {
+          packageObj.devDependencies = {};
+          }
+          replaceDependencies(packageObj.optionalDependencies);
+          replaceDependencies(packageObj.peerDependencies);
 
-        /* Write the fixed package.json file */
-        fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
-      '';
-    };
-  in ''
-    node ${pinpointDependenciesFromPackageJSON} ${
-      if production
-      then "production"
-      else "development"
-    }
+          /* Write the fixed package.json file */
+          fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
+        '';
+      };
+    in
+    ''
+      node ${pinpointDependenciesFromPackageJSON} ${
+        if production
+        then "production"
+        else "development"
+      }
 
-    ${lib.optionalString (dependencies != [])
-      ''
-        if [ -d node_modules ]
-        then
-        cd node_modules
-        ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
-        cd ..
-        fi
-      ''}
-  '';
+      ${lib.optionalString (dependencies != [])
+        ''
+          if [ -d node_modules ]
+          then
+          cd node_modules
+          ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
+          cd ..
+          fi
+        ''}
+    '';
 
   # Recursively traverses all dependencies of a package and pinpoints all
   # dependencies in the package.json file to the versions that are actually
   # being used.
 
-  pinpointDependenciesOfPackage = {
-    packageName,
-    dependencies ? [],
-    production ? true,
-    ...
-  } @ args: ''
-    if [ -d "${packageName}" ]
-    then
-    cd "${packageName}"
-    ${pinpointDependencies {inherit dependencies production;}}
-    cd ..
-    ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-    fi
-  '';
+  pinpointDependenciesOfPackage =
+    { packageName
+    , dependencies ? [ ]
+    , production ? true
+    , ...
+    } @ args: ''
+      if [ -d "${packageName}" ]
+      then
+      cd "${packageName}"
+      ${pinpointDependencies {inherit dependencies production;}}
+      cd ..
+      ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+      fi
+    '';
 
   # Extract the Node.js source code which is used to compile packages with
   # native bindings
-  nodeSources = runCommand "node-sources" {} ''
+  nodeSources = runCommand "node-sources" { } ''
     tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
     mv node-* $out
   '';
@@ -446,293 +451,300 @@
     '';
   };
 
-  prepareAndInvokeNPM = {
-    packageName,
-    bypassCache,
-    reconstructLock,
-    npmFlags,
-    production,
-  }: let
-    forceOfflineFlag =
-      if bypassCache
-      then "--offline"
-      else "--registry http://www.example.com";
-  in ''
-    # Pinpoint the versions of all dependencies to the ones that are actually being used
-    echo "pinpointing versions of dependencies..."
-    source $pinpointDependenciesScriptPath
-
-    # Patch the shebangs of the bundled modules to prevent them from
-    # calling executables outside the Nix store as much as possible
-    patchShebangs .
-
-    # Deploy the Node.js package by running npm install. Since the
-    # dependencies have been provided already by ourselves, it should not
-    # attempt to install them again, which is good, because we want to make
-    # it Nix's responsibility. If it needs to install any dependencies
-    # anyway (e.g. because the dependency parameters are
-    # incomplete/incorrect), it fails.
-    #
-    # The other responsibilities of NPM are kept -- version checks, build
-    # steps, postprocessing etc.
-
-    export HOME=$TMPDIR
-    cd "${packageName}"
-    runHook preRebuild
-
-    ${lib.optionalString bypassCache ''
-      ${lib.optionalString reconstructLock ''
-        if [ -f package-lock.json ]
-        then
-        echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
-        echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
-        rm package-lock.json
-        else
-        echo "No package-lock.json file found, reconstructing..."
-        fi
+  prepareAndInvokeNPM =
+    { packageName
+    , bypassCache
+    , reconstructLock
+    , npmFlags
+    , production
+    ,
+    }:
+    let
+      forceOfflineFlag =
+        if bypassCache
+        then "--offline"
+        else "--registry http://www.example.com";
+    in
+    ''
+      # Pinpoint the versions of all dependencies to the ones that are actually being used
+      echo "pinpointing versions of dependencies..."
+      source $pinpointDependenciesScriptPath
+
+      # Patch the shebangs of the bundled modules to prevent them from
+      # calling executables outside the Nix store as much as possible
+      patchShebangs .
+
+      # Deploy the Node.js package by running npm install. Since the
+      # dependencies have been provided already by ourselves, it should not
+      # attempt to install them again, which is good, because we want to make
+      # it Nix's responsibility. If it needs to install any dependencies
+      # anyway (e.g. because the dependency parameters are
+      # incomplete/incorrect), it fails.
+      #
+      # The other responsibilities of NPM are kept -- version checks, build
+      # steps, postprocessing etc.
+
+      export HOME=$TMPDIR
+      cd "${packageName}"
+      runHook preRebuild
+
+      ${lib.optionalString bypassCache ''
+        ${lib.optionalString reconstructLock ''
+          if [ -f package-lock.json ]
+          then
+          echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
+          echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
+          rm package-lock.json
+          else
+          echo "No package-lock.json file found, reconstructing..."
+          fi
+
+          node ${reconstructPackageLock}
+        ''}
 
-        node ${reconstructPackageLock}
+        node ${addIntegrityFieldsScript}
       ''}
 
-      node ${addIntegrityFieldsScript}
-    ''}
+      npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
 
-    npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
+      runHook postRebuild
 
-    runHook postRebuild
+      if [ "''${dontNpmInstall-}" != "1" ]
+      then
+      # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+      rm -f npm-shrinkwrap.json
 
-    if [ "''${dontNpmInstall-}" != "1" ]
-    then
-    # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
-    rm -f npm-shrinkwrap.json
+      npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install
+      fi
 
-    npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install
-    fi
-
-    # Link executables defined in package.json
-    node ${linkBinsScript}
-  '';
+      # Link executables defined in package.json
+      node ${linkBinsScript}
+    '';
 
   # Builds and composes an NPM package including all its dependencies
-  buildNodePackage = {
-    name,
-    packageName,
-    version ? null,
-    dependencies ? [],
-    buildInputs ? [],
-    production ? true,
-    npmFlags ? "",
-    dontNpmInstall ? false,
-    bypassCache ? false,
-    reconstructLock ? false,
-    preRebuild ? "",
-    dontStrip ? true,
-    unpackPhase ? "true",
-    buildPhase ? "true",
-    meta ? {},
-    ...
-  } @ args: let
-    extraArgs = removeAttrs args ["name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta"];
-  in
+  buildNodePackage =
+    { name
+    , packageName
+    , version ? null
+    , dependencies ? [ ]
+    , buildInputs ? [ ]
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , preRebuild ? ""
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , meta ? { }
+    , ...
+    } @ args:
+    let
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
+    in
     stdenv.mkDerivation ({
-        name = "${name}${
+      name = "${name}${
           if version == null
           then ""
           else "-${version}"
         }";
-        buildInputs =
-          [tarWrapper python nodejs]
+      buildInputs =
+        [ tarWrapper python nodejs ]
           ++ lib.optional (stdenv.isLinux) utillinux
           ++ lib.optional (stdenv.isDarwin) libtool
           ++ buildInputs;
 
-        inherit nodejs;
+      inherit nodejs;
 
-        inherit dontStrip; # Stripping may fail a build for some package deployments
-        inherit dontNpmInstall preRebuild unpackPhase buildPhase;
+      inherit dontStrip; # Stripping may fail a build for some package deployments
+      inherit dontNpmInstall preRebuild unpackPhase buildPhase;
 
-        compositionScript = composePackage args;
-        pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+      compositionScript = composePackage args;
+      pinpointDependenciesScript = pinpointDependenciesOfPackage args;
 
-        passAsFile = ["compositionScript" "pinpointDependenciesScript"];
+      passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
 
-        installPhase = ''
-          source ${installPackage}
+      installPhase = ''
+        source ${installPackage}
 
-          # Create and enter a root node_modules/ folder
-          mkdir -p $out/lib/node_modules
-          cd $out/lib/node_modules
+        # Create and enter a root node_modules/ folder
+        mkdir -p $out/lib/node_modules
+        cd $out/lib/node_modules
 
-          # Compose the package and all its dependencies
-          source $compositionScriptPath
+        # Compose the package and all its dependencies
+        source $compositionScriptPath
 
-          ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}}
+        ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}}
 
-          # Create symlink to the deployed executable folder, if applicable
-          if [ -d "$out/lib/node_modules/.bin" ]
-          then
-          ln -s $out/lib/node_modules/.bin $out/bin
-
-          # Patch the shebang lines of all the executables
-          ls $out/bin/* | while read i
-          do
-          file="$(readlink -f "$i")"
-          chmod u+rwx "$file"
-          patchShebangs "$file"
-          done
-          fi
+        # Create symlink to the deployed executable folder, if applicable
+        if [ -d "$out/lib/node_modules/.bin" ]
+        then
+        ln -s $out/lib/node_modules/.bin $out/bin
+
+        # Patch the shebang lines of all the executables
+        ls $out/bin/* | while read i
+        do
+        file="$(readlink -f "$i")"
+        chmod u+rwx "$file"
+        patchShebangs "$file"
+        done
+        fi
 
-          # Create symlinks to the deployed manual page folders, if applicable
-          if [ -d "$out/lib/node_modules/${packageName}/man" ]
-          then
-          mkdir -p $out/share
-          for dir in "$out/lib/node_modules/${packageName}/man/"*
-          do
-          mkdir -p $out/share/man/$(basename "$dir")
-          for page in "$dir"/*
-          do
-          ln -s $page $out/share/man/$(basename "$dir")
-          done
-          done
-          fi
+        # Create symlinks to the deployed manual page folders, if applicable
+        if [ -d "$out/lib/node_modules/${packageName}/man" ]
+        then
+        mkdir -p $out/share
+        for dir in "$out/lib/node_modules/${packageName}/man/"*
+        do
+        mkdir -p $out/share/man/$(basename "$dir")
+        for page in "$dir"/*
+        do
+        ln -s $page $out/share/man/$(basename "$dir")
+        done
+        done
+        fi
 
-          # Run post install hook, if provided
-          runHook postInstall
-        '';
+        # Run post install hook, if provided
+        runHook postInstall
+      '';
 
-        meta =
-          {
-            # default to Node.js' platforms
-            platforms = nodejs.meta.platforms;
-          }
-          // meta;
-      }
-      // extraArgs);
+      meta =
+        {
+          # default to Node.js' platforms
+          platforms = nodejs.meta.platforms;
+        }
+        // meta;
+    }
+    // extraArgs);
 
   # Builds a node environment (a node_modules folder and a set of binaries)
-  buildNodeDependencies = {
-    name,
-    packageName,
-    version ? null,
-    src,
-    dependencies ? [],
-    buildInputs ? [],
-    production ? true,
-    npmFlags ? "",
-    dontNpmInstall ? false,
-    bypassCache ? false,
-    reconstructLock ? false,
-    dontStrip ? true,
-    unpackPhase ? "true",
-    buildPhase ? "true",
-    ...
-  } @ args: let
-    extraArgs = removeAttrs args ["name" "dependencies" "buildInputs"];
-  in
+  buildNodeDependencies =
+    { name
+    , packageName
+    , version ? null
+    , src
+    , dependencies ? [ ]
+    , buildInputs ? [ ]
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ...
+    } @ args:
+    let
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
+    in
     stdenv.mkDerivation ({
-        name = "node-dependencies-${name}${
+      name = "node-dependencies-${name}${
           if version == null
           then ""
           else "-${version}"
         }";
 
-        buildInputs =
-          [tarWrapper python nodejs]
+      buildInputs =
+        [ tarWrapper python nodejs ]
           ++ lib.optional (stdenv.isLinux) utillinux
           ++ lib.optional (stdenv.isDarwin) libtool
           ++ buildInputs;
 
-        inherit dontStrip; # Stripping may fail a build for some package deployments
-        inherit dontNpmInstall unpackPhase buildPhase;
+      inherit dontStrip; # Stripping may fail a build for some package deployments
+      inherit dontNpmInstall unpackPhase buildPhase;
 
-        includeScript = includeDependencies {inherit dependencies;};
-        pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+      includeScript = includeDependencies { inherit dependencies; };
+      pinpointDependenciesScript = pinpointDependenciesOfPackage args;
 
-        passAsFile = ["includeScript" "pinpointDependenciesScript"];
+      passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
 
-        installPhase = ''
-          source ${installPackage}
+      installPhase = ''
+        source ${installPackage}
 
-          mkdir -p $out/${packageName}
-          cd $out/${packageName}
+        mkdir -p $out/${packageName}
+        cd $out/${packageName}
 
-          source $includeScriptPath
+        source $includeScriptPath
 
-          # Create fake package.json to make the npm commands work properly
-          cp ${src}/package.json .
-          chmod 644 package.json
-          ${lib.optionalString bypassCache ''
-            if [ -f ${src}/package-lock.json ]
-            then
-            cp ${src}/package-lock.json .
-            chmod 644 package-lock.json
-            fi
-          ''}
+        # Create fake package.json to make the npm commands work properly
+        cp ${src}/package.json .
+        chmod 644 package.json
+        ${lib.optionalString bypassCache ''
+          if [ -f ${src}/package-lock.json ]
+          then
+          cp ${src}/package-lock.json .
+          chmod 644 package-lock.json
+          fi
+        ''}
 
-          # Go to the parent folder to make sure that all packages are pinpointed
-          cd ..
-          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+        # Go to the parent folder to make sure that all packages are pinpointed
+        cd ..
+        ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
 
-          ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}}
+        ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}}
 
-          # Expose the executables that were installed
-          cd ..
-          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+        # Expose the executables that were installed
+        cd ..
+        ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
 
-          mv ${packageName} lib
-          ln -s $out/lib/node_modules/.bin $out/bin
-        '';
-      }
-      // extraArgs);
+        mv ${packageName} lib
+        ln -s $out/lib/node_modules/.bin $out/bin
+      '';
+    }
+    // extraArgs);
 
   # Builds a development shell
-  buildNodeShell = {
-    name,
-    packageName,
-    version ? null,
-    src,
-    dependencies ? [],
-    buildInputs ? [],
-    production ? true,
-    npmFlags ? "",
-    dontNpmInstall ? false,
-    bypassCache ? false,
-    reconstructLock ? false,
-    dontStrip ? true,
-    unpackPhase ? "true",
-    buildPhase ? "true",
-    ...
-  } @ args: let
-    nodeDependencies = buildNodeDependencies args;
-    extraArgs = removeAttrs args ["name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase"];
-  in
+  buildNodeShell =
+    { name
+    , packageName
+    , version ? null
+    , src
+    , dependencies ? [ ]
+    , buildInputs ? [ ]
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ...
+    } @ args:
+    let
+      nodeDependencies = buildNodeDependencies args;
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ];
+    in
     stdenv.mkDerivation ({
-        name = "node-shell-${name}${
+      name = "node-shell-${name}${
           if version == null
           then ""
           else "-${version}"
         }";
 
-        buildInputs = [python nodejs] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
-        buildCommand = ''
-          mkdir -p $out/bin
-          cat > $out/bin/shell <<EOF
-          #! ${stdenv.shell} -e
-          $shellHook
-          exec ${stdenv.shell}
-          EOF
-          chmod +x $out/bin/shell
-        '';
+      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
+      buildCommand = ''
+        mkdir -p $out/bin
+        cat > $out/bin/shell <<EOF
+        #! ${stdenv.shell} -e
+        $shellHook
+        exec ${stdenv.shell}
+        EOF
+        chmod +x $out/bin/shell
+      '';
 
-        # Provide the dependencies in a development shell through the NODE_PATH environment variable
-        inherit nodeDependencies;
-        shellHook = lib.optionalString (dependencies != []) ''
-          export NODE_PATH=${nodeDependencies}/lib/node_modules
-          export PATH="${nodeDependencies}/bin:$PATH"
-        '';
-      }
-      // extraArgs);
-in {
+      # Provide the dependencies in a development shell through the NODE_PATH environment variable
+      inherit nodeDependencies;
+      shellHook = lib.optionalString (dependencies != [ ]) ''
+        export NODE_PATH=${nodeDependencies}/lib/node_modules
+        export PATH="${nodeDependencies}/bin:$PATH"
+      '';
+    }
+    // extraArgs);
+in
+{
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
   buildNodePackage = lib.makeOverridable buildNodePackage;
   buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
diff --git a/user/packages/node2nix/node-packages.nix b/user/packages/node2nix/node-packages.nix
index 64748fe5..65622884 100644
--- a/user/packages/node2nix/node-packages.nix
+++ b/user/packages/node2nix/node-packages.nix
@@ -1,13 +1,14 @@
 # This file has been generated by node2nix 1.11.1. Do not edit!
-{
-  nodeEnv,
-  fetchurl,
-  fetchgit,
-  nix-gitignore,
-  stdenv,
-  lib,
-  globalBuildInputs ? [],
-}: let
+{ nodeEnv
+, fetchurl
+, fetchgit
+, nix-gitignore
+, stdenv
+, lib
+, globalBuildInputs ? [ ]
+,
+}:
+let
   sources = {
     "abort-controller-3.0.0" = {
       name = "abort-controller";
@@ -1063,7 +1064,8 @@
       };
     };
   };
-in {
+in
+{
   "pnpm-7.12" = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
@@ -1108,10 +1110,10 @@ in {
       sources."glob-8.0.3"
       (sources."help-me-4.1.0"
         // {
-          dependencies = [
-            sources."readable-stream-3.6.0"
-          ];
-        })
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -1190,16 +1192,16 @@ in {
     dependencies = [
       (sources."asn1.js-5.4.1"
         // {
-          dependencies = [
-            sources."bn.js-4.12.0"
-          ];
-        })
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
       (sources."assert-1.5.0"
         // {
-          dependencies = [
-            sources."util-0.10.3"
-          ];
-        })
+        dependencies = [
+          sources."util-0.10.3"
+        ];
+      })
       sources."base64-js-1.5.1"
       sources."bn.js-5.2.1"
       sources."brorand-1.1.0"
@@ -1209,11 +1211,11 @@ in {
       sources."browserify-rsa-4.1.0"
       (sources."browserify-sign-4.2.1"
         // {
-          dependencies = [
-            sources."inherits-2.0.4"
-            sources."readable-stream-3.6.0"
-          ];
-        })
+        dependencies = [
+          sources."inherits-2.0.4"
+          sources."readable-stream-3.6.0"
+        ];
+      })
       sources."browserify-zlib-0.2.0"
       sources."buffer-4.9.2"
       sources."buffer-xor-1.0.3"
@@ -1225,43 +1227,43 @@ in {
       sources."core-util-is-1.0.3"
       (sources."create-ecdh-4.0.4"
         // {
-          dependencies = [
-            sources."bn.js-4.12.0"
-          ];
-        })
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
       sources."crypto-browserify-3.12.0"
       sources."des.js-1.0.1"
       (sources."diffie-hellman-5.0.3"
         // {
-          dependencies = [
-            sources."bn.js-4.12.0"
-          ];
-        })
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
       sources."domain-browser-1.2.0"
       (sources."elliptic-6.5.4"
         // {
-          dependencies = [
-            sources."bn.js-4.12.0"
-            sources."inherits-2.0.4"
-          ];
-        })
+        dependencies = [
+          sources."bn.js-4.12.0"
+          sources."inherits-2.0.4"
+        ];
+      })
       sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
       (sources."hash-base-3.1.0"
         // {
-          dependencies = [
-            sources."inherits-2.0.4"
-            sources."readable-stream-3.6.0"
-          ];
-        })
+        dependencies = [
+          sources."inherits-2.0.4"
+          sources."readable-stream-3.6.0"
+        ];
+      })
       (sources."hash.js-1.1.7"
         // {
-          dependencies = [
-            sources."inherits-2.0.4"
-          ];
-        })
+        dependencies = [
+          sources."inherits-2.0.4"
+        ];
+      })
       sources."hmac-drbg-1.0.1"
       sources."https-browserify-1.0.0"
       sources."ieee754-1.2.1"
@@ -1271,10 +1273,10 @@ in {
       sources."md5.js-1.3.5"
       (sources."miller-rabin-4.0.1"
         // {
-          dependencies = [
-            sources."bn.js-4.12.0"
-          ];
-        })
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."node-gyp-build-4.5.0"
@@ -1289,10 +1291,10 @@ in {
       sources."process-nextick-args-2.0.1"
       (sources."public-encrypt-4.0.3"
         // {
-          dependencies = [
-            sources."bn.js-4.12.0"
-          ];
-        })
+        dependencies = [
+          sources."bn.js-4.12.0"
+        ];
+      })
       sources."punycode-1.4.1"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
@@ -1300,12 +1302,12 @@ in {
       sources."randomfill-1.0.4"
       (sources."readable-stream-2.3.7"
         // {
-          dependencies = [
-            sources."inherits-2.0.4"
-            sources."safe-buffer-5.1.2"
-            sources."string_decoder-1.1.1"
-          ];
-        })
+        dependencies = [
+          sources."inherits-2.0.4"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."readline-sync-1.4.10"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.1"
@@ -1323,17 +1325,17 @@ in {
       sources."tty-browserify-0.0.0"
       (sources."url-0.11.0"
         // {
-          dependencies = [
-            sources."punycode-1.3.2"
-          ];
-        })
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
       sources."utf-8-validate-5.0.9"
       (sources."util-0.11.1"
         // {
-          dependencies = [
-            sources."inherits-2.0.3"
-          ];
-        })
+        dependencies = [
+          sources."inherits-2.0.3"
+        ];
+      })
       sources."util-deprecate-1.0.2"
       sources."vm-browserify-1.1.2"
       sources."which-1.3.1"