···4848indent_size = 2
4949indent_style = space
50505151-# Match package.json, which are generally pulled from upstream and accept them as they are
5252-[package.json]
5151+# Match package.json and package-lock.json, which are generally pulled from upstream and accept them as they are
5252+[package{,-lock}.json]
5353indent_style = unset
5454+insert_final_newline = unset
54555556# Disable file types or individual files
5657# some of these files may be auto-generated and/or require significant changes
···8586[eggs.nix]
8687trim_trailing_whitespace = unset
87888888-[nixos/modules/services/networking/ircd-hybrid/*.{conf,in}]
8989-trim_trailing_whitespace = unset
9090-9191-[pkgs/build-support/dotnetenv/Wrapper/**]
9292-end_of_line = unset
9393-indent_style = unset
9494-insert_final_newline = unset
9595-trim_trailing_whitespace = unset
9696-9789[registry.dat]
9890end_of_line = unset
9991insert_final_newline = unset
10092101101-[pkgs/development/haskell-modules/hackage-packages.nix]
102102-indent_style = unset
103103-trim_trailing_whitespace = unset
104104-105105-[pkgs/misc/documentation-highlighter/**]
106106-insert_final_newline = unset
107107-108108-[pkgs/servers/dict/wordnet_structures.py]
109109-trim_trailing_whitespace = unset
110110-111111-[pkgs/by-name/ti/timidity/timidity.cfg]
112112-trim_trailing_whitespace = unset
113113-114114-[pkgs/tools/security/qdigidoc/vendor/*]
115115-end_of_line = unset
116116-insert_final_newline = unset
117117-trim_trailing_whitespace = unset
118118-119119-[pkgs/tools/virtualization/ovftool/*.ova]
120120-end_of_line = unset
121121-insert_final_newline = unset
122122-trim_trailing_whitespace = unset
123123-charset = unset
124124-125125-[lib/tests/*.plist]
126126-indent_style = tab
127127-insert_final_newline = unset
128128-129129-[pkgs/kde/generated/**]
130130-insert_final_newline = unset
131131-end_of_line = unset
9393+# Keep this hint at the bottom:
9494+# Please don't add entries for subfolders here.
9595+# Create <subfolder>/.editorconfig instead.
+8-3
.github/workflows/editorconfig-v2.yml
···3232 with:
3333 ref: ${{ needs.get-merge-commit.outputs.mergedSha }}
34343535+ - name: Get Nixpkgs revision for editorconfig-checker
3636+ run: |
3737+ # Pin to a commit from nixpkgs-unstable to avoid building from e.g. staging.
3838+ # This should not be a URL, because it would allow PRs to run arbitrary code in CI!
3939+ rev=$(jq -r .rev ci/pinned-nixpkgs.json)
4040+ echo "url=https://github.com/NixOS/nixpkgs/archive/$rev.tar.gz" >> "$GITHUB_ENV"
4141+3542 - uses: cachix/install-nix-action@526118121621777ccd86f79b04685a9319637641 # v31
3643 with:
3737- # nixpkgs commit is pinned so that it doesn't break
3838- # editorconfig-checker 2.4.0
3939- nix_path: nixpkgs=https://github.com/NixOS/nixpkgs/archive/c473cc8714710179df205b153f4e9fa007107ff9.tar.gz
4444+ nix_path: nixpkgs=${{ env.url }}
40454146 - name: Checking EditorConfig
4247 run: |
+1-1
.github/workflows/no-channel.yml
···1212 if: |
1313 startsWith(github.event.pull_request.base.ref, 'nixos-') ||
1414 startsWith(github.event.pull_request.base.ref, 'nixpkgs-')
1515- name: "This PR is is targeting a channel branch"
1515+ name: "This PR is targeting a channel branch"
1616 runs-on: ubuntu-24.04
1717 steps:
1818 - run: |
+3-4
ci/eval/compare/maintainers.nix
···5353 // {
5454 # TODO: Refactor this so we can ping entire teams instead of the individual members.
5555 # Note that this will require keeping track of GH team IDs in "maintainers/teams.nix".
5656- maintainers =
5757- meta.maintainers or [ ]
5858- ++ lib.flatten (map (team: team.members or [ ]) (meta.teams or [ ]));
5656+ maintainers = meta.maintainers or [ ];
5957 }
6058 ) attrsWithPackages;
6159···6462 (lib.lists.unique (
6563 builtins.map (pos: lib.strings.removePrefix (toString ../..) pos.file) (
6664 builtins.filter (x: x != null) [
6767- (builtins.unsafeGetAttrPos "maintainers" (drv.meta or { }))
6565+ ((drv.meta or { }).maintainersPosition or null)
6666+ ((drv.meta or { }).teamsPosition or null)
6867 (builtins.unsafeGetAttrPos "src" drv)
6968 # broken because name is always set by stdenv:
7069 # # A hack to make `nix-env -qa` and `nix search` ignore broken packages.
···11#!/bin/sh
2233# The file from which to extract *.ico files or a particular *.ico file.
44-# (e.g.: './KeePass.exe', './myLibrary.dll', './my/path/to/app.ico').
44+# (e.g.: './KeePass.exe', './myLibrary.dll', './my/path/to/app.ico').
55# As you notived, the utility can extract icons from a windows executable or
66# dll.
77rscFile=$1
···2828# fancy, it will usually be '\1'.
2929nameReplaceExp=$5
30303131-# The
3131+# The
3232# out=./myOut
3333out=$6
3434···5252else
5353 wrestool -x --output=$tmp/ico -t14 $rscFile
5454fi
5555-5555+5656icotool --icon -x --palette-size=0 -o $tmp/png $tmp/ico/*.ico
57575858mkdir -p $out
+1-1
pkgs/by-name/il/ilbc/extract-cfile.awk
···55 srcname = $2;
66 printf("creating source file %s\n", srcname);
77 }else if (srcname != "nothing") {
88- if (/Andersen,* *et* *al\./)
88+ if (/Andersen,* *et* *al\./)
99 printf("skipping %s\n", $0);
1010 else if (//)
1111 printf("skipping2 %s\n", $0);
···5959 ];
60606161 disabledTests = [
6262+ # Disable this test because on Python >= 3.12 it fails due to argparse changes https://github.com/python/cpython/pull/124578
6363+ "test_add_arguments"
6264 # Network tests: https://github.com/RIPE-NCC/ripe-atlas-tools/issues/234
6365 "test_arg_from_file"
6466 "test_arg_from_stdin"
···11+# Exposed as cudaPackages.backendStdenv.
22+# This is what nvcc uses as a backend,
33+# and it has to be an officially supported one (e.g. gcc11 for cuda11).
44+#
55+# It, however, propagates current stdenv's libstdc++ to avoid "GLIBCXX_* not found errors"
66+# when linked with other C++ libraries.
77+# E.g. for cudaPackages_11_8 we use gcc11 with gcc12's libstdc++
88+# Cf. https://github.com/NixOS/nixpkgs/pull/218265 for context
19{
210 cudaVersion,
311 lib,
···11+# autoAddCudaCompatRunpath hook must be added AFTER `setupCudaHook`. Both
22+# hooks prepend a path with `libcuda.so` to the `DT_RUNPATH` section of
33+# patched elf files, but `cuda_compat` path must take precedence (otherwise,
44+# it doesn't have any effect) and thus appear first. Meaning this hook must be
55+# executed last.
66+{
77+ autoFixElfFiles,
88+ cuda_compat ? null,
99+ makeSetupHook,
1010+}:
1111+makeSetupHook {
1212+ name = "auto-add-cuda-compat-runpath-hook";
1313+ propagatedBuildInputs = [ autoFixElfFiles ];
1414+1515+ substitutions = {
1616+ libcudaPath = "${cuda_compat}/compat";
1717+ };
1818+1919+ meta =
2020+ let
2121+ # Handle `null`s in pre-`cuda_compat` releases,
2222+ # and `badPlatform`s for `!isJetsonBuild`.
2323+ platforms = cuda_compat.meta.platforms or [ ];
2424+ badPlatforms = cuda_compat.meta.badPlatforms or platforms;
2525+ in
2626+ {
2727+ inherit badPlatforms platforms;
2828+ };
2929+} ./auto-add-cuda-compat-runpath.sh
···11+# Internal hook, used by cudatoolkit and cuda redist packages
22+# to accommodate automatic CUDAToolkit_ROOT construction
33+{ makeSetupHook }:
44+makeSetupHook { name = "mark-for-cudatoolkit-root-hook"; } ./mark-for-cudatoolkit-root-hook.sh
···11+# Currently propagated by cuda_nvcc or cudatoolkit, rather than used directly
22+{ makeSetupHook, backendStdenv }:
33+makeSetupHook {
44+ name = "setup-cuda-hook";
55+66+ substitutions.setupCudaHook = placeholder "out";
77+88+ # Point NVCC at a compatible compiler
99+ substitutions.ccRoot = "${backendStdenv.cc}";
1010+1111+ # Required in addition to ccRoot as otherwise bin/gcc is looked up
1212+ # when building CMakeCUDACompilerId.cu
1313+ substitutions.ccFullPath = "${backendStdenv.cc}/bin/${backendStdenv.cc.targetPrefix}c++";
1414+} ./setup-cuda-hook.sh
···11/path/to/write-nix-expression.sh Group::Module::Submodule
2233-It will output Nix assignment formatted for placing into
33+It will output Nix assignment formatted for placing into
44all-packages.nix amongst all the perl packages, like perlAlgorithmDiff.
55Actually it will grab distribution unit Group-Module-Submodule via
66search.cpan.org, and make some effort to write correct dependencies.
77-If among requirements there are some that have empty META.yml, or if
77+If among requirements there are some that have empty META.yml, or if
88any of requirements acannot be installed by just getting distribution
99unit whose name can be guessed by replacing :: with -, manual editing
1010-will be needed.
1010+will be needed.
···9393 disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
9494 # Issue with creating a temp file in the sandbox
9595 "tests/wids/test_wids_mmtar.py"
9696+ # hangs the build *after* the tests
9797+ "tests/webdataset/test_loaders.py"
9698 ];
979998100 meta = {
···411411 isFcitxEngine = bool;
412412 isIbusEngine = bool;
413413 isGutenprint = bool;
414414+415415+ # Used for the original location of the maintainer and team attributes to assist with pings.
416416+ maintainersPosition = any;
417417+ teamsPosition = any;
414418 };
415419416420 checkMetaAttr =
···589593 )
590594 ] ++ optional (hasOutput "man") "man";
591595 }
596596+ // {
597597+ # CI scripts look at these to determine pings.
598598+ maintainersPosition = builtins.unsafeGetAttrPos "maintainers" (attrs.meta or { });
599599+ teamsPosition = builtins.unsafeGetAttrPos "teams" (attrs.meta or { });
600600+ }
592601 // attrs.meta or { }
593602 # Fill `meta.position` to identify the source location of the package.
594603 // optionalAttrs (pos != null) {
595604 position = pos.file + ":" + toString pos.line;
605605+ }
606606+ // {
607607+ # Maintainers should be inclusive of teams.
608608+ # Note that there may be external consumers of this API (repology, for instance) -
609609+ # if you add a new maintainer or team attribute please ensure that this expectation is still met.
610610+ maintainers =
611611+ attrs.meta.maintainers or [ ]
612612+ ++ concatMap (team: team.members or [ ]) attrs.meta.teams or [ ];
596613 }
597614 // {
598615 # Expose the result of the checks for everyone to see.
···1818 my $relPath = $ARGV[$n + 1];
1919 my $parents = 0;
2020 foreach my $comp (split /\//, $relPath) {
2121- $parents++ if ($comp eq "..")
2121+ $parents++ if ($comp eq "..")
2222 }
2323 $maxParents = $parents if $parents > $maxParents;
2424}
···3636 my $relPath = $ARGV[$n + 1];
37373838 createDirs $relPath;
3939-3939+4040 symlink $fullPath, $relPath or die "cannot create symlink `$relPath'";
4141}
4242
+1-1
pkgs/tools/typesetting/tex/nix/find-includes.pl
···1414 my ($type, $name) = @_;
1515 print OUT "{ type = \"$type\"; name = \"$name\"; }\n";
1616}
1717-1717+1818while (<FILE>) {
1919 if (/\\input\{(.*)\}/) {
2020 my $fn2 = $1;
+2
pkgs/top-level/aliases.nix
···11061106 loc = throw "'loc' has been removed due to lack of upstream maintenance. Consider 'tokei' as an alternative."; # Added 2025-01-25
11071107 loco-cli = loco; # Added 2025-02-24
11081108 loop = throw "'loop' has been removed due to lack of upstream maintenance"; # Added 2025-01-25
11091109+ ltwheelconf = throw "'ltwheelconf' has been removed because it is obsolete"; # Added 2025-05-07
11091110 luna-icons = throw "luna-icons has been removed as it was removed upstream"; # Added 2024-10-29
11101111 lucene = throw "lucene has been removed since it was both wildly out of date and was not even built properly for 4 years"; # Added 2025-04-10
11121112+ lumail = throw "'lumail' has been removed since its upstream is unavailable"; # Added 2025-05-07
11111113 lv_img_conv = throw "'lv_img_conv' has been removed from nixpkgs as it is broken"; # Added 2024-06-18
11121114 lxd = lib.warnOnInstantiate "lxd has been renamed to lxd-lts" lxd-lts; # Added 2024-04-01
11131115 lxd-unwrapped = lib.warnOnInstantiate "lxd-unwrapped has been renamed to lxd-unwrapped-lts" lxd-unwrapped-lts; # Added 2024-04-01