treewide: Format all Nix files

Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:

  nix-build ci -A fmt.check

This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).

This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).

Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](https://github.com/NixOS/nixpkgs/tree/8616af08d915377bd930395f3b700a0e93d08728/maintainers/scripts/auto-rebase).

If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
This commit is contained in:
Silvan Mosberger
2025-04-01 20:10:43 +02:00
parent 2140bf39e4
commit 374e6bcc40
1523 changed files with 986039 additions and 513613 deletions
+155 -91
View File
@@ -1,100 +1,164 @@
{ lib, fetchgit, fetchzip }:
{
lib,
fetchgit,
fetchzip,
}:
lib.makeOverridable (
{ owner, repo
, tag ? null
, rev ? null
, name ? "source"
, fetchSubmodules ? false, leaveDotGit ? null
, deepClone ? false, private ? false, forceFetchGit ? false
, fetchLFS ? false
, sparseCheckout ? []
, githubBase ? "github.com", varPrefix ? null
, meta ? { }
, ... # For hash agility
}@args:
{
owner,
repo,
tag ? null,
rev ? null,
name ? "source",
fetchSubmodules ? false,
leaveDotGit ? null,
deepClone ? false,
private ? false,
forceFetchGit ? false,
fetchLFS ? false,
sparseCheckout ? [ ],
githubBase ? "github.com",
varPrefix ? null,
meta ? { },
... # For hash agility
}@args:
assert (lib.assertMsg (lib.xor (tag == null) (rev == null)) "fetchFromGitHub requires one of either `rev` or `tag` to be provided (not both).");
let
position = (if args.meta.description or null != null
then builtins.unsafeGetAttrPos "description" args.meta
else if tag != null then
builtins.unsafeGetAttrPos "tag" args
else
builtins.unsafeGetAttrPos "rev" args
assert (
lib.assertMsg (lib.xor (tag == null) (
rev == null
)) "fetchFromGitHub requires one of either `rev` or `tag` to be provided (not both)."
);
baseUrl = "https://${githubBase}/${owner}/${repo}";
newMeta = meta // {
homepage = meta.homepage or baseUrl;
} // lib.optionalAttrs (position != null) {
# to indicate where derivation originates, similar to make-derivation.nix's mkDerivation
position = "${position.file}:${toString position.line}";
};
passthruAttrs = removeAttrs args [ "owner" "repo" "tag" "rev" "fetchSubmodules" "forceFetchGit" "private" "githubBase" "varPrefix" ];
varBase = "NIX${lib.optionalString (varPrefix != null) "_${varPrefix}"}_GITHUB_PRIVATE_";
useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit || fetchLFS || (sparseCheckout != []);
# We prefer fetchzip in cases we don't need submodules as the hash
# is more stable in that case.
fetcher =
if useFetchGit then fetchgit
# fetchzip may not be overridable when using external tools, for example nix-prefetch
else if fetchzip ? override then fetchzip.override { withUnzip = false; }
else fetchzip;
privateAttrs = lib.optionalAttrs private {
netrcPhase =
# When using private repos:
# - Fetching with git works using https://github.com but not with the GitHub API endpoint
# - Fetching a tarball from a private repo requires to use the GitHub API endpoint
let machineName = if githubBase == "github.com" && !useFetchGit then "api.github.com" else githubBase;
in ''
if [ -z "''$${varBase}USERNAME" -o -z "''$${varBase}PASSWORD" ]; then
echo "Error: Private fetchFromGitHub requires the nix building process (nix-daemon in multi user mode) to have the ${varBase}USERNAME and ${varBase}PASSWORD env vars set." >&2
exit 1
fi
cat > netrc <<EOF
machine ${machineName}
login ''$${varBase}USERNAME
password ''$${varBase}PASSWORD
EOF
'';
netrcImpureEnvVars = [ "${varBase}USERNAME" "${varBase}PASSWORD" ];
};
gitRepoUrl = "${baseUrl}.git";
let
revWithTag = if tag != null then "refs/tags/${tag}" else rev;
fetcherArgs = (if useFetchGit
then {
inherit tag rev deepClone fetchSubmodules sparseCheckout fetchLFS; url = gitRepoUrl;
} // lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
else {
# Use the API endpoint for private repos, as the archive URI doesn't
# support access with GitHub's fine-grained access tokens.
#
# Use the archive URI for non-private repos, as the API endpoint has
# relatively restrictive rate limits for unauthenticated users.
url =
if private then
let
endpoint = "/repos/${owner}/${repo}/tarball/${revWithTag}";
in
if githubBase == "github.com" then
"https://api.github.com${endpoint}"
else
"https://${githubBase}/api/v3${endpoint}"
else
"${baseUrl}/archive/${revWithTag}.tar.gz";
extension = "tar.gz";
passthru = {
inherit gitRepoUrl;
position = (
if args.meta.description or null != null then
builtins.unsafeGetAttrPos "description" args.meta
else if tag != null then
builtins.unsafeGetAttrPos "tag" args
else
builtins.unsafeGetAttrPos "rev" args
);
baseUrl = "https://${githubBase}/${owner}/${repo}";
newMeta =
meta
// {
homepage = meta.homepage or baseUrl;
}
// lib.optionalAttrs (position != null) {
# to indicate where derivation originates, similar to make-derivation.nix's mkDerivation
position = "${position.file}:${toString position.line}";
};
}
) // privateAttrs // passthruAttrs // { inherit name; };
in
passthruAttrs = removeAttrs args [
"owner"
"repo"
"tag"
"rev"
"fetchSubmodules"
"forceFetchGit"
"private"
"githubBase"
"varPrefix"
];
varBase = "NIX${lib.optionalString (varPrefix != null) "_${varPrefix}"}_GITHUB_PRIVATE_";
useFetchGit =
fetchSubmodules
|| (leaveDotGit == true)
|| deepClone
|| forceFetchGit
|| fetchLFS
|| (sparseCheckout != [ ]);
# We prefer fetchzip in cases we don't need submodules as the hash
# is more stable in that case.
fetcher =
if useFetchGit then
fetchgit
# fetchzip may not be overridable when using external tools, for example nix-prefetch
else if fetchzip ? override then
fetchzip.override { withUnzip = false; }
else
fetchzip;
privateAttrs = lib.optionalAttrs private {
netrcPhase =
# When using private repos:
# - Fetching with git works using https://github.com but not with the GitHub API endpoint
# - Fetching a tarball from a private repo requires to use the GitHub API endpoint
let
machineName = if githubBase == "github.com" && !useFetchGit then "api.github.com" else githubBase;
in
''
if [ -z "''$${varBase}USERNAME" -o -z "''$${varBase}PASSWORD" ]; then
echo "Error: Private fetchFromGitHub requires the nix building process (nix-daemon in multi user mode) to have the ${varBase}USERNAME and ${varBase}PASSWORD env vars set." >&2
exit 1
fi
cat > netrc <<EOF
machine ${machineName}
login ''$${varBase}USERNAME
password ''$${varBase}PASSWORD
EOF
'';
netrcImpureEnvVars = [
"${varBase}USERNAME"
"${varBase}PASSWORD"
];
};
fetcher fetcherArgs // { meta = newMeta; inherit owner repo tag; rev = revWithTag; }
gitRepoUrl = "${baseUrl}.git";
revWithTag = if tag != null then "refs/tags/${tag}" else rev;
fetcherArgs =
(
if useFetchGit then
{
inherit
tag
rev
deepClone
fetchSubmodules
sparseCheckout
fetchLFS
;
url = gitRepoUrl;
}
// lib.optionalAttrs (leaveDotGit != null) { inherit leaveDotGit; }
else
{
# Use the API endpoint for private repos, as the archive URI doesn't
# support access with GitHub's fine-grained access tokens.
#
# Use the archive URI for non-private repos, as the API endpoint has
# relatively restrictive rate limits for unauthenticated users.
url =
if private then
let
endpoint = "/repos/${owner}/${repo}/tarball/${revWithTag}";
in
if githubBase == "github.com" then
"https://api.github.com${endpoint}"
else
"https://${githubBase}/api/v3${endpoint}"
else
"${baseUrl}/archive/${revWithTag}.tar.gz";
extension = "tar.gz";
passthru = {
inherit gitRepoUrl;
};
}
)
// privateAttrs
// passthruAttrs
// {
inherit name;
};
in
fetcher fetcherArgs
// {
meta = newMeta;
inherit owner repo tag;
rev = revWithTag;
}
)