summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/dotnet.section.md2
-rw-r--r--maintainers/scripts/update-dotnet-lockfiles.nix72
-rwxr-xr-xpkgs/applications/blockchains/nbxplorer/util/update-common.sh5
-rwxr-xr-xpkgs/applications/emulators/ryujinx/updater.sh4
-rw-r--r--pkgs/applications/graphics/pinta/default.nix1
-rwxr-xr-xpkgs/applications/misc/ArchiSteamFarm/update.sh4
-rwxr-xr-xpkgs/applications/version-management/git-credential-manager/update.sh3
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/default.nix22
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh16
-rw-r--r--pkgs/build-support/dotnet/make-nuget-deps/default.nix6
-rwxr-xr-xpkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh1
-rw-r--r--pkgs/development/compilers/roslyn/default.nix2
-rw-r--r--pkgs/development/compilers/roslyn/deps.nix1
-rw-r--r--pkgs/development/compilers/roslyn/extended-deps.nix11
-rwxr-xr-xpkgs/development/tools/continuous-integration/github-runner/update.sh2
-rwxr-xr-xpkgs/development/tools/marksman/update.sh2
-rwxr-xr-xpkgs/development/tools/omnisharp-roslyn/updater.sh4
-rwxr-xr-xpkgs/games/osu-lazer/update.sh4
-rwxr-xr-xpkgs/games/space-station-14-launcher/update.sh4
-rwxr-xr-xpkgs/servers/jackett/updater.sh4
-rwxr-xr-xpkgs/servers/jellyfin/update.sh6
-rwxr-xr-xpkgs/servers/nosql/eventstore/updater.sh4
-rwxr-xr-xpkgs/tools/X11/opentabletdriver/update.sh4
-rwxr-xr-xpkgs/tools/backup/discordchatexporter-cli/updater.sh4
-rwxr-xr-xpkgs/tools/misc/depotdownloader/update.sh3
25 files changed, 119 insertions, 72 deletions
diff --git a/doc/languages-frameworks/dotnet.section.md b/doc/languages-frameworks/dotnet.section.md
index 5b94c3d7dc2..246490d67d2 100644
--- a/doc/languages-frameworks/dotnet.section.md
+++ b/doc/languages-frameworks/dotnet.section.md
@@ -123,7 +123,7 @@ To package Dotnet applications, you can use `buildDotnetModule`. This has simila
 * `dotnetPackFlags` can be used to pass flags to `dotnet pack`. Used only if `packNupkg` is set to `true`.
 * `dotnetFlags` can be used to pass flags to all of the above phases.
 
