Skip to content

[25.05] ci/treefmt: add nixf-diagnose#448813

Merged
wolfgangwalther merged 5 commits intoNixOS:release-25.05from
wolfgangwalther:backport-ci-nixf-diagnose
Oct 5, 2025
Merged

[25.05] ci/treefmt: add nixf-diagnose#448813
wolfgangwalther merged 5 commits intoNixOS:release-25.05from
wolfgangwalther:backport-ci-nixf-diagnose

Conversation

@wolfgangwalther
Copy link
Contributor

Manual backport of #438559

Things done


Add a 👍 reaction to pull requests you find important.

This currently has plenty of failures, so we disable many checks. We can
now start working towards fixing these rules 1-by-1.

(cherry picked from commit 6f066d9)
Auto-fix by nixf-diagnose.

(cherry picked from commit 90e7159)
Auto-fixed by nixf-diagnose.

(cherry picked from commit c283f32)
Auto-fixed by nixf-diagnose.

(cherry picked from commit 91a8fee)
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This report is automatically generated by the PR / Check / cherry-pick CI workflow.

Some of the commits in this PR require the author's and reviewer's attention.

Please follow the backporting guidelines and cherry-pick with the -x flag.
This requires changes to the unstable master and staging branches first, before backporting them.

Occasionally, commits are not cherry-picked at all, for example when updating minor versions of packages which have already advanced to the next major on unstable.
These commits can optionally be marked with a Not-cherry-picked-because: <reason> footer.

Sometimes it is not possible to cherry-pick exactly the same patch.
This most frequently happens when resolving merge conflicts.
The range-diff will help to review the resolution of conflicts.

If you need to merge this PR despite the warnings, please dismiss this review shortly before merging.

Warning

Difference between 6c1e6f9 and original 90e7159 may warrant inspection.

Show diff
@@ Commit message
 
     Auto-fix by nixf-diagnose.
 
+    (cherry picked from commit 90e7159c559021ac4f4cc1222000f08a91feff69)
+
  ## ci/default.nix ##
 @@ ci/default.nix: let
              # https://github.com/nix-community/nixd/blob/main/libnixf/src/Basic/diagnostic.py
@@ nixos/modules/services/databases/openldap.nix: let
          # TODO: It would be nice to define a { secret = ...; } option, using
          # systemd's LoadCredentials for secrets. That would remove the last
 