-When packaging a new application, you need to fetch its dependencies. You can run `nix-build -A package.fetch-deps` to generate a script that will build a lockfile for you. After running the script you should have the location of the generated lockfile printed to the console, which can be copied to a stable directory. Then set `nugetDeps = ./deps.nix` and you're ready to build the derivation.
+When packaging a new application, you need to fetch its dependencies. Create an empty `deps.nix`, set `nugetDeps = ./deps.nix`, then run `nix-build -A package.fetch-deps` to generate a script that will build the lockfile for you.
 
 Here is an example `default.nix`, using some of the previously discussed arguments:
 ```nix
diff --git a/maintainers/scripts/update-dotnet-lockfiles.nix b/maintainers/scripts/update-dotnet-lockfiles.nix
new file mode 100644
index 00000000000..22ceff1ffa9
--- /dev/null
+++ b/maintainers/scripts/update-dotnet-lockfiles.nix
@@ -0,0 +1,72 @@
+/*
+  To run:
+
+      nix-shell maintainers/scripts/update-dotnet-lockfiles.nix
+
+  This script finds all the derivations in nixpkgs that have a 'fetch-deps'
+  attribute, and runs all of them sequentially. This is useful to test changes
+  to 'fetch-deps', 'nuget-to-nix', or other changes to the dotnet build
+  infrastructure. Regular updates should be done through the individual packages
+  update scripts.
+ */
+let
+  pkgs = import ../.. {};
+
+  inherit (pkgs) lib;
+
+  packagesWith = cond: pkgs:
+    let
+      packagesWithInner = attrs:
+        lib.unique (
+          lib.concatLists (
+            lib.mapAttrsToList (name: elem:
+              let
+                result = builtins.tryEval elem;
+              in
+                if result.success then
+                  let
+                    value = result.value;
+                  in
+                    if lib.isDerivation value then
+                      lib.optional (cond value) value
+                    else
+                      if lib.isAttrs value && (value.recurseForDerivations or false || value.recurseForRelease or false) then
+                        packagesWithInner value
+                      else []
+                else []) attrs));
+    in
+      packagesWithInner pkgs;
+
+  packages =
+    packagesWith (pkgs: pkgs ? fetch-deps) pkgs;
+
+  helpText = ''
+    Please run:
+
+        % nix-shell maintainers/scripts/update-dotnet-lockfiles.nix
+  '';
+
+  fetchScripts = map (p: p.fetch-deps) packages;
+
+in pkgs.stdenv.mkDerivation {
+  name = "nixpkgs-update-dotnet-lockfiles";
+  buildCommand = ''
+    echo ""
+    echo "----------------------------------------------------------------"
+    echo ""
+    echo "Not possible to update packages using \`nix-build\`"
+    echo ""
+    echo "${helpText}"
+    echo "----------------------------------------------------------------"
+    exit 1
+  '';
+  shellHook = ''
+    unset shellHook # do not contaminate nested shells
+    set -e
+    for x in $fetchScripts; do
+      $x
+    done
+    exit
+  '';
+  inherit fetchScripts;
+}
diff --git a/pkgs/applications/blockchains/nbxplorer/util/update-common.sh b/pkgs/applications/blockchains/nbxplorer/util/update-common.sh
index 6346c2fa9f4..1354588a754 100755
--- a/pkgs/applications/blockchains/nbxplorer/util/update-common.sh
+++ b/pkgs/applications/blockchains/nbxplorer/util/update-common.sh
@@ -9,7 +9,6 @@ set -euo pipefail
 trap 'echo "Error at ${BASH_SOURCE[0]}:$LINENO"' ERR
 
 pkgName=$1
-depsFile=$2
 
 : ${getVersionFromTags:=}
 : ${refetch:=}
@@ -41,7 +40,7 @@ fi
 if [[ $newVersion == $oldVersion && ! $refetch ]]; then
   echo "nixpkgs already has the latest version $newVersion"
   echo "Run this script with env var refetch=1 to re-verify the content hash via GPG"
-  echo "and to recreate $(basename "$depsFile"). This is useful for reviewing a version update."
+  echo "and to recreate deps.nix. This is useful for reviewing a version update."
   exit 0
 fi
 
@@ -74,4 +73,4 @@ fi
 echo
 
 # Create deps file
-$(nix-build "$nixpkgs" -A $pkgName.fetch-deps --no-out-link) "$depsFile"
+$(nix-build "$nixpkgs" -A $pkgName.fetch-deps --no-out-link)
diff --git a/pkgs/applications/emulators/ryujinx/updater.sh b/pkgs/applications/emulators/ryujinx/updater.sh
index 5827271138d..3aae3943aa5 100755
--- a/pkgs/applications/emulators/ryujinx/updater.sh
+++ b/pkgs/applications/emulators/ryujinx/updater.sh
@@ -3,8 +3,6 @@
 set -euo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-DEPS_FILE="$(realpath "./deps.nix")"
-
 # provide a github token so you don't get rate limited
 # if you use gh cli you can use:
 #     `export GITHUB_TOKEN="$(cat ~/.config/gh/config.yml | yq '.hosts."github.com".oauth_token' -r)"`
@@ -75,4 +73,4 @@ fi
 
 echo "building Nuget lockfile"
 
-$(nix-build -A ryujinx.fetch-deps --no-out-link) "$DEPS_FILE"
+$(nix-build -A ryujinx.fetch-deps --no-out-link)
diff --git a/pkgs/applications/graphics/pinta/default.nix b/pkgs/applications/graphics/pinta/default.nix
index f38a9a9dcfe..2f523813a24 100644
--- a/pkgs/applications/graphics/pinta/default.nix
+++ b/pkgs/applications/graphics/pinta/default.nix
@@ -26,7 +26,6 @@ buildDotnetModule rec {
   # How-to update deps:
   # $ nix-build -A pinta.fetch-deps
   # $ ./result
-  # $ cp /tmp/Pinta-deps.nix ./pkgs/applications/graphics/pinta/deps.nix
   # TODO: create update script
   nugetDeps = ./deps.nix;
 
diff --git a/pkgs/applications/misc/ArchiSteamFarm/update.sh b/pkgs/applications/misc/ArchiSteamFarm/update.sh
index 84e25328fbf..9af9acb6983 100755
--- a/pkgs/applications/misc/ArchiSteamFarm/update.sh
+++ b/pkgs/applications/misc/ArchiSteamFarm/update.sh
@@ -3,8 +3,6 @@
 set -euo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath ./deps.nix)"
-
 new_version="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/releases" | jq -r  'map(select(.prerelease == false)) | .[0].tag_name')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 
@@ -22,7 +20,7 @@ if [[ "${1:-}" != "--deps-only" ]]; then
     update-source-version ArchiSteamFarm "$new_version"
 fi
 
-$(nix-build -A ArchiSteamFarm.fetch-deps --no-out-link) "$deps_file"
+$(nix-build -A ArchiSteamFarm.fetch-deps --no-out-link)
 
 popd
 "$asf_path/web-ui/update.sh"
diff --git a/pkgs/applications/version-management/git-credential-manager/update.sh b/pkgs/applications/version-management/git-credential-manager/update.sh
index e1a03f296f1..a24eed3f271 100755
--- a/pkgs/applications/version-management/git-credential-manager/update.sh
+++ b/pkgs/applications/version-management/git-credential-manager/update.sh
@@ -20,5 +20,4 @@ hash="$(nix-prefetch ./.)"
 sed -i -Ee "s/hash = \"sha256-[A-Za-z0-9=]{44}\"/hash = \"${hash}\"/" default.nix
 
 
-nugetDeps="$(realpath ./deps.nix)"
-$(nix-build ../../../.. -A git-credential-manager.fetch-deps --no-out-link) "$nugetDeps"
+$(nix-build ../../../.. -A git-credential-manager.fetch-deps --no-out-link)
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
index a9c49d1e526..686d89f8c11 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
@@ -112,7 +112,11 @@ let
     if (nugetDeps != null) then
       if lib.isDerivation nugetDeps
       then nugetDeps
-      else mkNugetDeps { inherit name; nugetDeps = import nugetDeps; }
+      else mkNugetDeps {
+        inherit name;
+        nugetDeps = import nugetDeps;
+        sourceFile = nugetDeps;
+      }
     else throw "Defining the `nugetDeps` attribute is required, as to lock the NuGet dependencies. This file can be generated by running the `passthru.fetch-deps` script.";
 
   # contains the actual package dependencies
@@ -138,6 +142,8 @@ let
     name = "${name}-nuget-source";
     paths = [ dependenciesSource sdkSource ];
   };
+
+  nugetDepsFile = _nugetDeps.sourceFile;
 in
 stdenvNoCC.mkDerivation (args // {
   nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
@@ -166,7 +172,7 @@ stdenvNoCC.mkDerivation (args // {
 
   passthru = {
     inherit nuget-source;
-
+  } // lib.optionalAttrs (nugetDepsFile != null) {
     fetch-deps =
       let
         flags = dotnetFlags ++ dotnetRestoreFlags;
@@ -180,8 +186,8 @@ stdenvNoCC.mkDerivation (args // {
           # Note that toString is necessary here as it results in the path at
           # eval time (i.e. to the file in your local Nixpkgs checkout) rather
           # than the Nix store path of the path after it's been imported.
-          if lib.isPath nugetDeps && !lib.hasPrefix "${builtins.storeDir}/" (toString nugetDeps)
-          then toString nugetDeps
+          if lib.isPath nugetDepsFile && !lib.hasPrefix "${builtins.storeDir}/" (toString nugetDepsFile)
+          then toString nugetDepsFile
           else ''$(mktemp -t "${pname}-deps-XXXXXX.nix")'';
       in
       writeShellScript "fetch-${pname}-deps" ''
@@ -208,7 +214,7 @@ stdenvNoCC.mkDerivation (args // {
         if [[ ''${TMPDIR:-} == /run/user/* ]]; then
            # /run/user is usually a tmpfs in RAM, which may be too small
            # to store all downloaded dotnet packages
-           TMPDIR=
+           unset TMPDIR
         fi
 
         export tmp=$(mktemp -td "deps-${pname}-XXXXXX")
@@ -281,13 +287,15 @@ stdenvNoCC.mkDerivation (args // {
         echo "Succesfully restored project"
 
         echo "Writing lockfile..."
-        echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$depsFile"
 
         excluded_sources="${lib.concatStringsSep " " sdkDeps}"
         for excluded_source in ''${excluded_sources[@]}; do
           ls "$excluded_source" >> "$tmp/excluded_list"
         done
-        nuget-to-nix "$tmp/nuget_pkgs" "$tmp/excluded_list" >> "$depsFile"
+        tmpFile="$tmp"/deps.nix
+        echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please dont edit it manually, your changes might get overwritten!\n" > "$tmpFile"
+        nuget-to-nix "$tmp/nuget_pkgs" "$tmp/excluded_list" >> "$tmpFile"
+        mv "$tmpFile" "$depsFile"
         echo "Succesfully wrote lockfile to $depsFile"
       '';
   } // args.passthru or { };
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
index 8035b42d086..3f2a89c4140 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
@@ -40,15 +40,15 @@ dotnetInstallHook() {
 
     dotnetPack() {
         local -r project="${1-}"
-         env dotnet pack ${project-} \
-             -p:ContinuousIntegrationBuild=true \
-             -p:Deterministic=true \
-             --output "$out/share" \
-             --configuration "@buildType@" \
-             --no-build \
+        env dotnet pack ${project-} \
+            -p:ContinuousIntegrationBuild=true \
+            -p:Deterministic=true \
+            --output "$out/share" \
+            --configuration "@buildType@" \
+            --no-build \
             --runtime "@runtimeId@" \
-             ${dotnetPackFlags[@]}  \
-             ${dotnetFlags[@]}
+            ${dotnetPackFlags[@]}  \
+            ${dotnetFlags[@]}
     }
 
     if (( "${#projectFile[@]}" == 0 )); then
diff --git a/pkgs/build-support/dotnet/make-nuget-deps/default.nix b/pkgs/build-support/dotnet/make-nuget-deps/default.nix
index 723646c5fdc..8281976df62 100644
--- a/pkgs/build-support/dotnet/make-nuget-deps/default.nix
+++ b/pkgs/build-support/dotnet/make-nuget-deps/default.nix
@@ -1,5 +1,5 @@
 { linkFarmFromDrvs, fetchurl }:
-{ name, nugetDeps }:
+{ name, nugetDeps, sourceFile ? null }:
 linkFarmFromDrvs "${name}-nuget-deps" (nugetDeps {
   fetchNuGet = { pname, version, sha256
     , url ? "https://www.nuget.org/api/v2/package/${pname}/${version}" }:
@@ -7,4 +7,6 @@ linkFarmFromDrvs "${name}-nuget-deps" (nugetDeps {
       name = "${pname}.${version}.nupkg";
       inherit url sha256;
     };
-})
+}) // {
+  inherit sourceFile;
+}
diff --git a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
index ce2a7070ea3..86bc4482088 100755
--- a/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
+++ b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
@@ -1,6 +1,7 @@
 #!@runtimeShell@
 
 set -euo pipefail
+shopt -s nullglob
 
 export PATH="@binPath@"
 # used for glob ordering of package names
diff --git a/pkgs/development/compilers/roslyn/default.nix b/pkgs/development/compilers/roslyn/default.nix
index 4fa028bc00e..6ab2799f46c 100644
--- a/pkgs/development/compilers/roslyn/default.nix
+++ b/pkgs/development/compilers/roslyn/default.nix
@@ -21,7 +21,7 @@ buildDotnetModule rec {
 
   projectFile = [ "src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj" ];
 
-  nugetDeps = ./extended-deps.nix;
+  nugetDeps = ./deps.nix;
 
   dontDotnetFixup = true;
 
diff --git a/pkgs/development/compilers/roslyn/deps.nix b/pkgs/development/compilers/roslyn/deps.nix
index 7261823943c..9362f8aab13 100644
--- a/pkgs/development/compilers/roslyn/deps.nix
+++ b/pkgs/development/compilers/roslyn/deps.nix
@@ -19,6 +19,7 @@
   (fetchNuGet { pname = "Microsoft.CodeAnalysis.PublicApiAnalyzers"; version = "3.3.4-beta1.22160.2"; sha256 = "0ih091ls51x5k9q998g14pfy4r3g1ygvzihj1gkrl79wydn7b0n3"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/49e5305d-d845-4a14-9d69-6f5dbfb9570c/nuget/v3/flat2/microsoft.codeanalysis.publicapianalyzers/3.3.4-beta1.22160.2/microsoft.codeanalysis.publicapianalyzers.3.3.4-beta1.22160.2.nupkg"; })
   (fetchNuGet { pname = "Microsoft.CSharp"; version = "4.7.0"; sha256 = "0gd67zlw554j098kabg887b5a6pq9kzavpa3jjy5w53ccjzjfy8j"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.csharp/4.7.0/microsoft.csharp.4.7.0.nupkg"; })
   (fetchNuGet { pname = "Microsoft.DiaSymReader.Native"; version = "17.0.0-beta1.21524.1"; sha256 = "0gash3xgzvcb78w2xqv003l0cld199zpfilnjbagwbr5ikdh6f3s"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diasymreader.native/17.0.0-beta1.21524.1/microsoft.diasymreader.native.17.0.0-beta1.21524.1.nupkg"; })
+  (fetchNuGet { pname = "Microsoft.DotNet.Arcade.Sdk"; version = "7.0.0-beta.22171.2"; sha256 = "15y26skavivkwhnpfa984if3cnpnllbbwbdsjiyfdcalp32fhmjq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/7.0.0-beta.22171.2/microsoft.dotnet.arcade.sdk.7.0.0-beta.22171.2.nupkg"; })
   (fetchNuGet { pname = "Microsoft.DotNet.XliffTasks"; version = "1.0.0-beta.22169.1"; sha256 = "12fcin3d4m0lawla9fflz9f2qispzgvzf1mwkpscmlk5lnvb0riw"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.xlifftasks/1.0.0-beta.22169.1/microsoft.dotnet.xlifftasks.1.0.0-beta.22169.1.nupkg"; })
   (fetchNuGet { pname = "Microsoft.Net.Compilers.Toolset"; version = "4.2.0-1.final"; sha256 = "02zas22hj29gv2w7h74q786i0cvxffgwqai21ri0zj41nb2hwhyq"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.net.compilers.toolset/4.2.0-1.final/microsoft.net.compilers.toolset.4.2.0-1.final.nupkg"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "3.1.32"; sha256 = "1zygp70xrk5zggs3q4a6yc6jfdwzcsjjsapqpwn6qyx35m69b72p"; url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.linux-arm64/3.1.32/microsoft.netcore.app.host.linux-arm64.3.1.32.nupkg"; })
diff --git a/pkgs/development/compilers/roslyn/extended-deps.nix b/pkgs/development/compilers/roslyn/extended-deps.nix
deleted file mode 100644
index 9401e0709d5..00000000000
--- a/pkgs/development/compilers/roslyn/extended-deps.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-# Some required nuget packages are not picked up by the deps generation script,
-# since they are referenced as a SDK reference, which unfortunately only gets
-# downloaded during build time. So we include them manually.
-{ fetchNuGet }: (import ./deps.nix { inherit fetchNuGet; }) ++ [
-  (fetchNuGet rec {
-    pname = "Microsoft.DotNet.Arcade.Sdk";
-    version = "7.0.0-beta.22171.2";
-    url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/${version}/microsoft.dotnet.arcade.sdk.${version}.nupkg";
-    sha256 = "15y26skavivkwhnpfa984if3cnpnllbbwbdsjiyfdcalp32fhmjq";
-  })
-]
diff --git a/pkgs/development/tools/continuous-integration/github-runner/update.sh b/pkgs/development/tools/continuous-integration/github-runner/update.sh
index 3ebbfa9f507..26b54bf6ac0 100755
--- a/pkgs/development/tools/continuous-integration/github-runner/update.sh
+++ b/pkgs/development/tools/continuous-integration/github-runner/update.sh
@@ -15,5 +15,5 @@ if [[ "$latestVersion" == "$currentVersion" ]]; then
 fi
 
 update-source-version github-runner "$latestVersion"
-$(nix-build -A github-runner.fetch-deps --no-out-link) "$(dirname "$BASH_SOURCE")/deps.nix"
+$(nix-build -A github-runner.fetch-deps --no-out-link)
 
diff --git a/pkgs/development/tools/marksman/update.sh b/pkgs/development/tools/marksman/update.sh
index 0f4a416e7df..b17097e683c 100755
--- a/pkgs/development/tools/marksman/update.sh
+++ b/pkgs/development/tools/marksman/update.sh
@@ -15,4 +15,4 @@ fi
 
 update-source-version marksman "$version"
 
-$(nix-build -A marksman.fetch-deps --no-out-link) "$(dirname -- "${BASH_SOURCE[0]}")/deps.nix"
+$(nix-build -A marksman.fetch-deps --no-out-link)
diff --git a/pkgs/development/tools/omnisharp-roslyn/updater.sh b/pkgs/development/tools/omnisharp-roslyn/updater.sh
index 1007c77fe2f..10868fbd099 100755
--- a/pkgs/development/tools/omnisharp-roslyn/updater.sh
+++ b/pkgs/development/tools/omnisharp-roslyn/updater.sh
@@ -6,8 +6,6 @@ set -euo pipefail
 
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath "./deps.nix")"
-
 new_version="$(curl -s "https://api.github.com/repos/OmniSharp/omnisharp-roslyn/releases?per_page=1" | jq -r '.[0].name')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 
@@ -19,4 +17,4 @@ fi
 cd ../../../..
 update-source-version omnisharp-roslyn "${new_version//v}"
 
-$(nix-build -A omnisharp-roslyn.fetch-deps --no-out-link) "$deps_file"
+$(nix-build -A omnisharp-roslyn.fetch-deps --no-out-link)
diff --git a/pkgs/games/osu-lazer/update.sh b/pkgs/games/osu-lazer/update.sh
index 1ecca32d54a..8e9849db1e1 100755
--- a/pkgs/games/osu-lazer/update.sh
+++ b/pkgs/games/osu-lazer/update.sh
@@ -3,8 +3,6 @@
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath "./deps.nix")"
-
 new_version="$(curl -s "https://api.github.com/repos/ppy/osu/releases?per_page=1" | jq -r '.[0].name')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 if [[ "$new_version" == "$old_version" ]]; then
@@ -18,4 +16,4 @@ if [[ "$1" != "--deps-only" ]]; then
     update-source-version osu-lazer "$new_version"
 fi
 
-$(nix-build . -A osu-lazer.fetch-deps --no-out-link) "$deps_file"
+$(nix-build . -A osu-lazer.fetch-deps --no-out-link)
diff --git a/pkgs/games/space-station-14-launcher/update.sh b/pkgs/games/space-station-14-launcher/update.sh
index 8cfab508b0c..6e8b337d384 100755
--- a/pkgs/games/space-station-14-launcher/update.sh
+++ b/pkgs/games/space-station-14-launcher/update.sh
@@ -3,8 +3,6 @@
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath "./deps.nix")"
-
 new_version="$(curl -s "https://api.github.com/repos/space-wizards/SS14.Launcher/releases?per_page=1" | jq -r '.[0].tag_name' | sed 's/v//')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./space-station-14-launcher.nix)"
 
@@ -15,4 +13,4 @@ fi
 
 cd ../../..
 update-source-version space-station-14-launcher.unwrapped "$new_version"
-$(nix-build -A space-station-14-launcher.fetch-deps --no-out-link) "$deps_file"
+$(nix-build -A space-station-14-launcher.fetch-deps --no-out-link)
diff --git a/pkgs/servers/jackett/updater.sh b/pkgs/servers/jackett/updater.sh
index d39452d2afc..1714565edd4 100755
--- a/pkgs/servers/jackett/updater.sh
+++ b/pkgs/servers/jackett/updater.sh
@@ -3,8 +3,6 @@
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath "./deps.nix")"
-
 new_version="$(curl -s "https://api.github.com/repos/jackett/jackett/releases?per_page=1" | jq -r '.[0].name')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 
@@ -15,4 +13,4 @@ fi
 
 cd ../../..
 update-source-version jackett "${new_version//v}"
-$(nix-build -A jackett.fetch-deps --no-out-link) "$deps_file"
+$(nix-build -A jackett.fetch-deps --no-out-link)
diff --git a/pkgs/servers/jellyfin/update.sh b/pkgs/servers/jellyfin/update.sh
index bbced42742c..918b68940ca 100755
--- a/pkgs/servers/jellyfin/update.sh
+++ b/pkgs/servers/jellyfin/update.sh
@@ -11,10 +11,6 @@ if [[ "$currentVersion" == "$latestVersion" ]]; then
   exit 0
 fi
 
-pushd "$(dirname "${BASH_SOURCE[0]}")"
-nugetDepsFile=$(realpath ./nuget-deps.nix)
-popd
-
 update-source-version jellyfin "$latestVersion"
 
-$(nix-build . -A jellyfin.fetch-deps --no-out-link) "$nugetDepsFile"
+$(nix-build . -A jellyfin.fetch-deps --no-out-link)
diff --git a/pkgs/servers/nosql/eventstore/updater.sh b/pkgs/servers/nosql/eventstore/updater.sh
index 85be2c8aa8c..77c2f733e5f 100755
--- a/pkgs/servers/nosql/eventstore/updater.sh
+++ b/pkgs/servers/nosql/eventstore/updater.sh
@@ -6,8 +6,6 @@ set -euo pipefail
 
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath "./deps.nix")"
-
 new_version="$(curl -s "https://api.github.com/repos/EventStore/EventStore/releases/latest" | jq -r '.name')"
 new_version="${new_version#oss-v}"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
@@ -20,4 +18,4 @@ fi
 cd ../../../..
 update-source-version eventstore "${new_version//v}"
 
-$(nix-build -A eventstore.fetch-deps --no-out-link) "$deps_file"
+$(nix-build -A eventstore.fetch-deps --no-out-link)
diff --git a/pkgs/tools/X11/opentabletdriver/update.sh b/pkgs/tools/X11/opentabletdriver/update.sh
index 322350415e7..665f5ac526a 100755
--- a/pkgs/tools/X11/opentabletdriver/update.sh
+++ b/pkgs/tools/X11/opentabletdriver/update.sh
@@ -3,8 +3,6 @@
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath "./deps.nix")"
-
 new_version="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/OpenTabletDriver/OpenTabletDriver/releases" | jq -r  'map(select(.prerelease == false)) | .[0].tag_name' | cut -c2-)"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 
@@ -23,4 +21,4 @@ sed -i ./default.nix -re "s|\"$oldDebSha256\"|\"$newDebSha256\"|"
 
 pushd ../../../..
 update-source-version opentabletdriver "$new_version"
-$(nix-build -A opentabletdriver.fetch-deps --no-out-link) "$deps_file"
+$(nix-build -A opentabletdriver.fetch-deps --no-out-link)
diff --git a/pkgs/tools/backup/discordchatexporter-cli/updater.sh b/pkgs/tools/backup/discordchatexporter-cli/updater.sh
index 6628cceaa95..cc81761b93d 100755
--- a/pkgs/tools/backup/discordchatexporter-cli/updater.sh
+++ b/pkgs/tools/backup/discordchatexporter-cli/updater.sh
@@ -3,8 +3,6 @@
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
-deps_file="$(realpath "./deps.nix")"
-
 new_version="$(curl -s "https://api.github.com/repos/tyrrrz/DiscordChatExporter/releases?per_page=1" | jq -r '.[0].name')"
 old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
 if [[ "$new_version" == "$old_version" ]]; then
@@ -14,4 +12,4 @@ fi
 
 cd ../../../..
 update-source-version discordchatexporter-cli "$new_version"
-$(nix-build -A discordchatexporter-cli.fetch-deps --no-out-link) "$deps_file"
+$(nix-build -A discordchatexporter-cli.fetch-deps --no-out-link)
diff --git a/pkgs/tools/misc/depotdownloader/update.sh b/pkgs/tools/misc/depotdownloader/update.sh
index 9e6efdfceaa..2adbb6037a9 100755
--- a/pkgs/tools/misc/depotdownloader/update.sh
+++ b/pkgs/tools/misc/depotdownloader/update.sh
@@ -3,7 +3,6 @@
 
 set -eou pipefail
 
-depsFile="$(realpath "$(dirname "${BASH_SOURCE[0]}")/deps.nix")"
 currentVersion="$(nix eval --raw -f . depotdownloader.version)"
 latestVersion="$(curl -s ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} "https://api.github.com/repos/SteamRE/DepotDownloader/releases?per_page=1" \
     | jq -r '.[].name' | cut -d' ' -f2)"
@@ -14,4 +13,4 @@ if [[ "$currentVersion" = "$latestVersion" ]]; then
 fi
 
 update-source-version depotdownloader "$latestVersion"
-$(nix-build -A depotdownloader.fetch-deps --no-out-link) "$depsFile"
+$(nix-build -A depotdownloader.fetch-deps --no-out-link)