- ## nixos/modules/services/desktop-managers/gnome.nix ##
-@@ nixos/modules/services/desktop-managers/gnome.nix: let
-     inherit flashbackEnabled nixos-background-dark nixos-background-light;
-   };
- 
--  nixos-background-info = pkgs.writeTextFile rec {
-+  nixos-background-info = pkgs.writeTextFile {
-     name = "nixos-background-info";
-     text = ''
-       <?xml version="1.0"?>
-
  ## nixos/modules/services/misc/gitlab.nix ##
 @@ nixos/modules/services/misc/gitlab.nix: in
          filteredConfig = filterAttrs (_: v: v != null) cfg.pages.settings;
@@ nixos/modules/services/web-apps/gancio.nix: in
          freeformType = settingsFormat.type;
          options = {
 
+ ## nixos/modules/services/x11/desktop-managers/gnome.nix ##
+@@ nixos/modules/services/x11/desktop-managers/gnome.nix: let
+     inherit flashbackEnabled nixos-background-dark nixos-background-light;
+   };
+ 
+-  nixos-background-info = pkgs.writeTextFile rec {
++  nixos-background-info = pkgs.writeTextFile {
+     name = "nixos-background-info";
+     text = ''
+       <?xml version="1.0"?>
+
+ ## nixos/tests/fcitx5/default.nix ##
+@@
+ import ../make-test-python.nix (
+   { lib, ... }:
+-  rec {
++  {
+     name = "fcitx5";
+     meta.maintainers = with lib.maintainers; [ nevivurn ];
+ 
+
  ## nixos/tests/hledger-web.nix ##
-@@ nixos/tests/hledger-web.nix: let
+@@ nixos/tests/hledger-web.nix: import ./make-test-python.nix (
            assets:cash                -250$
      '';
    in
@@ nixos/tests/installed-tests/default.nix: let
 
  ## nixos/tests/jenkins-cli.nix ##
 @@
+ import ./make-test-python.nix (
    { pkgs, ... }:
 -  rec {
 +  {
@@ nixos/tests/jenkins-cli.nix
        maintainers = [ pamplemousse ];
 
  ## nixos/tests/locate.nix ##
-@@ nixos/tests/locate.nix: in
+@@ nixos/tests/locate.nix: import ./make-test-python.nix (
      name = "locate";
      meta.maintainers = with pkgs.lib.maintainers; [ chkno ];
  
@@ nixos/tests/locate.nix: in
          environment.systemPackages = with pkgs; [ sshfs ];
          virtualisation.fileSystems = {
 
- ## nixos/tests/pihole-ftl/basic.nix ##
-@@
-   ...
- }:
- 
+ ## nixos/tests/lomiri.nix ##
+@@ nixos/tests/lomiri.nix: let
+         "lomiri-shell.service"
+       ];
+     in
 -    rec {
 +    {
-   name = "pihole-ftl-basic";
-   meta.maintainers = with lib.maintainers; [ averyvigolo ];
+       description = "Set Lomiri wallpaper to something OCR-able";
+       wantedBy = lomiriServices;
+       before = lomiriServices;
+
+ ## nixos/tests/quake3.nix ##
+@@ nixos/tests/quake3.nix: import ./make-test-python.nix (
  
+   in
+ 
+-  rec {
++  {
+     name = "quake3";
+     meta = with lib.maintainers; {
+       maintainers = [ domenkozar ];
 
  ## nixos/tests/web-apps/phylactery.nix ##
-@@
+@@ nixos/tests/web-apps/phylactery.nix: import ../make-test-python.nix (
      nodes.machine =
        { ... }:
        {
@@ pkgs/applications/editors/sublime/3/common.nix: let
  
 
  ## pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix ##
-@@ pkgs/applications/editors/vscode/extensions/ms-python.python/default.nix: let
-       or (throw "unsupported platform ${stdenv.hostPlatform.system}");
+@@
+   vscode-extension-update-script,
+ }:
  
- in
 -vscode-utils.buildVscodeMarketplaceExtension rec {
 +vscode-utils.buildVscodeMarketplaceExtension {
-   mktplcRef = base // {
+   mktplcRef = {
      name = "python";
      publisher = "ms-python";
 
- ## pkgs/applications/misc/cura/plugins.nix ##
-@@ pkgs/applications/misc/cura/plugins.nix: let
- 
-   self = {
- 
--    octoprint = stdenv.mkDerivation rec {
-+    octoprint = stdenv.mkDerivation {
-       pname = "Cura-OctoPrintPlugin";
-       version = "3.5.18";
- 
-
  ## pkgs/applications/networking/cluster/hadoop/default.nix ##
 @@ pkgs/applications/networking/cluster/hadoop/default.nix: in
      # TODO: Package and add Intel Storage Acceleration Library
@@ pkgs/applications/networking/cluster/hadoop/default.nix: in
 
  ## pkgs/applications/networking/cluster/spark/default.nix ##
 @@ pkgs/applications/networking/cluster/spark/default.nix: in
-     version = "3.5.5";
-     hash = "sha256-vzcWgIfHPhN3nyrxdk3f0p4fW3MpQ+FuEPnWPw0xNPg=";
+     version = "3.5.4";
+     hash = "sha256-rSr7UH1dZIkUYW6ehc/dYxlmN9yVjEKwrwLMT+uMd/0=";
    };
 -  spark_3_4 = spark rec {
 +  spark_3_4 = spark {
@@ pkgs/applications/networking/cluster/spark/default.nix: in
      version = "3.4.4";
      hash = "sha256-GItHmthLhG7y0XSF3QINCyE7wYFb0+lPZmYLUuMa4Ww=";
 
- ## pkgs/applications/science/logic/klee/default.nix ##
-@@ pkgs/applications/science/logic/klee/default.nix: let
-   # Python used for KLEE tests.
-   kleePython = python3.withPackages (ps: with ps; [ tabulate ]);
- in
--llvmPackages.stdenv.mkDerivation rec {
-+llvmPackages.stdenv.mkDerivation {
-   pname = "klee";
-   version = "3.1-unstable-2025-07-11";
+ ## pkgs/applications/networking/znc/modules.nix ##
+@@ pkgs/applications/networking/znc/modules.nix: in
+     };
+   };
+ 
+-  clientbuffer = zncDerivation rec {
++  clientbuffer = zncDerivation {
+     pname = "znc-clientbuffer";
+     version = "unstable-2021-05-30";
+     module_name = "clientbuffer";
+@@ pkgs/applications/networking/znc/modules.nix: in
+     };
+   };
+ 
+-  clientaway = zncDerivation rec {
++  clientaway = zncDerivation {
+     pname = "znc-clientaway";
+     version = "unstable-2017-04-28";
+     module_name = "clientaway";
+@@ pkgs/applications/networking/znc/modules.nix: in
+     };
+   };
+ 
+-  fish = zncDerivation rec {
++  fish = zncDerivation {
+     pname = "znc-fish";
+     version = "unstable-2017-06-26";
+     module_name = "fish";
+@@ pkgs/applications/networking/znc/modules.nix: in
+     };
+   };
+ 
+-  ignore = zncDerivation rec {
++  ignore = zncDerivation {
+     pname = "znc-ignore";
+     version = "unstable-2017-04-28";
+     module_name = "ignore";
+@@ pkgs/applications/networking/znc/modules.nix: in
+     };
+   };
+ 
+-  playback = zncDerivation rec {
++  playback = zncDerivation {
+     pname = "znc-playback";
+     version = "unstable-2015-08-04";
+     module_name = "playback";
+@@ pkgs/applications/networking/znc/modules.nix: in
+     };
+   };
+ 
+-  privmsg = zncDerivation rec {
++  privmsg = zncDerivation {
+     pname = "znc-privmsg";
+     version = "unstable-2015-02-22";
+     module_name = "privmsg";
+@@ pkgs/applications/networking/znc/modules.nix: in
+     };
+   };
  
+-  push = zncDerivation rec {
++  push = zncDerivation {
+     pname = "znc-push";
+     version = "unstable-2016-10-12";
+     module_name = "push";
 
  ## pkgs/applications/system/coolercontrol/default.nix ##
 @@ pkgs/applications/system/coolercontrol/default.nix: let
@@ pkgs/applications/system/coolercontrol/default.nix: let
  
    coolercontrold = applySharedDetails (callPackage ./coolercontrold.nix { });
 
+ ## pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprsplit.nix ##
+@@
+   mkHyprlandPlugin,
+   nix-update-script,
+ }:
+-mkHyprlandPlugin hyprland rec {
++mkHyprlandPlugin hyprland {
+   pluginName = "hyprsplit";
+   version = "0.48.1-unstable-2025-05-03";
+ 
+
  ## pkgs/build-support/checkpoint-build.nix ##
 @@ pkgs/build-support/checkpoint-build.nix: let
      });
@@ pkgs/build-support/rust/lib/default.nix
    # several other tools which do not deal well with cross
    # compilation.  The symptom of the problem they fix is errors due
 
- ## pkgs/by-name/ap/appindicator-sharp/package.nix ##
-@@
-   stdenv,
- }:
- 
--stdenv.mkDerivation rec {
-+stdenv.mkDerivation {
-   pname = "appindicator-sharp";
-   version = "0-unstable-2016-01-18";
- 
-
- ## pkgs/by-name/av/avizo/package.nix ##
-@@
-   brightnessctl,
- }:
- 
--stdenv.mkDerivation rec {
-+stdenv.mkDerivation {
-   pname = "avizo";
-   version = "1.3-unstable-2024-11-03";
- 
-
  ## pkgs/by-name/bi/bic/package.nix ##
 @@
    pkg-config,
@@ pkgs/by-name/bi/bic/package.nix
    version = "1.0.0-unstable-2022-02-16";
  
 
- ## pkgs/by-name/ce/cerca/package.nix ##
-@@
-   fetchFromGitHub,
- }:
- 
--buildGoModule rec {
-+buildGoModule {
-   pname = "cerca";
-   version = "0-unstable-2025-05-21";
- 
-
- ## pkgs/by-name/ce/certmitm/package.nix ##
+ ## pkgs/by-name/ch/check-sieve/package.nix ##
 @@
    python3,
+   nix-update-script,
  }:
- 
--python3.pkgs.buildPythonApplication rec {
-+python3.pkgs.buildPythonApplication {
-   pname = "certmitm";
-   version = "0-unstable-2025-05-14";
-   pyproject = false;
-
- ## pkgs/by-name/cf/cfn-nag/package.nix ##
-@@
-   ruby,
- }:
- 
--bundlerEnv rec {
-+bundlerEnv {
-   pname = "cfn-nag";
-   version = "0.8.10";
- 
-
- ## pkgs/by-name/cj/cjs/package.nix ##
-@@
-   libxml2,
- }:
- 
 -stdenv.mkDerivation rec {
 +stdenv.mkDerivation {
-   pname = "cjs";
-   version = "128.0-unstable-2025-09-15";
+   pname = "check-sieve";
+   version = "0.10-unstable-2025-05-06";
  
 
  ## pkgs/by-name/co/code-nautilus/package.nix ##
@@ pkgs/by-name/co/code-nautilus/package.nix
    version = "0-unstable-2024-09-11";
  
 
- ## pkgs/by-name/co/codux/package.nix ##
-@@ pkgs/by-name/co/codux/package.nix: let
-   appimageContents = appimageTools.extractType2 { inherit pname version src; };
- in
- 
--appimageTools.wrapType2 rec {
-+appimageTools.wrapType2 {
-   inherit pname version src;
- 
-   extraInstallCommands = ''
-
- ## pkgs/by-name/co/colmap/package.nix ##
-@@ pkgs/by-name/co/colmap/package.nix: let
-   # TODO: migrate to redist packages
-   inherit (cudaPackages) cudatoolkit;
- in
--stdenv'.mkDerivation rec {
-+stdenv'.mkDerivation {
-   version = "unstable-3.12.5-openimageio";
-   pname = "colmap";
-   src = fetchFromGitHub {
-
- ## pkgs/by-name/co/coltrane/package.nix ##
-@@
-   bundlerUpdateScript,
- }:
- 
--bundlerApp rec {
-+bundlerApp {
-   pname = "coltrane";
-   gemdir = ./.;
-   exes = [ "coltrane" ];
-
  ## pkgs/by-name/co/countryguess/package.nix ##
 @@
    makeWrapper,
@@ pkgs/by-name/cr/crossfire-gridarta/package.nix

[...truncated...]

Warning

Difference between 1c6af9b and original c283f32 may warrant inspection.

Show diff
@@ Commit message
 
     Auto-fixed by nixf-diagnose.
 
+    (cherry picked from commit c283f32d296564fd649ef3ed268c1f1f7b199c49)
+
  ## ci/default.nix ##
 @@ ci/default.nix: let
              # https://github.com/nix-community/nixd/blob/main/libnixf/src/Basic/diagnostic.py
@@ nixos/modules/config/terminfo.nix
        default = false;
        type = lib.types.bool;
 
+ ## nixos/modules/hardware/opentabletdriver.nix ##
+@@ nixos/modules/hardware/opentabletdriver.nix: in
+     boot.blacklistedKernelModules = cfg.blacklistedKernelModules;
+ 
+     systemd.user.services.opentabletdriver =
+-      with pkgs;
++
+       lib.mkIf cfg.daemon.enable {
+         description = "Open source, cross-platform, user-mode tablet driver";
+         wantedBy = [ "graphical-session.target" ];
+
  ## nixos/modules/i18n/input-method/default.nix ##
 @@ nixos/modules/i18n/input-method/default.nix: in
    };
@@ nixos/modules/profiles/headless.nix
    # Don't start a tty on the serial consoles.
    systemd.services."serial-getty@ttyS0".enable = lib.mkDefault false;
 
- ## nixos/modules/programs/fuse.nix ##
-@@ nixos/modules/programs/fuse.nix: let
-   cfg = config.programs.fuse;
- in
- {
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- 
-   options.programs.fuse = {
-     enable = lib.mkEnableOption "fuse" // {
-
  ## nixos/modules/programs/gamescope.nix ##
 @@ nixos/modules/programs/gamescope.nix: in
      environment.systemPackages = lib.mkIf (!cfg.capSysNice) [ gamescope ];
@@ nixos/modules/programs/gamescope.nix: in
 +  meta.maintainers = [ ];
  }
 
+ ## nixos/modules/programs/wayland/cardboard.nix ##
+@@ nixos/modules/programs/wayland/cardboard.nix: let
+   cfg = config.programs.cardboard;
+ in
+ {
+-  meta.maintainers = with lib.maintainers; [ ];
++  meta.maintainers = [ ];
+ 
+   options.programs.cardboard = {
+     enable = lib.mkEnableOption "cardboard";
+
  ## nixos/modules/programs/wayland/labwc.nix ##
 @@ nixos/modules/programs/wayland/labwc.nix: let
    cfg = config.programs.labwc;
@@ nixos/modules/programs/wayland/lib.nix
          with lib;
          naturalSort (intersectLists expectedArgs (attrNames (functionArgs pkg.override)));
 
- ## nixos/modules/programs/wayland/sway.nix ##
-@@ nixos/modules/programs/wayland/sway.nix: in
-     ]
-   );
- 
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- }
-
- ## nixos/modules/programs/wshowkeys.nix ##
-@@ nixos/modules/programs/wshowkeys.nix: in
-     };
-   };
- 
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- }
-
  ## nixos/modules/security/acme/default.nix ##
 @@ nixos/modules/security/acme/default.nix: let
        # Create hashes for cert data directories based on configuration
@@ nixos/modules/services/backup/borgbackup.nix: let
 -      );
 +        '');
  
-   # Returns a singleton list, due to usage of lib.optional
    mkBorgWrapper =
+     name: cfg:
 
  ## nixos/modules/services/computing/boinc/client.nix ##
 @@ nixos/modules/services/computing/boinc/client.nix: in
@@ nixos/modules/services/continuous-integration/buildbot/master.nix: in
          description = "Packages to add the to the PYTHONPATH of the buildbot process.";
          example = lib.literalExpression "pythonPackages: with pythonPackages; [ requests ]";
 
- ## nixos/modules/services/databases/chromadb.nix ##
-@@ nixos/modules/services/databases/chromadb.nix: let
- in
- {
- 
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- 
-   imports = [
-     (lib.mkRemovedOptionModule [ "services" "chromadb" "logFile" ] ''
-
  ## nixos/modules/services/desktop-managers/lomiri.nix ##
 @@ nixos/modules/services/desktop-managers/lomiri.nix: in
  
@@ nixos/modules/services/misc/cgminer.nix
        n: v: ''"${n}":  ${if lib.isBool v then convType v else ''"${convType v}"''}''
      ) cfg.config;
 
- ## nixos/modules/services/misc/docling-serve.nix ##
-@@ nixos/modules/services/misc/docling-serve.nix: in
-     networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
-   };
- 
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- }
-
- ## nixos/modules/services/misc/litellm.nix ##
-@@ nixos/modules/services/misc/litellm.nix: in
-     networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
-   };
- 
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- }
-
- ## nixos/modules/services/misc/orthanc.nix ##
-@@ nixos/modules/services/misc/orthanc.nix: in
-     time.timeZone = lib.mkDefault "UTC";
-   };
- 
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- }
-
  ## nixos/modules/services/monitoring/graphite.nix ##
 @@ nixos/modules/services/monitoring/graphite.nix: let
      ];
@@ nixos/modules/services/monitoring/graphite.nix: let
    carbonEnv = {
      PYTHONPATH =
 
- ## nixos/modules/services/networking/ivpn.nix ##
-@@ nixos/modules/services/networking/ivpn.nix: in
-     };
-   };
- 
+ ## nixos/modules/services/networking/connman.nix ##
+@@ nixos/modules/services/networking/connman.nix: let
+   enableIwd = cfg.wifi.backend == "iwd";
+ in
+ {
 -  meta.maintainers = with lib.maintainers; [ ];
 +  meta.maintainers = [ ];
- }
+ 
+   imports = [
+     (lib.mkRenamedOptionModule [ "networking" "connman" ] [ "services" "connman" ])
 
  ## nixos/modules/services/networking/jool.nix ##
 @@ nixos/modules/services/networking/jool.nix: in
@@ nixos/modules/services/networking/ssh/sshd.nix: let
          if lib.isInt v then
            toString v
 
- ## nixos/modules/services/security/hockeypuck.nix ##
-@@ nixos/modules/services/security/hockeypuck.nix: let
-   settingsFormat = pkgs.formats.toml { };
- in
- {
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- 
-   options.services.hockeypuck = {
-     enable = lib.mkEnableOption "Hockeypuck OpenPGP Key Server";
-
  ## nixos/modules/services/system/earlyoom.nix ##
 @@ nixos/modules/services/system/earlyoom.nix: let
  in
@@ nixos/modules/services/system/earlyoom.nix: let
  
    options.services.earlyoom = {
 
- ## nixos/modules/services/web-apps/anuko-time-tracker.nix ##
-@@ nixos/modules/services/web-apps/anuko-time-tracker.nix: in
-     };
-   };
- 
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- }
-
- ## nixos/modules/services/web-apps/honk.nix ##
-@@ nixos/modules/services/web-apps/honk.nix: in
-   };
- 
-   meta = {
--    maintainers = with lib.maintainers; [ ];
-+    maintainers = [ ];
-     doc = ./honk.md;
-   };
- }
-
  ## nixos/modules/services/x11/terminal-server.nix ##
 @@
  
@@ nixos/release-combined.nix: rec {
        constituents = pkgs.lib.concatLists [
          [ "nixos.channel" ]
 
- ## nixos/tests/anuko-time-tracker.nix ##
-@@
+ ## nixos/tests/clickhouse.nix ##
+@@ nixos/tests/clickhouse.nix: import ./make-test-python.nix (
+   { pkgs, ... }:
    {
-   name = "anuko-time-tracker";
-   meta = {
--    maintainers = with pkgs.lib.maintainers; [ ];
-+    maintainers = [ ];
-   };
-   nodes = {
-     machine = {
+     name = "clickhouse";
+-    meta.maintainers = with pkgs.lib.maintainers; [ ];
++    meta.maintainers = [ ];
+ 
+     nodes.machine = {
+       services.clickhouse.enable = true;
 
  ## nixos/tests/curl-impersonate.nix ##
-@@ nixos/tests/curl-impersonate.nix: in
+@@ nixos/tests/curl-impersonate.nix: import ./make-test-python.nix (
    {
      name = "curl-impersonate";
  
@@ nixos/tests/curl-impersonate.nix: in
      };
  
 
- ## nixos/tests/docker-rootless.nix ##
-@@
- { lib, pkgs, ... }:
- {
-   name = "docker-rootless";
--  meta = with pkgs.lib.maintainers; {
-+  meta = {
-     maintainers = [ ];
-   };
- 
-
- ## nixos/tests/docling-serve.nix ##
-@@ nixos/tests/docling-serve.nix: let
- in
- {
-   name = "docling-serve";
--  meta = with lib.maintainers; {
-+  meta = {
-     maintainers = [ ];
-   };
- 
-
  ## nixos/tests/documize.nix ##
-@@
+@@ nixos/tests/documize.nix: import ./make-test-python.nix (
    { pkgs, lib, ... }:
    {
      name = "documize";
@@ nixos/tests/documize.nix
  
 
  ## nixos/tests/etesync-dav.nix ##
-@@
+@@ nixos/tests/etesync-dav.nix: import ./make-test-python.nix (
    {
  
      name = "etesync-dav";
@@ nixos/tests/etesync-dav.nix
      };
  
 
+ ## nixos/tests/fenics.nix ##
+@@ nixos/tests/fenics.nix: import ./make-test-python.nix (
+   {
+     name = "fenics";
+     meta = {
+-      maintainers = with pkgs.lib.maintainers; [ ];
++      maintainers = [ ];
+     };
+ 
+     nodes = {
+
  ## nixos/tests/flaresolverr.nix ##
-@@
+@@ nixos/tests/flaresolverr.nix: import ./make-test-python.nix (
    { lib, ... }:
    {
      name = "flaresolverr";
@@ nixos/tests/flaresolverr.nix
        { pkgs, ... }:
 
  ## nixos/tests/frr.nix ##
-@@ nixos/tests/frr.nix: in
+@@ nixos/tests/frr.nix: import ./make-test-python.nix (
    {
      name = "frr";
  
@@ nixos/tests/frr.nix: in
  
 
  ## nixos/tests/google-oslogin/default.nix ##
-@@ nixos/tests/google-oslogin/default.nix: let
+@@ nixos/tests/google-oslogin/default.nix: import ../make-test-python.nix (
    in
    {
      name = "google-oslogin";
--  meta = with lib.maintainers; {
+-    meta = with pkgs.lib.maintainers; {
 +    meta = {
        maintainers = [ ];
      };
  
 
  ## nixos/tests/gotify-server.nix ##
-@@
+@@ nixos/tests/gotify-server.nix: import ./make-test-python.nix (
    { pkgs, lib, ... }:
    {
      name = "gotify-server";
@@ nixos/tests/gotify-server.nix
  
 
  ## nixos/tests/greetd-no-shadow.nix ##
-@@
+@@ nixos/tests/greetd-no-shadow.nix: import ./make-test-python.nix (
    }:
    {
      name = "greetd-no-shadow";
@@ nixos/tests/greetd-no-shadow.nix
  
 
  ## nixos/tests/gvisor.nix ##
-@@
+@@ nixos/tests/gvisor.nix: import ./make-test-python.nix (
    { pkgs, ... }:
    {
      name = "gvisor";
@@ nixos/tests/gvisor.nix
      };
  
 
- ## nixos/tests/hockeypuck.nix ##
-@@ nixos/tests/hockeypuck.nix: let
- in
- {
-   name = "hockeypuck";
--  meta.maintainers = with lib.maintainers; [ ];
-+  meta.maintainers = [ ];
- 
-   nodes.machine =
-     { ... }:
+ ## nixos/tests/hbase.nix ##
+@@ nixos/tests/hbase.nix: import ./make-test-python.nix (
+             # This setting and standalone mode are not suitable for production
+             settings."hbase.unsafe.stream.capability.enforce" = "false";
+           };

[...truncated...]

Warning

Difference between 5cbdb94 and original 91a8fee may warrant inspection.

Show diff
@@ Commit message
 
     Auto-fixed by nixf-diagnose.
 
+    (cherry picked from commit 91a8fee3aaf79348aa2dc1552a29fc1b786c5133)
+
  ## ci/default.nix ##
 @@ ci/default.nix: let
              # Rule names can currently be looked up here:
@@ ci/default.nix: let
              "--ignore=sema-unused-def-lambda-witharg-arg"
              "--ignore=sema-unused-def-lambda-witharg-formal"
 
- ## doc/doc-support/package.nix ##
-@@ doc/doc-support/package.nix: stdenvNoCC.mkDerivation (
-       decl:
-       let
-         declStr = toString decl;
--        root = toString (../..);
-+        root = toString ../..;
-         subpath = lib.removePrefix "/" (lib.removePrefix root declStr);
-       in
-       if lib.hasPrefix root declStr then
-
  ## lib/customisation.nix ##
 @@ lib/customisation.nix: rec {
        outputs = drv.outputs or [ "out" ];
@@ lib/customisation.nix: rec {
        outputToAttrListElement = outputName: {
          name = outputName;
 
- ## lib/tests/modules/composed-types-valueMeta.nix ##
-@@ lib/tests/modules/composed-types-valueMeta.nix: in
- {
-   imports = [
-     #  Module A
--    ({
-+    {
-       options.attrsOfModule = attrsOfModule;
-       options.mergedAttrsOfModule = attrsOfModule;
-       options.listOfModule = listOfModule;
-       options.mergedListOfModule = listOfModule;
--    })
-+    }
-     # Module B
--    ({
-+    {
-       options.mergedAttrsOfModule = attrsOfModule;
-       options.mergedListOfModule = listOfModule;
--    })
-+    }
-     # Values
-     # It is important that the value is defined in a separate module
-     # Without valueMeta the actual value and sub-options wouldn't be accessible via:
-     # options.attrsOfModule.type.getSubOptions
--    ({
-+    {
-       attrsOfModule = {
-         foo.bar = 42;
-       };
-       mergedAttrsOfModule = {
-         foo.bar = 42;
-       };
--    })
-+    }
-     (
-       { options, ... }:
-       {
-
- ## lib/tests/modules/freeform-attrsof-either.nix ##
-@@ lib/tests/modules/freeform-attrsof-either.nix: let
- in
- {
-   options.number = mkOption {
--    type = types.submodule ({
-+    type = types.submodule {
-       freeformType = types.attrsOf (types.either types.int types.int);
--    });
-+    };
-     default = {
-       int = 42;
-     }; # should not emit a warning
-
- ## lib/tests/modules/freeform-deprecated-malicous.nix ##
-@@ lib/tests/modules/freeform-deprecated-malicous.nix: let
- in
- {
-   options.either = mkOption {
--    type = types.submodule ({
-+    type = types.submodule {
-       freeformType = (types.either types.int types.int);
--    });
-+    };
-   };
- 
-   options.eitherBehindNullor = mkOption {
--    type = types.submodule ({
-+    type = types.submodule {
-       freeformType = types.nullOr (types.either types.int types.int);
--    });
-+    };
-   };
- 
-   options.oneOf = mkOption {
--    type = types.submodule ({
-+    type = types.submodule {
-       freeformType = (
-         types.oneOf [
-           types.int
-           types.int
-         ]
-       );
--    });
-+    };
-   };
- 
-   options.number = mkOption {
--    type = types.submodule ({
-+    type = types.submodule {
-       freeformType = (types.number); # either int float
--    });
-+    };
-   };
- }
-
  ## lib/tests/modules/functionTo/submodule-options.nix ##
 @@ lib/tests/modules/functionTo/submodule-options.nix: in
        default = lib.concatStringsSep " " (
@@ lib/tests/modules/functionTo/submodule-options.nix: in
 -            (options.fun.type.getSubOptions [ "fun" ])
 +            options.fun.type.getSubOptions [ "fun" ]
            )
++
          )
        );
+     };
 
  ## lib/tests/systems.nix ##
 @@ lib/tests/systems.nix: lib.runTests (
@@ lib/tests/systems.nix: lib.runTests (
      testlinux = mseteq linux [
        "aarch64-linux"
 
+ ## lib/types.nix ##
+@@ lib/types.nix: let
+                 loc: defs:
+                 mapAttrs (n: v: v.value) (
+                   filterAttrs (n: v: v ? value) (
+-                    zipAttrsWith (name: defs: (mergeDefinitions (loc ++ [ name ]) elemType (defs)).optionalValue)
++                    zipAttrsWith (name: defs: (mergeDefinitions (loc ++ [ name ]) elemType defs).optionalValue)
+                       # Push down position info.
+                       (pushPositions defs)
+                   )
+
  ## nixos/lib/eval-config.nix ##
 @@ nixos/lib/eval-config.nix: let
      in
@@ nixos/lib/testing/network.nix: let
 +          + optionalString (
 +            config.networking.primaryIPv6Address != ""
 +          ) "${config.networking.primaryIPv6Address} ${hostnames}"
++
          );
  
          virtualisation.qemu.options = qemuOptions;
@@ nixos/modules/services/backup/borgbackup.nix: let
 +          )}
 +      '';
  
-   # Returns a singleton list, due to usage of lib.optional
    mkBorgWrapper =
+     name: cfg:
 
  ## nixos/modules/services/backup/syncoid.nix ##
 @@ nixos/modules/services/backup/syncoid.nix: let
@@ nixos/modules/services/cluster/kubernetes/default.nix: in
      )
    ];
 
- ## nixos/modules/services/cluster/temporal/default.nix ##
-@@ nixos/modules/services/cluster/temporal/default.nix: in
-           "@chown"
-         ];
-       }
--      // (lib.optionalAttrs (usingDefaultDataDir) {
-+      // (lib.optionalAttrs usingDefaultDataDir {
-         StateDirectory = "temporal";
-         StateDirectoryMode = "0700";
-       });
-
  ## nixos/modules/services/continuous-integration/gitea-actions-runner.nix ##
 @@ nixos/modules/services/continuous-integration/gitea-actions-runner.nix: in
              after = [
@@ nixos/modules/services/networking/nylon.nix: in
      users.users.nylon = {
        group = "nylon";
 
- ## nixos/modules/services/networking/pihole-ftl.nix ##
-@@ nixos/modules/services/networking/pihole-ftl.nix: in
-     };
- 
-     queryLogDeleter = {
--      enable = mkEnableOption ("Pi-hole FTL DNS query log deleter");
-+      enable = mkEnableOption "Pi-hole FTL DNS query log deleter";
- 
-       age = mkOption {
-         type = types.int;
-
  ## nixos/modules/services/networking/spiped.nix ##
 @@ nixos/modules/services/networking/spiped.nix: in
  
@@ nixos/modules/services/web-apps/mastodon.nix: let
  ## nixos/modules/services/web-apps/nextcloud.nix ##
 @@ nixos/modules/services/web-apps/nextcloud.nix: let
          'apps_paths' => [
-           ${lib.concatStrings (lib.mapAttrsToList mkAppStoreConfig appStores)}
+           ${concatStrings (mapAttrsToList mkAppStoreConfig appStores)}
          ],
--        ${lib.optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
-+        ${lib.optionalString showAppStoreSetting "'appstoreenabled' => ${renderedAppStoreSetting},"}
-         ${lib.optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
-         ${lib.optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"}
-         ${lib.optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"}
+-        ${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
++        ${optionalString showAppStoreSetting "'appstoreenabled' => ${renderedAppStoreSetting},"}
+         ${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
+         ${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"}
+         ${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"}
+@@ nixos/modules/services/web-apps/nextcloud.nix: in
+       services.nextcloud = {
+         caching.redis = lib.mkIf cfg.configureRedis true;
+         settings = mkMerge [
+-          ({
++          {
+             datadirectory = lib.mkDefault "${datadir}/data";
+             trusted_domains = [ cfg.hostName ];
+             "upgrade.disable-web" = true;
+             # NixOS already provides its own integrity check and the nix store is read-only, therefore Nextcloud does not need to do its own integrity checks.
+             "integrity.check.disabled" = true;
+-          })
++          }
+           (lib.mkIf cfg.configureRedis {
+             "memcache.distributed" = ''\OC\Memcache\Redis'';
+             "memcache.locking" = ''\OC\Memcache\Redis'';
 
  ## nixos/modules/services/web-apps/nifi.nix ##
 @@ nixos/modules/services/web-apps/nifi.nix: let
@@ nixos/modules/services/web-servers/ttyd.nix: in
 
  ## nixos/modules/services/x11/xserver.nix ##
 @@ nixos/modules/services/x11/xserver.nix: in
-             || config.services.displayManager.lemurs.enable
+             || config.services.displayManager.ly.enable
            );
        in
 -      mkIf (default) (mkDefault true);
@@ nixos/modules/tasks/lvm.nix: in
        systemd.tmpfiles.packages = [ cfg.package.out ];
        environment.systemPackages = [ cfg.package ];
 
+ ## nixos/modules/tasks/network-interfaces-systemd.nix ##
+@@ nixos/modules/tasks/network-interfaces-systemd.nix: let
+ 
+   interfaceNetworks = mkMerge (
+     forEach interfaces (i: {
+-      netdevs = mkIf i.virtual ({
++      netdevs = mkIf i.virtual {
+         "40-${i.name}" = {
+           netdevConfig = {
+             Name = i.name;
+@@ nixos/modules/tasks/network-interfaces-systemd.nix: let
+             User = i.virtualOwner;
+           };
+         };
+-      });
++      };
+       networks."40-${i.name}" = {
+         name = mkDefault i.name;
+         DHCP = mkForce (
+
  ## nixos/modules/tasks/network-interfaces.nix ##
 @@ nixos/modules/tasks/network-interfaces.nix: let
              )
@@ nixos/modules/virtualisation/vmware-host.nix: in
            # Atomically replace the symlink
            # See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
 
+ ## nixos/tests/corerad.nix ##
+@@
+-import ./make-test-python.nix ({
++import ./make-test-python.nix {
+   name = "corerad";
+   nodes = {
+     router =
+@@ nixos/tests/corerad.nix: import ./make-test-python.nix ({
+             "corerad_build_info" in out
+         ), "Build info metric was not found in Prometheus output"
+   '';
+-})
++}
+
  ## nixos/tests/cosmic.nix ##
 @@
        #testName: ${testName}
@@ nixos/tests/installer.nix: let
            + ''
 
  ## nixos/tests/iscsi-multipath-root.nix ##
-@@ nixos/tests/iscsi-multipath-root.nix: in
+@@ nixos/tests/iscsi-multipath-root.nix: import ./make-test-python.nix (

[...truncated...]

Warning

Couldn't locate original commit hash in message of a5a98e5.

Hint: The full diffs are also available in the runner logs with slightly better highlighting.

@wolfgangwalther wolfgangwalther dismissed github-actions[bot]’s stale review October 5, 2025 11:06

I essentially recreated the commits via nixf-diagnose, but kept the cherry-pick hashes, so there is naturally a big diff.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: qt/kde Object-oriented framework for GUI creation 6.topic: kernel The Linux kernel 8.has: module (update) This PR changes an existing module in `nixos/` 6.topic: emacs Text editor 6.topic: printing Drivers, CUPS & Co. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: vim Advanced text editor 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: stdenv Standard environment 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 6.topic: hardware Drivers, Firmware and Kernels 6.topic: coq A formal proof management system 6.topic: TeX Issues regarding texlive and TeX in general 6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. 6.topic: testing Tooling for automated testing of packages and modules 6.topic: module system About "NixOS" module system internals labels Oct 5, 2025
@nixpkgs-ci nixpkgs-ci bot added 6.topic: systemd Software suite that provides an array of system components for Linux operating systems. 6.topic: agda A dependently typed programming language / interactive theorem prover 6.topic: R R is a programming language for statistical computing and data visualization. 6.topic: cuda Parallel computing platform and API 6.topic: mate The MATE Desktop Environment 6.topic: vscode A free and versatile code editor that supports almost every major programming language. 6.topic: lib The Nixpkgs function library 6.topic: games Gaming on NixOS 6.topic: php PHP is a general-purpose scripting language geared towards web development. 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: dotnet Language: .NET 6.topic: flutter Open-source UI software development kit for cross-platform applications 6.topic: nvidia Nvidia-specific issues and fixes 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions 6.topic: COSMIC COSMIC is a software platform for designing beautiful user experiences 4.workflow: backport This targets a stable branch labels Oct 5, 2025
@nix-owners nix-owners bot requested a review from SomeoneSerge October 5, 2025 11:09
@wolfgangwalther wolfgangwalther changed the title ci/treefmt: add nixf-diagnose [25.05] ci/treefmt: add nixf-diagnose Oct 5, 2025
@wolfgangwalther wolfgangwalther added this pull request to the merge queue Oct 5, 2025
Merged via the queue into NixOS:release-25.05 with commit ffabe42 Oct 5, 2025
67 of 71 checks passed
@wolfgangwalther wolfgangwalther deleted the backport-ci-nixf-diagnose branch October 5, 2025 11:17
@github-project-automation github-project-automation bot moved this to Done in Stdenv Oct 5, 2025
@github-project-automation github-project-automation bot moved this from New to ✅ Done in CUDA Team Oct 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.workflow: backport This targets a stable branch 6.topic: agda A dependently typed programming language / interactive theorem prover 6.topic: continuous integration Affects continuous integration (CI) in Nixpkgs, including Ofborg and GitHub Actions 6.topic: coq A formal proof management system 6.topic: COSMIC COSMIC is a software platform for designing beautiful user experiences 6.topic: cuda Parallel computing platform and API 6.topic: dotnet Language: .NET 6.topic: emacs Text editor 6.topic: erlang General-purpose, concurrent, functional high-level programming language 6.topic: flutter Open-source UI software development kit for cross-platform applications 6.topic: games Gaming on NixOS 6.topic: GNOME GNOME desktop environment and its underlying platform 6.topic: hardware Drivers, Firmware and Kernels 6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: kernel The Linux kernel 6.topic: lib The Nixpkgs function library 6.topic: llvm/clang Issues related to llvmPackages, clangStdenv and related 6.topic: lua Lua is a powerful, efficient, lightweight, embeddable scripting language. 6.topic: mate The MATE Desktop Environment 6.topic: module system About "NixOS" module system internals 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 6.topic: nodejs Node.js is a free, open-source, cross-platform JavaScript runtime environment 6.topic: nvidia Nvidia-specific issues and fixes 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: php PHP is a general-purpose scripting language geared towards web development. 6.topic: printing Drivers, CUPS & Co. 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: qt/kde Object-oriented framework for GUI creation 6.topic: R R is a programming language for statistical computing and data visualization. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 6.topic: stdenv Standard environment 6.topic: systemd Software suite that provides an array of system components for Linux operating systems. 6.topic: testing Tooling for automated testing of packages and modules 6.topic: TeX Issues regarding texlive and TeX in general 6.topic: vim Advanced text editor 6.topic: vscode A free and versatile code editor that supports almost every major programming language. 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux.

Projects

Status: ✅ Done
Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant