From ffff2a5f11dc084db60555359500cb3f74921896 Mon Sep 17 00:00:00 2001 From: Kajus Naujokaitis Date: Sat, 14 Feb 2026 12:57:55 +0200 Subject: [PATCH 01/92] nixos/power-management: fix powerDownCommands to also run before shutdown --- nixos/modules/config/power-management.nix | 83 +++++++++++++---------- 1 file changed, 49 insertions(+), 34 deletions(-) diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix index b5ae488697a2..8fc4e5329591 100644 --- a/nixos/modules/config/power-management.nix +++ b/nixos/modules/config/power-management.nix @@ -83,42 +83,57 @@ in unitConfig.StopWhenUnneeded = true; }; - # Service executed before suspending/hibernating. - systemd.services.pre-sleep = { - description = "Pre-Sleep Actions"; - wantedBy = [ "sleep.target" ]; - before = [ "sleep.target" ]; - script = '' - ${cfg.powerDownCommands} - ''; - serviceConfig.Type = "oneshot"; - }; - - systemd.services.post-boot = { - description = "Post-boot Actions"; - # It's not well defined at what point in the bootup sequence this should run - # we should eventually just remove this. - wantedBy = [ "multi-user.target" ]; - restartIfChanged = false; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; + systemd.services = { + # Service executed before suspending/hibernating. + pre-sleep = { + description = "Pre-Sleep Actions"; + wantedBy = [ "sleep.target" ]; + before = [ "sleep.target" ]; + script = cfg.powerDownCommands; + serviceConfig.Type = "oneshot"; }; - script = '' - ${cfg.powerUpCommands} - ''; - }; - systemd.services.post-resume = { - description = "Post-Resume Actions"; - # Pulled in by post-resume.service above - after = [ "sleep.target" ]; - script = '' - /run/current-system/systemd/bin/systemctl try-restart --no-block post-resume.target - ${cfg.resumeCommands} - ${cfg.powerUpCommands} - ''; - serviceConfig.Type = "oneshot"; + # Service executed after resuming from suspend/hibernate + post-resume = { + description = "Post-Resume Actions"; + # Pulled in by post-resume.service above + after = [ "sleep.target" ]; + script = '' + /run/current-system/systemd/bin/systemctl try-restart --no-block post-resume.target + ${cfg.resumeCommands} + ${cfg.powerUpCommands} + ''; + serviceConfig.Type = "oneshot"; + }; + + # Service executed before shutdown + pre-shutdown = { + description = "Pre-Shutdown Actions"; + wantedBy = [ + "shutdown.target" + ]; + before = [ + "shutdown.target" + ]; + script = cfg.powerDownCommands; + serviceConfig.Type = "oneshot"; + unitConfig.DefaultDependencies = false; + }; + + post-boot = { + description = "Post-boot Actions"; + # It's not well defined at what point in the bootup sequence this should run + # we should eventually just remove this. + wantedBy = [ "multi-user.target" ]; + restartIfChanged = false; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + script = '' + ${cfg.powerUpCommands} + ''; + }; }; }; From 7b3176750998712540a3ef3d4a2fde7d74f928f3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 22 Feb 2026 00:15:38 +0000 Subject: [PATCH 02/92] python3Packages.langchain-text-splitters: 1.1.0 -> 1.1.1 --- .../python-modules/langchain-text-splitters/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/langchain-text-splitters/default.nix b/pkgs/development/python-modules/langchain-text-splitters/default.nix index 242c1e726c5c..6e51732c08ad 100644 --- a/pkgs/development/python-modules/langchain-text-splitters/default.nix +++ b/pkgs/development/python-modules/langchain-text-splitters/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "langchain-text-splitters"; - version = "1.1.0"; + version = "1.1.1"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; tag = "langchain-text-splitters==${version}"; - hash = "sha256-/mhgWYmnzzCnAlBzPFHo4yZLxgHIzmvxjS2BilGxww8="; + hash = "sha256-I5eMc/E7sCxEQG8+jw3E/M4uB7adKU5IMHRsS6pacsA="; }; sourceRoot = "${src.name}/libs/text-splitters"; From 59aab770201ba9f1a7ca00213834b3a4caff649e Mon Sep 17 00:00:00 2001 From: Kajus Naujokaitis Date: Mon, 23 Feb 2026 10:20:03 +0200 Subject: [PATCH 03/92] nixos/power-management: add bootCommands option and adjust examples - add new bootCommands option: - runs the specified commands once after boot - runs before powerUpCommands - adjusted some example commands to avoid duplicates --- nixos/modules/config/power-management.nix | 27 ++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/nixos/modules/config/power-management.nix b/nixos/modules/config/power-management.nix index 8fc4e5329591..47b3ad908f0a 100644 --- a/nixos/modules/config/power-management.nix +++ b/nixos/modules/config/power-management.nix @@ -25,6 +25,9 @@ in resumeCommands = lib.mkOption { type = lib.types.lines; default = ""; + example = lib.literalExpression '' + "''${pkgs.util-linux}/bin/rfkill unblock all" + ''; description = "Commands executed after the system resumes from suspend-to-RAM."; }; @@ -32,7 +35,7 @@ in type = lib.types.lines; default = ""; example = lib.literalExpression '' - "''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda" + "''${pkgs.powertop}/bin/powertop --auto-tune" ''; description = '' Commands executed when the machine powers up. That is, @@ -54,6 +57,18 @@ in ''; }; + bootCommands = lib.mkOption { + type = lib.types.lines; + default = ""; + example = lib.literalExpression '' + "''${pkgs.networkmanager}/bin/nmcli radio wifi on" + ''; + description = '' + Commands executed only once after initial boot. + These commands are executed before `powerUpCommands`. + ''; + }; + }; }; @@ -120,19 +135,21 @@ in unitConfig.DefaultDependencies = false; }; + # Service executed after boot post-boot = { - description = "Post-boot Actions"; + description = "Post-Boot Actions"; # It's not well defined at what point in the bootup sequence this should run # we should eventually just remove this. wantedBy = [ "multi-user.target" ]; restartIfChanged = false; + script = '' + ${cfg.bootCommands} + ${cfg.powerUpCommands} + ''; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; }; - script = '' - ${cfg.powerUpCommands} - ''; }; }; From 2b724de17a4be3ac87e22ac29615c8f1c86e960c Mon Sep 17 00:00:00 2001 From: novenary Date: Wed, 25 Feb 2026 23:06:17 +0200 Subject: [PATCH 04/92] shutdown: stop manually saving hwclock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nowadays, the RTC is fully managed by systemd and the kernel. In userspace, timedated is enabled by default and the clock can be adjusted with timedatectl. Further, NixOS enables timesyncd by default, so the clock should be synced to NTP as long as the system is connected to the internet. Since early 2013 (Linux 3.9), CONFIG_RTC_SYSTOHC is available and on by default. [1] When userspace reports that NTP is synced, this causes the kernel to periodically update the RTC. It therefore makes no sense to keep this service enabled when using NTP. The kernel has seemingly loaded the time from the RTC at bootup for a very long time. [2] Manual `hwclock --hctosys` was removed in #165684. This all seem to make manual RTC fiddling redundant. My Arch systems don't do it and they've never had any trouble keeping the time. The only remaining raison d'être for this service is offline drift compensation as documented in hwclock(8). [3] This isn't implemented in NixOS, and the (unmaintained) tool [4] for this isn't even packaged. I don't think anyone is relying on this functionality, and it doesn't seem right to only implement it partially rather than within a more complete module. One thing this service actually implemented, rather shakily, is time.hardwareClockInLocalTime. This can more reliably be achieved by creating /etc/adjtime directly. [1]: https://github.com/torvalds/linux/commit/023f333a99cee9b5cd3268ff87298eb01a31f78e [2]: https://github.com/torvalds/linux/commit/0c86edc0d4970649f39748c4ce4f2895f728468f [3]: https://man.archlinux.org/man/hwclock.8#Keeping_Time_without_External_Synchronization [4]: https://github.com/rogers0/adjtimex --- nixos/modules/config/locale.nix | 9 ++++++++ .../services/networking/ntp/chrony.nix | 5 ---- nixos/modules/system/boot/shutdown.nix | 23 ------------------- 3 files changed, 9 insertions(+), 28 deletions(-) diff --git a/nixos/modules/config/locale.nix b/nixos/modules/config/locale.nix index 395a25f537be..8fe61ca6cb22 100644 --- a/nixos/modules/config/locale.nix +++ b/nixos/modules/config/locale.nix @@ -96,6 +96,15 @@ in // lib.optionalAttrs (config.time.timeZone != null) { localtime.source = "/etc/zoneinfo/${config.time.timeZone}"; localtime.mode = "direct-symlink"; + } + // lib.optionalAttrs config.time.hardwareClockInLocalTime { + # Mirrors timedated + # https://github.com/systemd/systemd/blob/afaca649ad678031a46182b0cce667cbbbf47a6d/src/timedate/timedated.c#L325-L396 + adjtime.text = '' + 0.0 0 0 + 0 + LOCAL + ''; }; }; diff --git a/nixos/modules/services/networking/ntp/chrony.nix b/nixos/modules/services/networking/ntp/chrony.nix index a79599076502..f9c92768b63a 100644 --- a/nixos/modules/services/networking/ntp/chrony.nix +++ b/nixos/modules/services/networking/ntp/chrony.nix @@ -264,11 +264,6 @@ in services.timesyncd.enable = lib.mkForce false; - # If chrony controls and tracks the RTC, writing it externally causes clock error. - systemd.services.save-hwclock = lib.mkIf cfg.enableRTCTrimming { - enable = lib.mkForce false; - }; - systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "chronyd.service"; }; diff --git a/nixos/modules/system/boot/shutdown.nix b/nixos/modules/system/boot/shutdown.nix index 3d5ee0d06e54..3441cbd4e1da 100644 --- a/nixos/modules/system/boot/shutdown.nix +++ b/nixos/modules/system/boot/shutdown.nix @@ -1,33 +1,10 @@ { config, - lib, - pkgs, ... }: { - # This unit saves the value of the system clock to the hardware - # clock on shutdown. - systemd.services.save-hwclock = { - description = "Save Hardware Clock"; - - wantedBy = [ "shutdown.target" ]; - - unitConfig = { - DefaultDependencies = false; - ConditionPathExists = "/dev/rtc"; - ConditionPathIsReadWrite = "/etc/"; - }; - - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.util-linux}/sbin/hwclock --systohc ${ - if config.time.hardwareClockInLocalTime then "--localtime" else "--utc" - }"; - }; - }; - boot.kernel.sysctl."kernel.poweroff_cmd" = "${config.systemd.package}/sbin/poweroff"; } From 7d707c982efb318a30a201ba025c5ddcb5a82e7b Mon Sep 17 00:00:00 2001 From: "Subserial (EVR-00)" Date: Wed, 25 Feb 2026 16:13:25 -0800 Subject: [PATCH 05/92] maintainers: add Subserial --- maintainers/maintainer-list.nix | 7 +++++++ pkgs/by-name/wa/wayshot/package.nix | 1 + 2 files changed, 8 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 9dbde11fb72a..41b676067488 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -25712,6 +25712,13 @@ githubId = 12984845; name = "Subhrajyoti Sen"; }; + Subserial = { + email = "me@subserial.website"; + github = "Subserial"; + githubId = 25187940; + matrix = "@me:subserial.website"; + name = "Subserial"; + }; sudo-mac = { email = "dreems2reality@gmail.com"; github = "sudo-mac"; diff --git a/pkgs/by-name/wa/wayshot/package.nix b/pkgs/by-name/wa/wayshot/package.nix index e7d304b58f09..28c0cc15b67f 100644 --- a/pkgs/by-name/wa/wayshot/package.nix +++ b/pkgs/by-name/wa/wayshot/package.nix @@ -26,6 +26,7 @@ rustPlatform.buildRustPackage (finalAttrs: { maintainers = with lib.maintainers; [ dit7ya id3v1669 + Subserial ]; platforms = lib.platforms.linux; mainProgram = "wayshot"; From 809ba09d623bee63eceaf453a1bff812fa4e658d Mon Sep 17 00:00:00 2001 From: r-vdp Date: Mon, 16 Feb 2026 09:21:40 +0100 Subject: [PATCH 06/92] nixos/qemu-vm: replace postBootCommands by a systemd service This allows us to use `nixos-rebuild build-vm` with `nixos-init`. --- nixos/modules/virtualisation/qemu-vm.nix | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 5f001e05aa47..94e56a900c8a 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -1236,11 +1236,25 @@ in # allow `system.build.toplevel' to be included. (If we had a direct # reference to ${regInfo} here, then we would get a cyclic # dependency.) - boot.postBootCommands = lib.mkIf config.nix.enable '' - if [[ "$(cat /proc/cmdline)" =~ regInfo=([^ ]*) ]]; then - ${config.nix.package.out}/bin/nix-store --load-db < ''${BASH_REMATCH[1]} - fi - ''; + systemd.services.register-nix-paths = lib.mkIf config.nix.enable { + wantedBy = [ + "multi-user.target" + ]; + after = [ + "nix-daemon.service" + "nix-daemon.socket" + ]; + restartIfChanged = false; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + script = '' + if [[ "$(cat /proc/cmdline)" =~ regInfo=([^ ]*) ]]; then + ${config.nix.package.out}/bin/nix-store --load-db < "''${BASH_REMATCH[1]}" + fi + ''; + }; boot.initrd.availableKernelModules = optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx" ++ optional (cfg.tpm.enable) "tpm_tis"; From d031a25c1a7312614404df783f3c8f7edfa8285c Mon Sep 17 00:00:00 2001 From: David McFarland Date: Thu, 26 Feb 2026 00:08:25 -0400 Subject: [PATCH 07/92] wkhtmltopdf: fix eval in cross --- pkgs/by-name/wk/wkhtmltopdf/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/wk/wkhtmltopdf/package.nix b/pkgs/by-name/wk/wkhtmltopdf/package.nix index 28c9e3f58362..be0d0620fb47 100644 --- a/pkgs/by-name/wk/wkhtmltopdf/package.nix +++ b/pkgs/by-name/wk/wkhtmltopdf/package.nix @@ -94,6 +94,8 @@ in stdenv.mkDerivation ( { pname = "wkhtmltopdf"; + # required to fix eval when it's not overridden by platform below + version = "none"; dontStrip = true; From 8bb2caf0d0ea17f168a3066cb6dea1719aac4fb1 Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 1 Mar 2026 14:11:08 +0000 Subject: [PATCH 08/92] ruff: 0.15.3 -> 0.15.4 Changes: https://github.com/astral-sh/ruff/releases/tag/0.15.4 --- pkgs/by-name/ru/ruff/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index d9950ba56618..402fbe80d2d0 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,18 +16,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.15.3"; + version = "0.15.4"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-xeZk044anJ21uQwV3VN1QOvav+soYVdArpEw/rr8Xsw="; + hash = "sha256-Vj/4Iod9aFuDK5B6cVe03/3VI5gltoWwWH/0NWrldaw="; }; cargoBuildFlags = [ "--package=ruff" ]; - cargoHash = "sha256-16Ao1y0pFWxGjHkGi4VCIA9msvA5Tka8wvok8o3g6rc="; + cargoHash = "sha256-yZeBev0vRsNXTdjQdLIkGAYIu66Yuzf6Pjct4xswXME="; nativeBuildInputs = [ installShellFiles ]; From 5ca566b82e01536175969285bbd85014b4123c02 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Sun, 1 Mar 2026 20:53:45 +0000 Subject: [PATCH 09/92] nixos-rebuild-ng: preserve local environment in nix.copy_closure --- .../nixos-rebuild-ng/src/nixos_rebuild/nix.py | 8 +++++- .../ni/nixos-rebuild-ng/src/tests/test_nix.py | 27 ++++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py index b1da9ef555dc..ee1179b9f440 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/nixos_rebuild/nix.py @@ -192,7 +192,13 @@ def copy_closure( Also supports copying a closure from a remote to another remote.""" sshopts = os.getenv("NIX_SSHOPTS", "") - env = {"NIX_SSHOPTS": " ".join(filter(lambda x: x, [sshopts, *SSH_DEFAULT_OPTS]))} + # This command is always run locally and needs to keep its own environent + # while merging NIX_SSHOPTS and SSH_DEFAULT_OPTS together. + # E.g.: to preserve SSH_AUTH_SOCK + env = { + **os.environ, + "NIX_SSHOPTS": " ".join(filter(lambda x: x, [sshopts, *SSH_DEFAULT_OPTS])), + } def nix_copy_closure(host: Remote, to: bool) -> None: run_wrapper( diff --git a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py index 8a69fd89fad7..fdc9b3377ad3 100644 --- a/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py +++ b/pkgs/by-name/ni/nixos-rebuild-ng/src/tests/test_nix.py @@ -1,3 +1,4 @@ +import os import sys import textwrap import uuid @@ -78,6 +79,11 @@ def test_build_flake(mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path) -> ) +@patch.dict( + os.environ, + {"NIX_SSHOPTS": "--ssh opts", "SSH_ASKPASS": "/run/user/1000/ssh-agent"}, + clear=True, +) @patch(get_qualified_name(n.run_wrapper, n), autospec=True) @patch("uuid.uuid4", autospec=True) def test_build_remote( @@ -134,7 +140,10 @@ def test_build_remote( "user@host", Path("/path/to/file"), ], - env={"NIX_SSHOPTS": " ".join(["--ssh opts", *p.SSH_DEFAULT_OPTS])}, + env={ + "SSH_ASKPASS": "/run/user/1000/ssh-agent", + "NIX_SSHOPTS": " ".join(["--ssh opts", *p.SSH_DEFAULT_OPTS]), + }, ), call( ["mktemp", "-d", "-t", "nixos-rebuild.XXXXX"], @@ -163,18 +172,24 @@ def test_build_remote( ) +@patch.dict( + os.environ, + {"NIX_SSHOPTS": "--ssh opts", "SSH_ASKPASS": "/run/user/1000/ssh-agent"}, + clear=True, +) @patch( get_qualified_name(n.run_wrapper, n), autospec=True, return_value=CompletedProcess([], 0, stdout=" \n/path/to/file\n "), ) def test_build_remote_flake( - mock_run: Mock, monkeypatch: MonkeyPatch, tmpdir: Path + mock_run: Mock, + monkeypatch: MonkeyPatch, + tmpdir: Path, ) -> None: monkeypatch.chdir(tmpdir) flake = m.Flake.parse("/flake.nix#hostname") build_host = m.Remote("user@host", [], None) - monkeypatch.setenv("NIX_SSHOPTS", "--ssh opts") assert n.build_remote_flake( "config.system.build.toplevel", @@ -206,7 +221,10 @@ def test_build_remote_flake( "user@host", Path("/path/to/file"), ], - env={"NIX_SSHOPTS": " ".join(["--ssh opts", *p.SSH_DEFAULT_OPTS])}, + env={ + "SSH_ASKPASS": "/run/user/1000/ssh-agent", + "NIX_SSHOPTS": " ".join(["--ssh opts", *p.SSH_DEFAULT_OPTS]), + }, ), call( [ @@ -225,6 +243,7 @@ def test_build_remote_flake( ) +@patch.dict(os.environ, {}, clear=True) def test_copy_closure(monkeypatch: MonkeyPatch) -> None: closure = Path("/path/to/closure") with patch(get_qualified_name(n.run_wrapper, n), autospec=True) as mock_run: From 63b776708c74d75c01ff52bfcc52e509f7af1a25 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Sun, 1 Mar 2026 16:11:55 -0800 Subject: [PATCH 10/92] lunarvim: mark as broken LunarVim only works with Neovim 0.9.x. Nixpkgs ships 0.11.x now, which broke vim-illuminate and nvim-treesitter. The project hasn't had a meaningful update in over a year and there's no fix coming upstream. Maintainer recommended marking it broken. Resolves NixOS/nixpkgs#394302 --- pkgs/by-name/lu/lunarvim/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/lu/lunarvim/package.nix b/pkgs/by-name/lu/lunarvim/package.nix index 2c430aef7daf..a08c10c3da65 100644 --- a/pkgs/by-name/lu/lunarvim/package.nix +++ b/pkgs/by-name/lu/lunarvim/package.nix @@ -145,5 +145,6 @@ stdenv.mkDerivation (finalAttrs: { ]; platforms = lib.platforms.unix; mainProgram = "lvim"; + broken = true; # Incompatible with Neovim >= 0.10; upstream is unmaintained }; }) From 64a8ada54e05f1202a8e925c41f2c38008c6b13b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Mon, 2 Mar 2026 15:35:19 +0000 Subject: [PATCH 11/92] lib: add type signature to some of the functions --- lib/attrsets.nix | 2 +- lib/debug.nix | 81 +++++++++++++++++++++++++++++- lib/derivations.nix | 6 +++ lib/filesystem.nix | 32 ++++++------ lib/fixed-points.nix | 6 +++ lib/lists.nix | 66 +++++++++++++++++++++++++ lib/meta.nix | 66 +++++++++++++++++++++++++ lib/trivial.nix | 114 ++++++++++++++++++++++++++++++++++++------- lib/versions.nix | 36 ++++++++++++++ 9 files changed, 372 insertions(+), 37 deletions(-) diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 0e79a3b5a39b..a69fc49e5dca 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -201,7 +201,7 @@ rec { # Type ``` - attrsets.longestValidPathPrefix :: [String] -> Value -> [String] + longestValidPathPrefix :: [String] -> Value -> [String] ``` # Examples diff --git a/lib/debug.nix b/lib/debug.nix index 775db5a32997..79b1d61dfcb8 100644 --- a/lib/debug.nix +++ b/lib/debug.nix @@ -167,7 +167,7 @@ rec { ```nix trace { a.b.c = 3; } null - trace: { a = ; } + trace: { a = ; } => null traceSeq { a.b.c = 3; } null trace: { a = { b = { c = 3; }; }; } @@ -257,6 +257,23 @@ rec { `v` : Value to trace + + # Type + + ``` + traceValSeqFn :: (a -> b) -> a -> a + ``` + + # Examples + :::{.example} + ## `lib.debug.traceValSeqFn` usage example + + ```nix + traceValSeqFn (v: v // { d = "foo";}) { a.b.c = 3; } + trace: { a = { b = { c = 3; }; }; d = "foo"; } + => { a = { ... }; } + + ::: */ traceValSeqFn = f: v: traceValFn f (builtins.deepSeq v v); @@ -268,6 +285,24 @@ rec { `v` : Value to trace + + # Type + + ``` + traceValSeq :: a -> a + ``` + + # Examples + :::{.example} + ## `lib.debug.traceValSeq` usage example + + ```nix + traceValSeq { a.b.c = 3; } + trace: { a = { b = { c = 3; }; }; } + => { a = { ... }; } + ``` + + ::: */ traceValSeq = traceValSeqFn id; @@ -288,6 +323,24 @@ rec { `v` : Value to trace + + # Type + + ``` + traceValSeqNFn :: (a -> b) -> int -> a -> a + ``` + + # Examples + :::{.example} + ## `lib.debug.traceValSeqNFn` usage example + + ```nix + traceValSeqNFn (v: v // { d = "foo";}) 2 { a.b.c = 3; } + trace: { a = { b = {…}; }; d = "foo"; } + => { a = { ... }; } + ``` + + ::: */ traceValSeqNFn = f: depth: v: @@ -305,6 +358,24 @@ rec { `v` : Value to trace + + # Type + + ``` + traceValSeqN :: int -> a -> a + ``` + + # Examples + :::{.example} + ## `lib.debug.traceValSeqN` usage example + + ```nix + traceValSeqN 2 { a.b.c = 3; } + trace: { a = { b = {…}; }; } + => { a = { ... }; } + ``` + + ::: */ traceValSeqN = traceValSeqNFn id; @@ -333,6 +404,12 @@ rec { : 4\. Function argument + # Type + + ``` + traceFnSeqN :: int -> string -> (a -> b) -> a -> b + ``` + # Examples :::{.example} ## `lib.debug.traceFnSeqN` usage example @@ -340,7 +417,7 @@ rec { ```nix traceFnSeqN 2 "id" (x: x) { a.b.c = 3; } trace: { fn = "id"; from = { a.b = {…}; }; to = { a.b = {…}; }; } - => { a.b.c = 3; } + => { a = { ... }; } ``` ::: diff --git a/lib/derivations.nix b/lib/derivations.nix index b092bd3b6f98..f207134708be 100644 --- a/lib/derivations.nix +++ b/lib/derivations.nix @@ -233,6 +233,12 @@ in `drv` : The derivation to wrap. + # Type + + ``` + warnOnInstantiate :: string -> Derivation -> Derivation + ``` + # Examples :::{.example} ## `lib.derivations.warnOnInstantiate` usage example diff --git a/lib/filesystem.nix b/lib/filesystem.nix index 98a8862d60b8..144fee73738b 100644 --- a/lib/filesystem.nix +++ b/lib/filesystem.nix @@ -302,16 +302,6 @@ in - Other files are ignored, including symbolic links to directories and to regular `.nix` files; this is because nixlang code cannot distinguish the type of a link's target. - # Type - - ``` - packagesFromDirectoryRecursive :: { - callPackage :: Path -> {} -> a, - newScope? :: AttrSet -> scope, - directory :: Path, - } -> AttrSet - ``` - # Inputs `callPackage` @@ -326,6 +316,16 @@ in `directory` : The directory to read package files from. + # Type + + ``` + packagesFromDirectoryRecursive :: { + callPackage :: Path -> {} -> a, + newScope? :: AttrSet -> scope, + directory :: Path, + } -> AttrSet + ``` + # Examples :::{.example} ## Basic use of `lib.packagesFromDirectoryRecursive` @@ -450,12 +450,6 @@ in /** Append `/default.nix` if the passed path is a directory. - # Type - - ``` - resolveDefaultNix :: (Path | String) -> (Path | String) - ``` - # Inputs A single argument which can be a [path](https://nix.dev/manual/nix/stable/language/types#type-path) value or a string containing an absolute path. @@ -466,6 +460,12 @@ in Furthermore, if the input is a string that ends with `/`, `default.nix` is appended to it. Otherwise, the input is returned unchanged. + # Type + + ``` + resolveDefaultNix :: (Path | String) -> (Path | String) + ``` + # Examples :::{.example} ## `lib.filesystem.resolveDefaultNix` usage example diff --git a/lib/fixed-points.nix b/lib/fixed-points.nix index 6d50a00fc4a1..a29ed105d4a6 100644 --- a/lib/fixed-points.nix +++ b/lib/fixed-points.nix @@ -108,6 +108,12 @@ rec { `f` : 1\. Function argument + + # Type + + ``` + fix' :: (a -> a) -> a + ``` */ fix' = f: diff --git a/lib/lists.nix b/lib/lists.nix index 41eba34f93c5..5fa31dd29ae8 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -423,6 +423,12 @@ rec { : 1\. Function argument + # Type + + ``` + flatten :: [a | [a | [a | ...]]] -> [a] + ``` + # Examples :::{.example} ## `lib.lists.flatten` usage example @@ -823,6 +829,12 @@ rec { : 1\. Function argument + # Type + + ``` + toList :: (a | [a]) -> [a] + ``` + # Examples :::{.example} ## `lib.lists.toList` usage example @@ -962,6 +974,12 @@ rec { : 4\. Function argument + # Type + + ``` + groupBy' :: (b -> a -> b) -> b -> (a -> string) -> [a] -> Map string b + ``` + # Examples :::{.example} ## `lib.lists.groupBy'` usage example @@ -1128,6 +1146,12 @@ rec { : 3\. Function argument + # Type + + ``` + listDfs :: bool -> (a -> a -> bool) -> [a] -> attrs + ``` + # Examples :::{.example} ## `lib.lists.listDfs` usage example @@ -1193,6 +1217,12 @@ rec { : 2\. Function argument + # Type + + ``` + toposort :: (a -> a -> bool) -> [a] -> attrs + ``` + # Examples :::{.example} ## `lib.lists.toposort` usage example @@ -1364,6 +1394,12 @@ rec { : The second list + # Type + + ``` + compareLists :: (a -> a -> int) -> [a] -> [a] -> int + ``` + # Examples :::{.example} ## `lib.lists.compareLists` usage examples @@ -1403,6 +1439,12 @@ rec { : 1\. Function argument + # Type + + ``` + naturalSort :: [str] -> [str] + ``` + # Examples :::{.example} ## `lib.lists.naturalSort` usage example @@ -1940,6 +1982,12 @@ rec { : Second list + # Type + + ``` + intersectLists :: [a] -> [a] -> [a] + ``` + # Examples :::{.example} ## `lib.lists.intersectLists` usage example @@ -1968,6 +2016,12 @@ rec { : Second list + # Type + + ``` + subtractLists :: [a] -> [a] -> [a] + ``` + # Examples :::{.example} ## `lib.lists.subtractLists` usage example @@ -1994,6 +2048,12 @@ rec { `b` : 2\. Function argument + + # Type + + ``` + mutuallyExclusive :: [a] -> [a] -> bool + ``` */ mutuallyExclusive = a: b: length a == 0 || !(any (x: elem x a) b); @@ -2007,6 +2067,12 @@ rec { : Attribute set with attributes that are lists + # Type + + ``` + concatAttrValues :: (Map string a) -> [a] + ``` + # Examples :::{.example} ## `lib.concatAttrValues` usage example diff --git a/lib/meta.nix b/lib/meta.nix index 62b40344c46b..02dc3744b19d 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -39,6 +39,12 @@ rec { : 2\. Function argument + # Type + + ``` + addMetaAttrs :: attrs -> Derivation -> Derivation + ``` + # Examples :::{.example} ## `lib.meta.addMetaAttrs` usage example @@ -66,6 +72,12 @@ rec { `drv` : 1\. Function argument + + # Type + + ``` + dontDistribute :: Derivation -> Derivation + ``` */ dontDistribute = drv: addMetaAttrs { hydraPlatforms = [ ]; } drv; @@ -85,6 +97,12 @@ rec { `drv` : 2\. Function argument + + # Type + + ``` + setName :: string -> Derivation -> Derivation + ``` */ setName = name: drv: drv // { inherit name; }; @@ -101,6 +119,12 @@ rec { : 2\. Function argument + # Type + + ``` + updateName :: (string -> string) -> Derivation -> Derivation + ``` + # Examples :::{.example} ## `lib.meta.updateName` usage example @@ -122,6 +146,12 @@ rec { `suffix` : 1\. Function argument + + # Type + + ``` + appendToName :: string -> Derivation -> Derivation + ``` */ appendToName = suffix: @@ -145,6 +175,12 @@ rec { `set` : 2\. Function argument + + # Type + + ``` + mapDerivationAttrset :: (Derivation -> a) -> attrs -> attrs + ``` */ mapDerivationAttrset = f: set: lib.mapAttrs (name: pkg: if lib.isDerivation pkg then (f pkg) else pkg) set; @@ -164,6 +200,12 @@ rec { `drv` : 2\. Function argument + + # Type + + ``` + setPrio :: int -> Derivation -> Derivation + ``` */ setPrio = priority: addMetaAttrs { inherit priority; }; @@ -176,6 +218,12 @@ rec { `drv` : 1\. Function argument + + # Type + + ``` + lowPrio :: Derivation -> Derivation + ``` */ lowPrio = setPrio 10; @@ -187,6 +235,12 @@ rec { `set` : 1\. Function argument + + # Type + + ``` + lowPrioSet :: (Map string Derivation) -> (Map string Derivation) + ``` */ lowPrioSet = set: mapDerivationAttrset lowPrio set; @@ -199,6 +253,12 @@ rec { `drv` : 1\. Function argument + + # Type + + ``` + hiPrio :: Derivation -> Derivation + ``` */ hiPrio = setPrio (-10); @@ -210,6 +270,12 @@ rec { `set` : 1\. Function argument + + # Type + + ``` + hiPrioSet :: (Map string Derivation) -> (Map string Derivation) + ``` */ hiPrioSet = set: mapDerivationAttrset hiPrio set; diff --git a/lib/trivial.nix b/lib/trivial.nix index f351fb572fbc..404e90c7554a 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -200,6 +200,12 @@ in `y` : 2\. Function argument + + # Type + + ``` + or :: bool -> bool -> bool + ``` */ "or" = x: y: x || y; @@ -215,6 +221,12 @@ in `y` : 2\. Function argument + + # Type + + ``` + and :: bool -> bool -> bool + ``` */ and = x: y: x && y; @@ -230,6 +242,12 @@ in `y` : 2\. Function argument + + # Type + + ``` + xor :: bool -> bool -> bool + ``` */ # We explicitly invert the arguments purely as a type assertion. # This is invariant under XOR, so it does not affect the result. @@ -237,6 +255,12 @@ in /** bitwise “not” + + # Type + + ``` + bitNot :: number -> number + ``` */ bitNot = builtins.sub (-1); @@ -284,12 +308,6 @@ in /** Merge two attribute sets shallowly, right side trumps left - # Type - - ``` - mergeAttrs :: attrs -> attrs -> attrs - ``` - # Inputs `x` @@ -300,6 +318,12 @@ in : Right attribute set (higher precedence for equal keys) + # Type + + ``` + mergeAttrs :: attrs -> attrs -> attrs + ``` + # Examples :::{.example} ## `lib.trivial.mergeAttrs` usage example @@ -364,6 +388,12 @@ in : 2\. Function argument + # Type + + ``` + defaultTo :: a -> Nullable b -> (a | b) + ``` + # Examples :::{.example} ## `lib.trivial.defaultTo` usage example @@ -394,6 +424,12 @@ in : Argument to check for null before passing it to `f` + # Type + + ``` + mapNullable :: (a -> b) -> Nullable a -> Nullable b + ``` + # Examples :::{.example} ## `lib.trivial.mapNullable` usage example @@ -547,6 +583,12 @@ in `y` : 2\. Function argument + + # Type + + ``` + min :: number -> number -> number + ``` */ min = x: y: if x < y then x else y; @@ -562,6 +604,12 @@ in `y` : 2\. Function argument + + # Type + + ``` + max :: number -> number -> number + ``` */ max = x: y: if x > y then x else y; @@ -578,6 +626,12 @@ in : 2\. Function argument + # Type + + ``` + mod :: int -> int -> int + ``` + # Examples :::{.example} ## `lib.trivial.mod` usage example @@ -611,6 +665,12 @@ in `b` : 2\. Function argument + + # Type + + ``` + compare :: a -> a -> int + ``` */ compare = a: b: @@ -1000,12 +1060,6 @@ in function of the `{ a, b ? foo, ... }:` format, but some facilities like `callPackage` expect to be able to query expected arguments. - # Type - - ``` - setFunctionArgs : (a -> b) -> Map String Bool -> (a -> b) - ``` - # Inputs `f` @@ -1015,6 +1069,12 @@ in `args` : 2\. Function argument + + # Type + + ``` + setFunctionArgs : (a -> b) -> (Map String Bool) -> (a -> b) + ``` */ setFunctionArgs = f: args: { # TODO: Should we add call-time "type" checking like built in? @@ -1028,17 +1088,17 @@ in functions and functions with args set with `setFunctionArgs`. It has the same return type and semantics as `builtins.functionArgs`. - # Type - - ``` - functionArgs : (a -> b) -> Map String Bool - ``` - # Inputs `f` : 1\. Function argument + + # Type + + ``` + functionArgs : (a -> b) -> Map String Bool + ``` */ functionArgs = f: @@ -1056,6 +1116,12 @@ in `f` : 1\. Function argument + + # Type + + ``` + isFunction : a -> bool + ``` */ isFunction = f: builtins.isFunction f || (f ? __functor && isFunction (f.__functor f)); @@ -1178,6 +1244,12 @@ in Convert the given positive integer to a string of its hexadecimal representation. + # Type + + ``` + toHexString :: int -> string + ``` + # Examples :::{.example} ## `lib.trivial.toHexString` usage example @@ -1219,6 +1291,12 @@ in : 2\. Function argument + # Type + + ``` + toBaseDigits :: int -> int -> [int] + ``` + # Examples :::{.example} ## `lib.trivial.toBaseDigits` diff --git a/lib/versions.nix b/lib/versions.nix index 0073c5669743..ed0d5b7dc667 100644 --- a/lib/versions.nix +++ b/lib/versions.nix @@ -8,6 +8,12 @@ rec { /** Break a version string into its component parts. + # Type + + ``` + splitVersion :: string -> [string] + ``` + # Examples :::{.example} ## `splitVersion` usage example @@ -30,6 +36,12 @@ rec { : 1\. Function argument + # Type + + ``` + major :: string -> string + ``` + # Examples :::{.example} ## `major` usage example @@ -52,6 +64,12 @@ rec { : 1\. Function argument + # Type + + ``` + minor :: string -> string + ``` + # Examples :::{.example} ## `minor` usage example @@ -74,6 +92,12 @@ rec { : 1\. Function argument + # Type + + ``` + patch :: string -> string + ``` + # Examples :::{.example} ## `patch` usage example @@ -97,6 +121,12 @@ rec { : 1\. Function argument + # Type + + ``` + mmajorMinor :: string -> string + ``` + # Examples :::{.example} ## `majorMinor` usage example @@ -123,6 +153,12 @@ rec { : 2\. Function argument + # Type + + ``` + pad :: int -> string -> string + ``` + # Examples :::{.example} ## `pad` usage example From 9b2fa26b3c1d3c95074309931d2db973da62df21 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 3 Mar 2026 00:18:31 +0000 Subject: [PATCH 12/92] factoriolab: 3.18.0 -> 3.18.1 --- pkgs/by-name/fa/factoriolab/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fa/factoriolab/package.nix b/pkgs/by-name/fa/factoriolab/package.nix index d065f934c74f..8d8bb29ef2b2 100644 --- a/pkgs/by-name/fa/factoriolab/package.nix +++ b/pkgs/by-name/fa/factoriolab/package.nix @@ -10,13 +10,13 @@ }: buildNpmPackage rec { pname = "factoriolab"; - version = "3.18.0"; + version = "3.18.1"; src = fetchFromGitHub { owner = "factoriolab"; repo = "factoriolab"; tag = "v${version}"; - hash = "sha256-Id0o+Wxt0oNtik3lMHuvdm99HkuPY1XhE5yPCdkR8L4="; + hash = "sha256-PmP6nb74FhNIBoEZoM+xbe5oTG/juWkuvWnk5Zr2WZ4="; fetchLFS = true; }; buildInputs = [ vips ]; From de141ab7f06cbbfe7aba59b3a6b0714fe20e51dc Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 17:24:00 +0800 Subject: [PATCH 13/92] emacs: lint update-from-overlay.py with ruff --- .../emacs/elisp-packages/update-from-overlay.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index cf8a9a47bf1e..3dc35bfa8583 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -1,6 +1,8 @@ #!/usr/bin/env nix-shell #! nix-shell -i python3 -p nix git +# linter: ruff check update-from-overlay.py + import argparse import contextlib import dataclasses @@ -15,8 +17,8 @@ import urllib.request @dataclasses.dataclass class EmacsOverlay: - git_url : str = f'https://github.com/nix-community/emacs-overlay' - raw_url : str = f'https://raw.githubusercontent.com/nix-community/emacs-overlay' + git_url : str = 'https://github.com/nix-community/emacs-overlay' + raw_url : str = 'https://raw.githubusercontent.com/nix-community/emacs-overlay' # The field declaration here is a hack around the error: # ValueError: mutable default for field elisp_packages_set is not allowed: use default_factory # See more at https://peps.python.org/pep-0557/#mutable-default-values @@ -73,7 +75,7 @@ def main (emacs_overlay : EmacsOverlay, args = argument_parser.parse_args() - if args.commit == None: + if args.commit is None: sha = emacs_overlay.master_sha() else: sha = args.commit @@ -217,7 +219,7 @@ def commit_fileset (name: str, sha: str, datestring : str | None, nix_attrs = emacs_overlay.elisp_packages_set[name]['nix_attrs'] basename = emacs_overlay.elisp_packages_set[name]['basename'] - if datestring == None: + if datestring is None: datestring = datetime.datetime.today().strftime('%Y-%m-%d') logger.debug(f'Date string not provided, using {datestring}') else: From 7e461c30769394baa9bfb8f73e18f8d7b1455c9f Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 17:26:14 +0800 Subject: [PATCH 14/92] emacs: format update-from-overlay.py with ruff --- .../elisp-packages/update-from-overlay.py | 302 ++++++++++-------- 1 file changed, 172 insertions(+), 130 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 3dc35bfa8583..e4860da7c683 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -2,6 +2,7 @@ #! nix-shell -i python3 -p nix git # linter: ruff check update-from-overlay.py +# formatter: ruff format update-from-overlay.py import argparse import contextlib @@ -15,63 +16,69 @@ import subprocess import sys import urllib.request + @dataclasses.dataclass class EmacsOverlay: - git_url : str = 'https://github.com/nix-community/emacs-overlay' - raw_url : str = 'https://raw.githubusercontent.com/nix-community/emacs-overlay' + git_url: str = "https://github.com/nix-community/emacs-overlay" + raw_url: str = "https://raw.githubusercontent.com/nix-community/emacs-overlay" # The field declaration here is a hack around the error: # ValueError: mutable default for field elisp_packages_set is not allowed: use default_factory # See more at https://peps.python.org/pep-0557/#mutable-default-values - elisp_packages_set : dict[str, dict] = dataclasses.field(default_factory = lambda: { - 'elpa': { - 'location': 'repos/elpa', - 'basename': 'elpa-generated.nix', - 'nix_attrs': ['elpaPackages'] - }, - 'elpa-devel': { - 'location': 'repos/elpa', - 'basename': 'elpa-devel-generated.nix', - 'nix_attrs': ['elpaDevelPackages'] - }, - 'melpa': { - 'location': 'repos/melpa', - 'basename': 'recipes-archive-melpa.json', - 'nix_attrs': ['melpaPackages', - 'melpaStablePackages'] - }, - 'nongnu': { - 'location': 'repos/nongnu', - 'basename': 'nongnu-generated.nix', - 'nix_attrs': ['nongnuPackages'] - }, - 'nongnu-devel': { - 'location': 'repos/nongnu', - 'basename': 'nongnu-devel-generated.nix', - 'nix_attrs': ['nongnuDevelPackages'] - }, - }) + elisp_packages_set: dict[str, dict] = dataclasses.field( + default_factory=lambda: { + "elpa": { + "location": "repos/elpa", + "basename": "elpa-generated.nix", + "nix_attrs": ["elpaPackages"], + }, + "elpa-devel": { + "location": "repos/elpa", + "basename": "elpa-devel-generated.nix", + "nix_attrs": ["elpaDevelPackages"], + }, + "melpa": { + "location": "repos/melpa", + "basename": "recipes-archive-melpa.json", + "nix_attrs": ["melpaPackages", "melpaStablePackages"], + }, + "nongnu": { + "location": "repos/nongnu", + "basename": "nongnu-generated.nix", + "nix_attrs": ["nongnuPackages"], + }, + "nongnu-devel": { + "location": "repos/nongnu", + "basename": "nongnu-devel-generated.nix", + "nix_attrs": ["nongnuDevelPackages"], + }, + } + ) - def master_sha (self) -> str: - '''Return the SHA of current master tip.''' - cmdline = ['git', 'ls-remote', '--branches', self.git_url, 'refs/heads/master'] - result = subprocess.run(cmdline, capture_output = True, text = True) + def master_sha(self) -> str: + """Return the SHA of current master tip.""" + cmdline = ["git", "ls-remote", "--branches", self.git_url, "refs/heads/master"] + result = subprocess.run(cmdline, capture_output=True, text=True) return result.stdout.split()[0] + @dataclasses.dataclass class HereDirectory: - path : pathlib.Path = pathlib.Path('.').resolve() + path: pathlib.Path = pathlib.Path(".").resolve() def git_root(self) -> pathlib.Path: - '''Returns the root directory of Git repository.''' - cmdline = ['git', 'rev-parse', '--show-toplevel'] - result = subprocess.run(cmdline, capture_output = True, text = True) + """Returns the root directory of Git repository.""" + cmdline = ["git", "rev-parse", "--show-toplevel"] + result = subprocess.run(cmdline, capture_output=True, text=True) return pathlib.Path(result.stdout.rstrip()).resolve() -def main (emacs_overlay : EmacsOverlay, - here_directory : HereDirectory, - argument_parser : argparse.ArgumentParser) -> None: - '''The entry point.''' + +def main( + emacs_overlay: EmacsOverlay, + here_directory: HereDirectory, + argument_parser: argparse.ArgumentParser, +) -> None: + """The entry point.""" args = argument_parser.parse_args() @@ -81,67 +88,80 @@ def main (emacs_overlay : EmacsOverlay, sha = args.commit match args.loglevel.lower(): - case 'debug': + case "debug": loglevel = logging.DEBUG - case 'info': + case "info": loglevel = logging.INFO case _: loglevel = logging.INFO - logger = get_logger(loglevel = loglevel) + logger = get_logger(loglevel=loglevel) - datestring = datetime.datetime.today().strftime('%Y-%m-%d') + datestring = datetime.datetime.today().strftime("%Y-%m-%d") # The loops are decoupled because each phase interferes with the next ones; # e.g. it is pretty possible that an Elisp package updated in fetch_fileset # breaks the check because of another Elisp package. for name in emacs_overlay.elisp_packages_set: - fetch_fileset(name, sha, - emacs_overlay = emacs_overlay, - here_directory = here_directory, - logger = logger) + fetch_fileset( + name, + sha, + emacs_overlay=emacs_overlay, + here_directory=here_directory, + logger=logger, + ) for name in emacs_overlay.elisp_packages_set: - check_fileset(name, - emacs_overlay = emacs_overlay, - here_directory = here_directory, - logger = logger) + check_fileset( + name, + emacs_overlay=emacs_overlay, + here_directory=here_directory, + logger=logger, + ) for name in emacs_overlay.elisp_packages_set: - commit_fileset(name, sha, datestring = datestring, - emacs_overlay = emacs_overlay, - here_directory = here_directory, - logger = logger) + commit_fileset( + name, + sha, + datestring=datestring, + emacs_overlay=emacs_overlay, + here_directory=here_directory, + logger=logger, + ) + def get_argument_parser() -> argparse.ArgumentParser: - '''Return a getopt-style parser for command-line arguments.''' + """Return a getopt-style parser for command-line arguments.""" parser = argparse.ArgumentParser( - description = 'Fetch and commit Elisp package sets from nix-community/emacs-overlay', + description="Fetch and commit Elisp package sets from nix-community/emacs-overlay", ) parser.add_argument( - '--commit', - help = 'Commit to be fetched, in SHA format. If not specified, retrieve the master tip.', - default = None + "--commit", + help="Commit to be fetched, in SHA format. If not specified, retrieve the master tip.", + default=None, ) parser.add_argument( - '--loglevel', - help = 'Level of noisiness of logging messages. Values currently supported: INFO (default), DEBUG.', - default = 'InFo' + "--loglevel", + help="Level of noisiness of logging messages. Values currently supported: INFO (default), DEBUG.", + default="InFo", ) return parser -def get_logger (loglevel: int) -> logging.Logger: - '''Return a basic logging facility to emit messages over console (stdout).''' - logger = logging.getLogger('update-from-overlay') + +def get_logger(loglevel: int) -> logging.Logger: + """Return a basic logging facility to emit messages over console (stdout).""" + logger = logging.getLogger("update-from-overlay") # Set the lowest level here, so that it does not clobber the one provided by # the function argument logger.setLevel(logging.DEBUG) - console_formatter = logging.Formatter(fmt='%(asctime)s - %(levelname)s - %(funcName)s - %(message)s', - datefmt='[%Y-%m-%d %H:%M:%S]') + console_formatter = logging.Formatter( + fmt="%(asctime)s - %(levelname)s - %(funcName)s - %(message)s", + datefmt="[%Y-%m-%d %H:%M:%S]", + ) - console_handler = logging.StreamHandler(stream = sys.stdout) + console_handler = logging.StreamHandler(stream=sys.stdout) console_handler.setLevel(loglevel) console_handler.setFormatter(console_formatter) @@ -149,108 +169,130 @@ def get_logger (loglevel: int) -> logging.Logger: return logger -def fetch_fileset (name: str, sha: str, - emacs_overlay : EmacsOverlay, - here_directory : HereDirectory, - logger : logging.Logger) -> None: - '''Fetch a fileset from emacs overlay. + +def fetch_fileset( + name: str, + sha: str, + emacs_overlay: EmacsOverlay, + here_directory: HereDirectory, + logger: logging.Logger, +) -> None: + """Fetch a fileset from emacs overlay. Arguments: name -- The name of fileset. sha -- The commit SHA of emacs-overlay from which the files are retrieved. - ''' - logger.debug('BEGIN') + """ + logger.debug("BEGIN") - location = emacs_overlay.elisp_packages_set[name]['location'] - basename = emacs_overlay.elisp_packages_set[name]['basename'] - url = f'{emacs_overlay.raw_url}/{sha}/{location}/{basename}' + location = emacs_overlay.elisp_packages_set[name]["location"] + basename = emacs_overlay.elisp_packages_set[name]["basename"] + url = f"{emacs_overlay.raw_url}/{sha}/{location}/{basename}" destination = pathlib.Path(here_directory.path, basename).resolve() - logger.debug(f'Getting {url}') + logger.debug(f"Getting {url}") - with urllib.request.urlopen (url) as input_stream, open(destination, 'wb') as output_file: - logger.info(f'Installing {destination}') + with ( + urllib.request.urlopen(url) as input_stream, + open(destination, "wb") as output_file, + ): + logger.info(f"Installing {destination}") shutil.copyfileobj(input_stream, output_file) - logger.debug('END') + logger.debug("END") -def check_fileset (name: str, - emacs_overlay : EmacsOverlay, - here_directory : HereDirectory, - logger : logging.Logger) -> None: - '''Smoke-test the fileset. + +def check_fileset( + name: str, + emacs_overlay: EmacsOverlay, + here_directory: HereDirectory, + logger: logging.Logger, +) -> None: + """Smoke-test the fileset. Arguments: name -- The name of fileset. - ''' - logger.debug('BEGIN') + """ + logger.debug("BEGIN") - for nix_attr in emacs_overlay.elisp_packages_set[name]['nix_attrs']: - - cmdline = ['nix-instantiate', '--show-trace', here_directory.git_root(), - '-A', f'emacsPackages.{nix_attr}'] + for nix_attr in emacs_overlay.elisp_packages_set[name]["nix_attrs"]: + cmdline = [ + "nix-instantiate", + "--show-trace", + here_directory.git_root(), + "-A", + f"emacsPackages.{nix_attr}", + ] environment = os.environ - environment['NIXPKGS_ALLOW_BROKEN'] = '1' + environment["NIXPKGS_ALLOW_BROKEN"] = "1" - logger.info(f'Testing {nix_attr}') + logger.info(f"Testing {nix_attr}") # TODO: capture the output (to put it in the logfile). - result = subprocess.run(cmdline, capture_output = True, text = True) - logger.debug(f''' + result = subprocess.run(cmdline, capture_output=True, text=True) + logger.debug(f""" Shell Command: {result.args} Output: -{result.stdout}''') +{result.stdout}""") - logger.debug('END') + logger.debug("END") -def commit_fileset (name: str, sha: str, datestring : str | None, - emacs_overlay : EmacsOverlay, - here_directory : HereDirectory, - logger : logging.Logger) -> None: - '''Commit the fileset. + +def commit_fileset( + name: str, + sha: str, + datestring: str | None, + emacs_overlay: EmacsOverlay, + here_directory: HereDirectory, + logger: logging.Logger, +) -> None: + """Commit the fileset. Arguments: name -- The name of fileset. sha -- The commit SHA of emacs-overlay from which the files are retrieved. datestring -- The date to be written on commit message. If None, use the current time. - ''' - logger.debug('BEGIN') + """ + logger.debug("BEGIN") - nix_attrs = emacs_overlay.elisp_packages_set[name]['nix_attrs'] - basename = emacs_overlay.elisp_packages_set[name]['basename'] + nix_attrs = emacs_overlay.elisp_packages_set[name]["nix_attrs"] + basename = emacs_overlay.elisp_packages_set[name]["basename"] if datestring is None: - datestring = datetime.datetime.today().strftime('%Y-%m-%d') - logger.debug(f'Date string not provided, using {datestring}') + datestring = datetime.datetime.today().strftime("%Y-%m-%d") + logger.debug(f"Date string not provided, using {datestring}") else: - logger.debug(f'Date string was provided: {datestring}') + logger.debug(f"Date string was provided: {datestring}") - cmdline_verify = ['git', 'diff', '--exit-code', '--quiet', '--', basename] + cmdline_verify = ["git", "diff", "--exit-code", "--quiet", "--", basename] result_verify = subprocess.run(cmdline_verify) if result_verify.returncode != 0: - attrs = ', '.join(nix_attrs) - commit_message = f'''{attrs}: Updated at {datestring} (from emacs-overlay) + attrs = ", ".join(nix_attrs) + commit_message = f"""{attrs}: Updated at {datestring} (from emacs-overlay) emacs-overlay commit: {sha} -''' - cmdline_commit = ['git', 'commit', '--message', commit_message, '--', basename] - result_commit = subprocess.run(cmdline_commit, capture_output = True, text = True) - logger.info(f'File {basename} committed') - logger.debug(f''' +""" + cmdline_commit = ["git", "commit", "--message", commit_message, "--", basename] + result_commit = subprocess.run(cmdline_commit, capture_output=True, text=True) + logger.info(f"File {basename} committed") + logger.debug(f""" Shell Command: {result_commit.args} Output: -{result_commit.stdout}''') +{result_commit.stdout}""") else: - logger.info(f'File {basename} not modified, skipping') + logger.info(f"File {basename} not modified, skipping") - logger.debug('END') + logger.debug("END") -if __name__ == '__main__': + +if __name__ == "__main__": emacs_overlay = EmacsOverlay() here_directory = HereDirectory() argument_parser = get_argument_parser() with contextlib.chdir(here_directory.path): - main(emacs_overlay = emacs_overlay, - here_directory = here_directory, - argument_parser = argument_parser) + main( + emacs_overlay=emacs_overlay, + here_directory=here_directory, + argument_parser=argument_parser, + ) From ae4c428a2f5500e2204788d81d8102449edc3ce9 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 17:27:20 +0800 Subject: [PATCH 15/92] emacs: type-check update-from-overlay.py with mypy --- .../editors/emacs/elisp-packages/update-from-overlay.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index e4860da7c683..8719a66d5950 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -3,6 +3,7 @@ # linter: ruff check update-from-overlay.py # formatter: ruff format update-from-overlay.py +# type-checker: mypy update-from-overlay.py import argparse import contextlib @@ -220,7 +221,7 @@ def check_fileset( cmdline = [ "nix-instantiate", "--show-trace", - here_directory.git_root(), + str(here_directory.git_root()), "-A", f"emacsPackages.{nix_attr}", ] From 16a6f461315634a7de8a3aaa90fbb786293e5cbc Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 17:30:47 +0800 Subject: [PATCH 16/92] emacs: exit update-from-overlay.py if subprocess fails to run --- .../emacs/elisp-packages/update-from-overlay.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 8719a66d5950..36a20c50a49b 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -58,7 +58,7 @@ class EmacsOverlay: def master_sha(self) -> str: """Return the SHA of current master tip.""" cmdline = ["git", "ls-remote", "--branches", self.git_url, "refs/heads/master"] - result = subprocess.run(cmdline, capture_output=True, text=True) + result = subprocess.run(cmdline, capture_output=True, text=True, check=True) return result.stdout.split()[0] @@ -69,7 +69,7 @@ class HereDirectory: def git_root(self) -> pathlib.Path: """Returns the root directory of Git repository.""" cmdline = ["git", "rev-parse", "--show-toplevel"] - result = subprocess.run(cmdline, capture_output=True, text=True) + result = subprocess.run(cmdline, capture_output=True, text=True, check=True) return pathlib.Path(result.stdout.rstrip()).resolve() @@ -230,7 +230,7 @@ def check_fileset( logger.info(f"Testing {nix_attr}") # TODO: capture the output (to put it in the logfile). - result = subprocess.run(cmdline, capture_output=True, text=True) + result = subprocess.run(cmdline, capture_output=True, text=True, check=True) logger.debug(f""" Shell Command: {result.args} Output: @@ -275,7 +275,9 @@ def commit_fileset( emacs-overlay commit: {sha} """ cmdline_commit = ["git", "commit", "--message", commit_message, "--", basename] - result_commit = subprocess.run(cmdline_commit, capture_output=True, text=True) + result_commit = subprocess.run( + cmdline_commit, capture_output=True, text=True, check=True + ) logger.info(f"File {basename} committed") logger.debug(f""" Shell Command: {result_commit.args} From b8448e0686d5d073a3a4069648a0704e985f3a45 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 22:30:26 +0800 Subject: [PATCH 17/92] emacs: allow running update-from-overlay.py anywhere in Nixpkgs --- .../editors/emacs/elisp-packages/update-from-overlay.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 36a20c50a49b..c57ed0fde639 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -64,7 +64,7 @@ class EmacsOverlay: @dataclasses.dataclass class HereDirectory: - path: pathlib.Path = pathlib.Path(".").resolve() + path: pathlib.Path = pathlib.Path(__file__).resolve().parent def git_root(self) -> pathlib.Path: """Returns the root directory of Git repository.""" From 64f3c34d7c2c1ee336a86b9aab51986daa9c70bc Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 22:31:26 +0800 Subject: [PATCH 18/92] emacs: simplify path operation in update-from-overlay.py --- .../editors/emacs/elisp-packages/update-from-overlay.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index c57ed0fde639..5805a755ba74 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -190,7 +190,7 @@ def fetch_fileset( basename = emacs_overlay.elisp_packages_set[name]["basename"] url = f"{emacs_overlay.raw_url}/{sha}/{location}/{basename}" - destination = pathlib.Path(here_directory.path, basename).resolve() + destination = here_directory.path / basename logger.debug(f"Getting {url}") From d4cc578e2335dd63694fe232a3c1995c50483635 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 22:39:27 +0800 Subject: [PATCH 19/92] emacs: use relative downloaded paths in update-from-overlay.py We chdir to the dir where update-from-overlay.py is in. So we can use relative paths. This also aligns with how we use paths in git commit. --- .../editors/emacs/elisp-packages/update-from-overlay.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 5805a755ba74..cde191f5f05c 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -108,7 +108,6 @@ def main( name, sha, emacs_overlay=emacs_overlay, - here_directory=here_directory, logger=logger, ) @@ -175,7 +174,6 @@ def fetch_fileset( name: str, sha: str, emacs_overlay: EmacsOverlay, - here_directory: HereDirectory, logger: logging.Logger, ) -> None: """Fetch a fileset from emacs overlay. @@ -190,15 +188,13 @@ def fetch_fileset( basename = emacs_overlay.elisp_packages_set[name]["basename"] url = f"{emacs_overlay.raw_url}/{sha}/{location}/{basename}" - destination = here_directory.path / basename - logger.debug(f"Getting {url}") with ( urllib.request.urlopen(url) as input_stream, - open(destination, "wb") as output_file, + open(basename, "wb") as output_file, ): - logger.info(f"Installing {destination}") + logger.info(f"Installing {basename}") shutil.copyfileobj(input_stream, output_file) logger.debug("END") From af4ef2b81470ef6fc442b5b2b02c1b1204ae3a1e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 3 Mar 2026 17:05:43 +0000 Subject: [PATCH 20/92] rpl: 1.18 -> 1.18.1 --- pkgs/by-name/rp/rpl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/rp/rpl/package.nix b/pkgs/by-name/rp/rpl/package.nix index 0a484e5e8723..d1516b3bcb05 100644 --- a/pkgs/by-name/rp/rpl/package.nix +++ b/pkgs/by-name/rp/rpl/package.nix @@ -6,13 +6,13 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "rpl"; - version = "1.18"; + version = "1.18.1"; pyproject = true; src = fetchPypi { inherit (finalAttrs) pname version; - hash = "sha256-N4043ig/ZoL4XpNpU5bzRh1xl3jheoAT9kvYfX9nHX4="; + hash = "sha256-Fr0BMv+QMhVaHMg+Xd7pPe4/swH0dBADABKgbSIjUCo="; }; nativeBuildInputs = [ From 43dbe524390aefd542da295cecb81da003d61d40 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 3 Mar 2026 18:24:24 +0000 Subject: [PATCH 21/92] yt-dlp: 2026.02.21 -> 2026.03.03 --- pkgs/by-name/yt/yt-dlp/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/yt/yt-dlp/package.nix b/pkgs/by-name/yt/yt-dlp/package.nix index 768b0b6df558..c5bdeabf04da 100644 --- a/pkgs/by-name/yt/yt-dlp/package.nix +++ b/pkgs/by-name/yt/yt-dlp/package.nix @@ -23,14 +23,14 @@ python3Packages.buildPythonApplication rec { # The websites yt-dlp deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2026.02.21"; + version = "2026.03.03"; pyproject = true; src = fetchFromGitHub { owner = "yt-dlp"; repo = "yt-dlp"; tag = version; - hash = "sha256-r9I/zLyqGPeIzsHsLxJcfnLC3jpuyKMyX1UaMoM08jk="; + hash = "sha256-BPZzMT1IrZvgva/m5tYMaDYoUaP3VmpmcYeOUOwuoUY="; }; postPatch = '' From e394a579b01a994d7c487e49dd2aaa7d97ebf16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Tue, 3 Mar 2026 18:12:20 +0300 Subject: [PATCH 22/92] lib: update type signatures - concrete types start with uppercase: Int, String, Bool, Derivation, etc. - type variables start with lowercase: a, b, etc. - list: - use `[x]` for homogeneous lists instead of `List x` or `[ x ]` - use `List` for heterogeneous lists (not that common in `lib`) - attr: - use `AttrSet` for a generic attribute set type - use `{ key1 :: Type1; key2 :: Type2; ... }` for adding signatures for known attribute names and types - use `{ key1 = value1; key2 = value2; ... }` for adding attributes with known literals - end with an ellipsis (`...`) if the set can contain unknown attributes - use `{ [String] :: x }` if all the attributes has the same type `x` - prefer `Any` over `a` if the latter is not reused --- lib/asserts.nix | 6 +- lib/attrsets.nix | 50 ++-- lib/customisation.nix | 57 +++-- lib/debug.nix | 12 +- lib/derivations.nix | 4 +- lib/fetchers.nix | 4 +- lib/fileset/internal.nix | 268 +++++++++++++++----- lib/filesystem.nix | 12 +- lib/fixed-points.nix | 19 +- lib/generators.nix | 4 +- lib/gvariant.nix | 40 +-- lib/lists.nix | 58 ++--- lib/meta.nix | 46 ++-- lib/modules.nix | 2 +- lib/network/internal.nix | 6 +- lib/options.nix | 10 +- lib/path/default.nix | 10 +- lib/sources.nix | 6 +- lib/strings-with-deps.nix | 2 +- lib/strings.nix | 142 +++++------ lib/systems/architectures.nix | 4 +- lib/trivial.nix | 60 ++--- lib/versions.nix | 12 +- pkgs/build-support/compress-drv/default.nix | 2 +- pkgs/build-support/compress-drv/web.nix | 4 +- pkgs/build-support/setup-systemd-units.nix | 2 +- pkgs/build-support/writers/scripts.nix | 4 +- 27 files changed, 505 insertions(+), 341 deletions(-) diff --git a/lib/asserts.nix b/lib/asserts.nix index ce9dea76bbce..f35924004bbd 100644 --- a/lib/asserts.nix +++ b/lib/asserts.nix @@ -70,7 +70,7 @@ rec { # Type ``` - assertOneOf :: String -> ComparableVal -> List ComparableVal -> Bool + assertOneOf :: String -> ComparableVal -> [ComparableVal] -> Bool ``` # Examples @@ -115,7 +115,7 @@ rec { # Type ``` - assertEachOneOf :: String -> List ComparableVal -> List ComparableVal -> Bool + assertEachOneOf :: String -> [ComparableVal] -> [ComparableVal] -> Bool ``` # Examples @@ -164,7 +164,7 @@ rec { # Type ``` - checkAssertWarn :: [ { assertion :: Bool; message :: String } ] -> [ String ] -> Any -> Any + checkAssertWarn :: [{ assertion :: Bool; message :: String; }] -> [String] -> a -> a ``` # Examples diff --git a/lib/attrsets.nix b/lib/attrsets.nix index a69fc49e5dca..dac850823242 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -201,7 +201,7 @@ rec { # Type ``` - longestValidPathPrefix :: [String] -> Value -> [String] + longestValidPathPrefix :: [String] -> AttrSet -> [String] ``` # Examples @@ -352,7 +352,7 @@ rec { # Type ``` - concatMapAttrs :: (String -> a -> AttrSet) -> AttrSet -> AttrSet + concatMapAttrs :: (String -> Any -> AttrSet) -> AttrSet -> AttrSet ``` # Examples @@ -514,7 +514,7 @@ rec { # Type ``` - attrVals :: [String] -> AttrSet -> [Any] + attrVals :: [String] -> { [String] :: a } -> [a] ``` # Examples @@ -537,7 +537,7 @@ rec { # Type ``` - attrValues :: AttrSet -> [Any] + attrValues :: { [String] :: a } -> [a] ``` # Examples @@ -570,7 +570,7 @@ rec { # Type ``` - getAttrs :: [String] -> AttrSet -> AttrSet + getAttrs :: [String] -> { [String] :: a } -> { [String] :: a } ``` # Examples @@ -603,7 +603,7 @@ rec { # Type ``` - catAttrs :: String -> [AttrSet] -> [Any] + catAttrs :: String -> [{ [String] :: a }] -> [a] ``` # Examples @@ -646,7 +646,7 @@ rec { # Type ``` - filterAttrs :: (String -> Any -> Bool) -> AttrSet -> AttrSet + filterAttrs :: (String -> a -> Bool) -> { [String] :: a } -> { [String] :: a } ``` # Examples @@ -737,7 +737,7 @@ rec { # Type ``` - foldlAttrs :: ( a -> String -> b -> a ) -> a -> { ... :: b } -> a + foldlAttrs :: ( a -> String -> b -> a ) -> a -> { [String] :: b } -> a ``` # Examples @@ -812,7 +812,7 @@ rec { # Type ``` - foldAttrs :: (Any -> Any -> Any) -> Any -> [AttrSets] -> Any + foldAttrs :: (a -> b -> b) -> b -> [{ [String] :: a }] -> { [String] :: b } ``` # Examples @@ -850,7 +850,7 @@ rec { # Type ``` - collect :: (AttrSet -> Bool) -> AttrSet -> [x] + collect :: (AttrSet -> Bool) -> AttrSet -> [Any] ``` # Examples @@ -889,7 +889,7 @@ rec { # Type ``` - cartesianProduct :: AttrSet -> [AttrSet] + cartesianProduct :: { [String] :: [a] } -> [{ [String] :: a }] ``` # Examples @@ -934,7 +934,7 @@ rec { # Type ``` - mapCartesianProduct :: (AttrSet -> a) -> AttrSet -> [a] + mapCartesianProduct :: ({ [String] :: a } -> b) -> { [String] :: a } -> [b] ``` # Examples @@ -966,7 +966,7 @@ rec { # Type ``` - nameValuePair :: String -> Any -> { name :: String; value :: Any; } + nameValuePair :: String -> a -> { name :: String; value :: a; } ``` # Examples @@ -998,7 +998,7 @@ rec { # Type ``` - mapAttrs :: (String -> Any -> Any) -> AttrSet -> AttrSet + mapAttrs :: (String -> a -> b) -> { [String] :: a } -> { [String] :: b } ``` # Examples @@ -1033,7 +1033,7 @@ rec { # Type ``` - mapAttrs' :: (String -> Any -> { name :: String; value :: Any; }) -> AttrSet -> AttrSet + mapAttrs' :: (String -> a -> { name :: String; value :: b; }) -> { [String] :: a } -> { [String] :: b } ``` # Examples @@ -1067,7 +1067,7 @@ rec { # Type ``` - mapAttrsToList :: (String -> a -> b) -> AttrSet -> [b] + mapAttrsToList :: (String -> a -> b) -> { [String] :: a } -> [b] ``` # Examples @@ -1113,7 +1113,7 @@ rec { # Type ``` - attrsToList :: AttrSet -> [ { name :: String; value :: Any; } ] + attrsToList :: { [String] :: a } -> [{ name :: String; value :: a; }] ``` # Examples @@ -1327,7 +1327,7 @@ rec { # Type ``` - genAttrs :: [ String ] -> (String -> Any) -> AttrSet + genAttrs :: [String] -> (String -> a) -> { [String] :: a } ``` # Examples @@ -1364,7 +1364,7 @@ rec { # Type ``` - genAttrs' :: [ Any ] -> (Any -> { name :: String; value :: Any; }) -> AttrSet + genAttrs' :: [a] -> (a -> { name :: String; value :: b; }) -> { [String] :: b } ``` # Examples @@ -1498,7 +1498,7 @@ rec { # Type ``` - zipAttrsWithNames :: [ String ] -> (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet + zipAttrsWithNames :: [String] -> (String -> [a] -> b) -> [{ [String] :: a }] -> { [String] :: b } ``` # Examples @@ -1533,7 +1533,7 @@ rec { # Type ``` - zipAttrsWith :: (String -> [ Any ] -> Any) -> [ AttrSet ] -> AttrSet + zipAttrsWith :: (String -> [a] -> b) -> [{ [String] :: a }] -> { [String] :: b } ``` # Examples @@ -1558,7 +1558,7 @@ rec { # Type ``` - zipAttrs :: [ AttrSet ] -> AttrSet + zipAttrs :: [{ [String] :: a }] -> { [String] :: [a] } ``` # Examples @@ -1589,7 +1589,7 @@ rec { # Type ``` - mergeAttrsList :: [ Attrs ] -> Attrs + mergeAttrsList :: [AttrSet] -> AttrSet ``` # Examples @@ -1609,7 +1609,7 @@ rec { list: let # `binaryMerge start end` merges the elements at indices `index` of `list` such that `start <= index < end` - # Type: Int -> Int -> Attrs + # Type: Int -> Int -> AttrSet binaryMerge = start: end: # assert start < end; # Invariant @@ -1669,7 +1669,7 @@ rec { # Type ``` - recursiveUpdateUntil :: ( [ String ] -> AttrSet -> AttrSet -> Bool ) -> AttrSet -> AttrSet -> AttrSet + recursiveUpdateUntil :: ([String] -> AttrSet -> AttrSet -> Bool) -> AttrSet -> AttrSet -> AttrSet ``` # Examples diff --git a/lib/customisation.nix b/lib/customisation.nix index 32bc70f61fde..c44dbb5f9270 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -626,7 +626,7 @@ rec { # Type ``` - makeScope :: (AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a) -> (AttrSet -> AttrSet) -> scope + makeScope :: (AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a) -> (AttrSet -> AttrSet) -> Scope ``` */ makeScope = @@ -689,20 +689,20 @@ rec { ``` makeScopeWithSplicing' :: - { splicePackages :: Splice -> AttrSet - , newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a + { splicePackages :: Splice -> AttrSet; + newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a; } - -> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet } + -> { otherSplices :: Splice; keep :: AttrSet -> AttrSet; extra :: AttrSet -> AttrSet; } -> AttrSet - Splice :: - { pkgsBuildBuild :: AttrSet - , pkgsBuildHost :: AttrSet - , pkgsBuildTarget :: AttrSet - , pkgsHostHost :: AttrSet - , pkgsHostTarget :: AttrSet - , pkgsTargetTarget :: AttrSet - } + Splice :: { + pkgsBuildBuild :: AttrSet; + pkgsBuildHost :: AttrSet; + pkgsBuildTarget :: AttrSet; + pkgsHostHost :: AttrSet; + pkgsHostTarget :: AttrSet; + pkgsTargetTarget :: AttrSet; + } ``` */ makeScopeWithSplicing' = @@ -806,17 +806,16 @@ rec { ``` extendMkDerivation :: { - constructDrv :: ((FixedPointArgs | AttrSet) -> a) - excludeDrvArgNames :: [ String ], - excludeFunctionArgNames :: [ String ] - extendDrvArgs :: (AttrSet -> AttrSet -> AttrSet) - inheritFunctionArgs :: Bool, - transformDrv :: a -> a, + constructDrv :: (FixedPointArgs | AttrSet) -> Derivation; + excludeDrvArgNames :: [String]; + excludeFunctionArgNames :: [String]; + extendDrvArgs :: AttrSet -> AttrSet -> AttrSet; + inheritFunctionArgs :: Bool; + transformDrv :: Derivation -> Derivation; } - -> (FixedPointArgs | AttrSet) -> a + -> ((FixedPointArgs | AttrSet) -> Derivation) - FixedPointArgs = AttrSet -> AttrSet - a = Derivation when defining a build helper + FixedPointArgs :: AttrSet -> AttrSet ``` # Examples @@ -998,7 +997,21 @@ rec { # Type ``` - mapCrossIndex :: (a -> b) -> AttrSet -> AttrSet + mapCrossIndex :: (a -> b) -> { + buildBuild :: a; + buildHost :: a; + buildTarget :: a; + hostHost :: a; + hostTarget :: a; + targetTarget :: a; + } -> { + buildBuild :: b; + buildHost :: b; + buildTarget :: b; + hostHost :: b; + hostTarget :: b; + targetTarget :: b; + } ``` # Examples diff --git a/lib/debug.nix b/lib/debug.nix index 79b1d61dfcb8..0132da9d779e 100644 --- a/lib/debug.nix +++ b/lib/debug.nix @@ -60,7 +60,7 @@ rec { # Type ``` - traceIf :: bool -> string -> a -> a + traceIf :: Bool -> String -> a -> a ``` # Examples @@ -327,7 +327,7 @@ rec { # Type ``` - traceValSeqNFn :: (a -> b) -> int -> a -> a + traceValSeqNFn :: (a -> b) -> Int -> a -> a ``` # Examples @@ -362,7 +362,7 @@ rec { # Type ``` - traceValSeqN :: int -> a -> a + traceValSeqN :: Int -> a -> a ``` # Examples @@ -407,7 +407,7 @@ rec { # Type ``` - traceFnSeqN :: int -> string -> (a -> b) -> a -> b + traceFnSeqN :: Int -> String -> (a -> b) -> a -> b ``` # Examples @@ -466,7 +466,7 @@ rec { ``` runTests :: { - tests = [ String ]; + tests :: [String]; ${testName} :: { expr :: a; expected :: a; @@ -566,7 +566,7 @@ rec { ]; } -> - null + Null ``` # Examples diff --git a/lib/derivations.nix b/lib/derivations.nix index f207134708be..939010bfbb3f 100644 --- a/lib/derivations.nix +++ b/lib/derivations.nix @@ -195,7 +195,7 @@ in # Type ``` - optionalDrvAttr :: Bool -> a -> a | Null + optionalDrvAttr :: Bool -> a -> (a | Null) ``` # Examples @@ -236,7 +236,7 @@ in # Type ``` - warnOnInstantiate :: string -> Derivation -> Derivation + warnOnInstantiate :: String -> Derivation -> Derivation ``` # Examples diff --git a/lib/fetchers.nix b/lib/fetchers.nix index 34698ad872bb..402c18ab1fc4 100644 --- a/lib/fetchers.nix +++ b/lib/fetchers.nix @@ -45,7 +45,7 @@ rec { # Type ``` - normalizeHash :: { hashTypes :: List String, required :: Bool } -> AttrSet -> AttrSet + normalizeHash :: { hashTypes :: [String]; required :: Bool; } -> AttrSet -> AttrSet ``` # Arguments @@ -157,7 +157,7 @@ rec { # Type ``` - withNormalizedHash :: { hashTypes :: List String } -> (AttrSet -> T) -> (AttrSet -> T) + withNormalizedHash :: { hashTypes :: [String]; } -> (AttrSet -> a) -> (AttrSet -> a) ``` # Arguments diff --git a/lib/fileset/internal.nix b/lib/fileset/internal.nix index 4579831c2e05..08db1a38c1d0 100644 --- a/lib/fileset/internal.nix +++ b/lib/fileset/internal.nix @@ -139,8 +139,15 @@ rec { _noEval = throw _noEvalMessage; }; - # Create a fileset, see ./README.md#fileset - # Type: path -> filesetTree -> fileset + /** + Create a fileset, see ./README.md#fileset + + # Type + + ``` + _create :: Path -> FileSetTree -> FileSet + ``` + */ _create = base: tree: let @@ -165,12 +172,18 @@ rec { _noEval = throw _noEvalMessage; }; - # Coerce a value to a fileset. Return a set containing the attribute `success` - # indicating whether coercing succeeded, and either `value` when `success == - # true`, or an error `message` when `success == false`. The string gives the - # context for error messages. - # - # Type: String -> (fileset | Path) -> { success :: Bool, value :: fileset } ] -> { success :: Bool, message :: String } + /** + Coerce a value to a fileset. Return a set containing the attribute `success` + indicating whether coercing succeeded, and either `value` when `success == + true`, or an error `message` when `success == false`. The string gives the + context for error messages. + + # Type + + ``` + _coerceResult :: String -> (FileSet | Path) -> ({ success :: Bool; value :: FileSet; } | { success :: Bool; message :: String; }) + ``` + */ _coerceResult = let ok = value: { @@ -219,9 +232,16 @@ rec { else ok (_singleton value); - # Coerce a value to a fileset, erroring when the value cannot be coerced. - # The string gives the context for error messages. - # Type: String -> (fileset | Path) -> fileset + /** + Coerce a value to a fileset, erroring when the value cannot be coerced. + The string gives the context for error messages. + + # Type + + ``` + _coerce :: String -> (FileSet | Path) -> FileSet + ``` + */ _coerce = context: value: let @@ -229,9 +249,16 @@ rec { in if result.success then result.value else throw result.message; - # Coerce many values to filesets, erroring when any value cannot be coerced, - # or if the filesystem root of the values doesn't match. - # Type: String -> [ { context :: String, value :: fileset | Path } ] -> [ fileset ] + /** + Coerce many values to filesets, erroring when any value cannot be coerced, + or if the filesystem root of the values doesn't match. + + # Type + + ``` + _coerceMany :: String -> [{ context :: String; value :: FileSet | Path; }] -> [FileSet] + ``` + */ _coerceMany = functionContext: list: let @@ -259,8 +286,15 @@ rec { else filesets; - # Create a file set from a path. - # Type: Path -> fileset + /** + Create a file set from a path. + + # Type + + ``` + _singleton :: Path -> FileSet + ``` + */ _singleton = path: let @@ -279,9 +313,16 @@ rec { ${baseNameOf path} = type; }; - # Expand a directory representation to an equivalent one in attribute set form. - # All directory entries are included in the result. - # Type: Path -> filesetTree -> { = filesetTree; } + /** + Expand a directory representation to an equivalent one in attribute set form. + All directory entries are included in the result. + + # Type + + ``` + _directoryEntries :: Path -> FileSetTree -> { [String] :: FileSetTree } + ``` + */ _directoryEntries = path: value: if value == "directory" then @@ -312,7 +353,7 @@ rec { # Type ``` - Path -> filesetTree -> filesetTree + _normaliseTreeFilter :: Path -> FileSetTree -> FileSetTree ``` */ _normaliseTreeFilter = @@ -357,7 +398,7 @@ rec { # Type ``` - Path -> filesetTree -> filesetTree (with "emptyDir"'s) + _normaliseTreeMinimal :: Path -> FileSetTree -> FileSetTree (with "emptyDir"'s) ``` */ _normaliseTreeMinimal = @@ -391,9 +432,16 @@ rec { else tree; - # Trace a filesetTree in a pretty way when the resulting value is evaluated. - # This can handle both normal filesetTree's, and ones returned from _normaliseTreeMinimal - # Type: Path -> filesetTree (with "emptyDir"'s) -> Null + /** + Trace a filesetTree in a pretty way when the resulting value is evaluated. + This can handle both normal filesetTree's, and ones returned from _normaliseTreeMinimal + + # Type + + ``` + _printMinimalTree :: Path -> FileSetTree (with "emptyDir"'s) -> Null + ``` + */ _printMinimalTree = base: tree: let @@ -443,8 +491,15 @@ rec { in if isAttrs tree then traceTreeAttrs firstLine "" tree else firstLine; - # Pretty-print a file set in a pretty way when the resulting value is evaluated - # Type: fileset -> Null + /** + Pretty-print a file set in a pretty way when the resulting value is evaluated + + # Type + + ``` + _printFileset :: FileSet -> Null + ``` + */ _printFileset = fileset: if fileset._internalIsEmptyWithoutBase then @@ -454,9 +509,16 @@ rec { _normaliseTreeMinimal fileset._internalBase fileset._internalTree ); - # Turn a fileset into a source filter function suitable for `builtins.path` - # Only directories recursively containing at least one files are recursed into - # Type: fileset -> (String -> String -> Bool) + /** + Turn a fileset into a source filter function suitable for `builtins.path` + Only directories recursively containing at least one files are recursed into + + # Type + + ``` + _toSourceFilter :: FileSet -> (String -> String -> Bool) + ``` + */ _toSourceFilter = fileset: let @@ -476,7 +538,7 @@ rec { # Check whether a list of path components under the base path exists in the tree. # This function is called often, so it should be fast. - # Type: [ String ] -> Bool + # Type: [String] -> Bool inTree = components: let @@ -551,10 +613,17 @@ rec { # This also forces the tree before returning the filter, leads to earlier error messages if fileset._internalIsEmptyWithoutBase || tree == null then empty else nonEmpty; - # Turn a builtins.filterSource-based source filter on a root path into a file set - # containing only files included by the filter. - # The filter is lazily called as necessary to determine whether paths are included - # Type: Path -> (String -> String -> Bool) -> fileset + /** + Turn a builtins.filterSource-based source filter on a root path into a file set + containing only files included by the filter. + The filter is lazily called as necessary to determine whether paths are included + + # Type + + ``` + _fromSourceFilter :: Path -> (String -> String -> Bool) -> FileSet + ``` + */ _fromSourceFilter = root: sourceFilter: let @@ -606,8 +675,15 @@ rec { ${baseNameOf root} = rootPathType; }; - # Turns a file set into the list of file paths it includes. - # Type: fileset -> [ Path ] + /** + Turns a file set into the list of file paths it includes. + + # Type + + ``` + _toList :: FileSet -> [Path] + ``` + */ _toList = fileset: let @@ -668,9 +744,16 @@ rec { in recurse (length fileset._internalBaseComponents) fileset._internalTree; - # Computes the union of a list of filesets. - # The filesets must already be coerced and validated to be in the same filesystem root - # Type: [ Fileset ] -> Fileset + /** + Computes the union of a list of filesets. + The filesets must already be coerced and validated to be in the same filesystem root + + # Type + + ``` + _unionMany :: [FileSet] -> FileSet + ``` + */ _unionMany = filesets: let @@ -715,9 +798,16 @@ rec { # If there's no values with a base, we have no files if filesetsWithBase == [ ] then _emptyWithoutBase else _create commonBase resultTree; - # The union of multiple filesetTree's with the same base path. - # Later elements are only evaluated if necessary. - # Type: [ filesetTree ] -> filesetTree + /** + The union of multiple filesetTree's with the same base path. + Later elements are only evaluated if necessary. + + # Type + + ``` + _unionTrees :: [FileSetTree] -> FileSetTree + ``` + */ _unionTrees = trees: let @@ -736,9 +826,16 @@ rec { # We need to recurse into those zipAttrsWith (name: _unionTrees) withoutNull; - # Computes the intersection of a list of filesets. - # The filesets must already be coerced and validated to be in the same filesystem root - # Type: Fileset -> Fileset -> Fileset + /** + Computes the intersection of two filesets. + The filesets must already be coerced and validated to be in the same filesystem root + + # Type + + ``` + _intersection :: FileSet -> FileSet -> FileSet + ``` + */ _intersection = fileset1: fileset2: let @@ -787,9 +884,16 @@ rec { else _create longestBaseFileset._internalBase resultTree; - # The intersection of two filesetTree's with the same base path - # The second element is only evaluated as much as necessary. - # Type: filesetTree -> filesetTree -> filesetTree + /** + The intersection of two filesetTree's with the same base path + The second element is only evaluated as much as necessary. + + # Type + + ``` + _intersectTree :: FileSetTree -> FileSetTree -> FileSetTree + ``` + */ _intersectTree = lhs: rhs: if isAttrs lhs && isAttrs rhs then @@ -804,9 +908,16 @@ rec { # In all other cases it's the rhs rhs; - # Compute the set difference between two file sets. - # The filesets must already be coerced and validated to be in the same filesystem root. - # Type: Fileset -> Fileset -> Fileset + /** + Compute the set difference between two file sets. + The filesets must already be coerced and validated to be in the same filesystem root. + + # Type + + ``` + _difference :: FileSet -> FileSet -> FileSet + ``` + */ _difference = positive: negative: let @@ -862,8 +973,15 @@ rec { # which is what base path is for _create positive._internalBase resultingTree; - # Computes the set difference of two filesetTree's - # Type: Path -> filesetTree -> filesetTree + /** + Computes the set difference of two filesetTree's + + # Type + + ``` + _differenceTree :: Path -> FileSetTree -> FileSetTree -> FileSetTree + ``` + */ _differenceTree = path: lhs: rhs: # If the lhs doesn't have any files, or the right hand side includes all files @@ -880,13 +998,20 @@ rec { _directoryEntries path lhs ); - # Filters all files in a path based on a predicate - # Type: ({ name, type, ... } -> Bool) -> Path -> FileSet + /** + Filters all files in a path based on a predicate + + # Type + + ``` + _fileFilter :: ({ name :: String; type :: String; hasExt :: String -> Bool; ... } -> Bool) -> Path -> FileSet + ``` + */ _fileFilter = predicate: root: let # Check the predicate for a single file - # Type: String -> String -> filesetTree + # Type: String -> String -> FileSetTree fromFile = name: type: if @@ -905,7 +1030,7 @@ rec { null; # Check the predicate for all files in a directory - # Type: Path -> filesetTree + # Type: Path -> FileSetTree fromDir = path: mapAttrs ( @@ -922,12 +1047,18 @@ rec { ${baseNameOf root} = fromFile (baseNameOf root) rootType; }; - # Mirrors the contents of a Nix store path relative to a local path as a file set. - # Some notes: - # - The store path is read at evaluation time. - # - The store path must not include files that don't exist in the respective local path. - # - # Type: Path -> String -> FileSet + /** + Mirrors the contents of a Nix store path relative to a local path as a file set. + Some notes: + - The store path is read at evaluation time. + - The store path must not include files that don't exist in the respective local path. + + # Type + + ``` + _mirrorStorePath :: Path -> String -> FileSet + ``` + */ _mirrorStorePath = localPath: storePath: let @@ -939,8 +1070,15 @@ rec { in _create localPath (recurse storePath); - # Create a file set from the files included in the result of a fetchGit call - # Type: String -> String -> Path -> Attrs -> FileSet + /** + Create a file set from the files included in the result of a fetchGit call + + # Type + + ``` + _fromFetchGit :: String -> String -> Path -> AttrSet -> FileSet + ``` + */ _fromFetchGit = function: argument: path: extraFetchGitAttrs: let diff --git a/lib/filesystem.nix b/lib/filesystem.nix index 144fee73738b..39f565329b03 100644 --- a/lib/filesystem.nix +++ b/lib/filesystem.nix @@ -152,7 +152,7 @@ in # Type ``` - Path -> Map String Path + haskellPathsInDir :: Path -> { [String] :: Path } ``` */ haskellPathsInDir = @@ -189,7 +189,7 @@ in # Type ``` - RegExp -> Path -> Nullable { path : Path; matches : [ MatchResults ]; } + locateDominatingFile :: RegExp -> Path -> ({ path :: Path; matches :: [MatchResults]; } | Null) ``` */ locateDominatingFile = @@ -229,7 +229,7 @@ in # Type ``` - Path -> [ Path ] + listFilesRecursive :: Path -> [Path] ``` */ listFilesRecursive = @@ -320,9 +320,9 @@ in ``` packagesFromDirectoryRecursive :: { - callPackage :: Path -> {} -> a, - newScope? :: AttrSet -> scope, - directory :: Path, + callPackage :: Path -> AttrSet -> Any; + newScope? :: AttrSet -> Scope; + directory :: Path; } -> AttrSet ``` diff --git a/lib/fixed-points.nix b/lib/fixed-points.nix index a29ed105d4a6..c80a7f72eba8 100644 --- a/lib/fixed-points.nix +++ b/lib/fixed-points.nix @@ -146,7 +146,7 @@ rec { # Type ``` - (a -> a) -> a -> a + converge :: (a -> a) -> a -> a ``` */ converge = @@ -295,9 +295,9 @@ rec { # Type ``` - extends :: (Attrs -> Attrs -> Attrs) # The overlay to apply to the fixed-point function - -> (Attrs -> Attrs) # A fixed-point function - -> (Attrs -> Attrs) # The resulting fixed-point function + extends :: (AttrSet -> AttrSet -> AttrSet) # The overlay to apply to the fixed-point function + -> (AttrSet -> AttrSet) # A fixed-point function + -> (AttrSet -> AttrSet) # The resulting fixed-point function ``` # Examples @@ -376,7 +376,7 @@ rec { # ↓ ↓ OverlayFn = { ... } -> { ... } -> { ... }; in - composeManyExtensions :: ListOf OverlayFn -> OverlayFn + composeManyExtensions :: [OverlayFn] -> OverlayFn ``` # Examples @@ -480,14 +480,11 @@ rec { # Type ``` - toExtension :: - b' -> Any -> Any -> b' + toExtension :: b' -> Any -> Any -> b' or - toExtension :: - (a -> b') -> Any -> a -> b' + toExtension :: (a -> b') -> Any -> a -> b' or - toExtension :: - (a -> a -> b) -> a -> a -> b + toExtension :: (a -> a -> b) -> a -> a -> b where b' = ! Callable Set a = b = b' = AttrSet & ! Callable to make toExtension return an extending function. diff --git a/lib/generators.nix b/lib/generators.nix index 764175d626d2..7b53d3912822 100644 --- a/lib/generators.nix +++ b/lib/generators.nix @@ -778,7 +778,7 @@ rec { # Type ``` - toLua :: AttrSet -> Any -> String + toLua :: { multiline :: Bool; indent :: String; asBindings :: Bool; } -> Any -> String ``` # Examples @@ -879,7 +879,7 @@ rec { # Type ``` - mkLuaInline :: String -> AttrSet + mkLuaInline :: String -> { _type = "lua-inline"; expr :: String; } ``` */ mkLuaInline = expr: { diff --git a/lib/gvariant.nix b/lib/gvariant.nix index db2a33553ab7..f64808347ee8 100644 --- a/lib/gvariant.nix +++ b/lib/gvariant.nix @@ -128,7 +128,7 @@ rec { # Type ``` - mkValue :: Any -> gvariant + mkValue :: Any -> GVariant ``` */ mkValue = @@ -174,7 +174,7 @@ rec { # Type ``` - mkArray :: [Any] -> gvariant + mkArray :: [Any] -> GVariant ``` # Examples @@ -213,7 +213,7 @@ rec { # Type ``` - mkEmptyArray :: gvariant.type -> gvariant + mkEmptyArray :: GVariantType -> GVariant ``` # Examples @@ -247,7 +247,7 @@ rec { # Type ``` - mkVariant :: Any -> gvariant + mkVariant :: Any -> GVariant ``` # Examples @@ -289,7 +289,7 @@ rec { # Type ``` - mkDictionaryEntry :: String -> Any -> gvariant + mkDictionaryEntry :: String -> Any -> GVariant ``` # Examples @@ -335,7 +335,7 @@ rec { # Type ``` - mkMaybe :: gvariant.type -> Any -> gvariant + mkMaybe :: GVariantType -> Any -> GVariant ``` */ mkMaybe = @@ -358,7 +358,7 @@ rec { # Type ``` - mkNothing :: gvariant.type -> gvariant + mkNothing :: GVariantType -> GVariant ``` */ mkNothing = elemType: mkMaybe elemType null; @@ -375,7 +375,7 @@ rec { # Type ``` - mkJust :: Any -> gvariant + mkJust :: Any -> GVariant ``` */ mkJust = @@ -397,7 +397,7 @@ rec { # Type ``` - mkTuple :: [Any] -> gvariant + mkTuple :: [Any] -> GVariant ``` */ mkTuple = @@ -423,7 +423,7 @@ rec { # Type ``` - mkBoolean :: Bool -> gvariant + mkBoolean :: Bool -> GVariant ``` */ mkBoolean = @@ -445,7 +445,7 @@ rec { # Type ``` - mkString :: String -> gvariant + mkString :: String -> GVariant ``` */ mkString = @@ -470,7 +470,7 @@ rec { # Type ``` - mkObjectpath :: String -> gvariant + mkObjectpath :: String -> GVariant ``` */ mkObjectpath = @@ -486,7 +486,7 @@ rec { # Type ``` - mkUchar :: Int -> gvariant + mkUchar :: Int -> GVariant ``` */ mkUchar = mkPrimitive type.uchar; @@ -497,7 +497,7 @@ rec { # Type ``` - mkInt16 :: Int -> gvariant + mkInt16 :: Int -> GVariant ``` */ mkInt16 = mkPrimitive type.int16; @@ -508,7 +508,7 @@ rec { # Type ``` - mkUint16 :: Int -> gvariant + mkUint16 :: Int -> GVariant ``` */ mkUint16 = mkPrimitive type.uint16; @@ -525,7 +525,7 @@ rec { # Type ``` - mkInt32 :: Int -> gvariant + mkInt32 :: Int -> GVariant ``` */ mkInt32 = @@ -541,7 +541,7 @@ rec { # Type ``` - mkUint32 :: Int -> gvariant + mkUint32 :: Int -> GVariant ``` */ mkUint32 = mkPrimitive type.uint32; @@ -552,7 +552,7 @@ rec { # Type ``` - mkInt64 :: Int -> gvariant + mkInt64 :: Int -> GVariant ``` */ mkInt64 = mkPrimitive type.int64; @@ -563,7 +563,7 @@ rec { # Type ``` - mkUint64 :: Int -> gvariant + mkUint64 :: Int -> GVariant ``` */ mkUint64 = mkPrimitive type.uint64; @@ -580,7 +580,7 @@ rec { # Type ``` - mkDouble :: Float -> gvariant + mkDouble :: Float -> GVariant ``` */ mkDouble = diff --git a/lib/lists.nix b/lib/lists.nix index 5fa31dd29ae8..abd9aceed0e3 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -261,7 +261,7 @@ rec { # Type ``` - foldl' :: (acc -> x -> acc) -> acc -> [x] -> acc + foldl' :: (a -> b -> a) -> a -> [b] -> a ``` # Examples @@ -298,7 +298,7 @@ rec { # Type ``` - imap0 :: (int -> a -> b) -> [a] -> [b] + imap0 :: (Int -> a -> b) -> [a] -> [b] ``` # Examples @@ -330,7 +330,7 @@ rec { # Type ``` - imap1 :: (int -> a -> b) -> [a] -> [b] + imap1 :: (Int -> a -> b) -> [a] -> [b] ``` # Examples @@ -372,7 +372,7 @@ rec { # Type ``` - ifilter0 :: (int -> a -> bool) -> [a] -> [a] + ifilter0 :: (Int -> a -> Bool) -> [a] -> [a] ``` # Examples @@ -504,7 +504,7 @@ rec { # Type ``` - findSingle :: (a -> bool) -> a -> a -> [a] -> a + findSingle :: (a -> Bool) -> a -> a -> [a] -> a ``` # Examples @@ -626,7 +626,7 @@ rec { # Type ``` - findFirst :: (a -> bool) -> a -> [a] -> a + findFirst :: (a -> Bool) -> a -> [a] -> a ``` # Examples @@ -666,7 +666,7 @@ rec { # Type ``` - any :: (a -> bool) -> [a] -> bool + any :: (a -> Bool) -> [a] -> Bool ``` # Examples @@ -701,7 +701,7 @@ rec { # Type ``` - all :: (a -> bool) -> [a] -> bool + all :: (a -> Bool) -> [a] -> Bool ``` # Examples @@ -732,7 +732,7 @@ rec { # Type ``` - count :: (a -> bool) -> [a] -> int + count :: (a -> Bool) -> [a] -> Int ``` # Examples @@ -766,7 +766,7 @@ rec { # Type ``` - optional :: bool -> a -> [a] + optional :: Bool -> a -> [a] ``` # Examples @@ -800,7 +800,7 @@ rec { # Type ``` - optionals :: bool -> [a] -> [a] + optionals :: Bool -> [a] -> [a] ``` # Examples @@ -866,7 +866,7 @@ rec { # Type ``` - range :: int -> int -> [int] + range :: Int -> Int -> [Int] ``` # Examples @@ -900,7 +900,7 @@ rec { # Type ``` - replicate :: int -> a -> [a] + replicate :: Int -> a -> [a] ``` # Examples @@ -935,7 +935,7 @@ rec { # Type ``` - (a -> bool) -> [a] -> { right :: [a]; wrong :: [a]; } + partition :: (a -> Bool) -> [a] -> { right :: [a]; wrong :: [a]; } ``` # Examples @@ -977,7 +977,7 @@ rec { # Type ``` - groupBy' :: (b -> a -> b) -> b -> (a -> string) -> [a] -> Map string b + groupBy' :: (a -> b -> a) -> a -> (b -> String) -> [b] -> { [String] :: a } ``` # Examples @@ -1149,7 +1149,7 @@ rec { # Type ``` - listDfs :: bool -> (a -> a -> bool) -> [a] -> attrs + listDfs :: Bool -> (a -> a -> Bool) -> [a] -> ({ minimal :: a; visited :: [a]; rest :: [a]; } | { cycle :: a; loops :: [a]; visited :: [a]; rest :: [a]; }) ``` # Examples @@ -1220,7 +1220,7 @@ rec { # Type ``` - toposort :: (a -> a -> bool) -> [a] -> attrs + toposort :: (a -> a -> Bool) -> [a] -> ({ result :: [a]; } | { cycle :: [a]; loops :: [a]; }) ``` # Examples @@ -1397,7 +1397,7 @@ rec { # Type ``` - compareLists :: (a -> a -> int) -> [a] -> [a] -> int + compareLists :: (a -> a -> Int) -> [a] -> [a] -> Int ``` # Examples @@ -1442,7 +1442,7 @@ rec { # Type ``` - naturalSort :: [str] -> [str] + naturalSort :: [String] -> [String] ``` # Examples @@ -1488,7 +1488,7 @@ rec { # Type ``` - take :: int -> [a] -> [a] + take :: Int -> [a] -> [a] ``` # Examples @@ -1522,7 +1522,7 @@ rec { # Type ``` - takeEnd :: int -> [a] -> [a] + takeEnd :: Int -> [a] -> [a] ``` # Examples @@ -1556,7 +1556,7 @@ rec { # Type ``` - drop :: int -> [a] -> [a] + drop :: Int -> [a] -> [a] ``` # Examples @@ -1624,7 +1624,7 @@ rec { # Type ``` - hasPrefix :: [a] -> [a] -> bool + hasPrefix :: [a] -> [a] -> Bool ``` # Examples @@ -1703,7 +1703,7 @@ rec { # Type ``` - sublist :: int -> int -> [a] -> [a] + sublist :: Int -> Int -> [a] -> [a] ``` # Examples @@ -1921,7 +1921,7 @@ rec { # Type ``` - uniqueStrings :: [ String ] -> [ String ] + uniqueStrings :: [String] -> [String] ``` # Examples @@ -1949,7 +1949,7 @@ rec { # Type ``` - allUnique :: [a] -> bool + allUnique :: [a] -> Bool ``` # Examples @@ -2052,7 +2052,7 @@ rec { # Type ``` - mutuallyExclusive :: [a] -> [a] -> bool + mutuallyExclusive :: [a] -> [a] -> Bool ``` */ mutuallyExclusive = a: b: length a == 0 || !(any (x: elem x a) b); @@ -2070,7 +2070,7 @@ rec { # Type ``` - concatAttrValues :: (Map string a) -> [a] + concatAttrValues :: { [String] :: [a] } -> [a] ``` # Examples @@ -2103,7 +2103,7 @@ rec { # Type ``` - replaceElemAt :: [a] -> int - b -> [a] + replaceElemAt :: [a] -> Int -> a -> [a] ``` # Examples diff --git a/lib/meta.nix b/lib/meta.nix index 02dc3744b19d..5c4627e3cec7 100644 --- a/lib/meta.nix +++ b/lib/meta.nix @@ -42,7 +42,7 @@ rec { # Type ``` - addMetaAttrs :: attrs -> Derivation -> Derivation + addMetaAttrs :: AttrSet -> Derivation -> Derivation ``` # Examples @@ -101,7 +101,7 @@ rec { # Type ``` - setName :: string -> Derivation -> Derivation + setName :: String -> Derivation -> Derivation ``` */ setName = name: drv: drv // { inherit name; }; @@ -122,7 +122,7 @@ rec { # Type ``` - updateName :: (string -> string) -> Derivation -> Derivation + updateName :: (String -> String) -> Derivation -> Derivation ``` # Examples @@ -150,7 +150,7 @@ rec { # Type ``` - appendToName :: string -> Derivation -> Derivation + appendToName :: String -> Derivation -> Derivation ``` */ appendToName = @@ -179,7 +179,7 @@ rec { # Type ``` - mapDerivationAttrset :: (Derivation -> a) -> attrs -> attrs + mapDerivationAttrset :: (Derivation -> a) -> AttrSet -> AttrSet ``` */ mapDerivationAttrset = @@ -204,7 +204,7 @@ rec { # Type ``` - setPrio :: int -> Derivation -> Derivation + setPrio :: Int -> Derivation -> Derivation ``` */ setPrio = priority: addMetaAttrs { inherit priority; }; @@ -239,7 +239,7 @@ rec { # Type ``` - lowPrioSet :: (Map string Derivation) -> (Map string Derivation) + lowPrioSet :: { [String] :: Derivation } -> { [String] :: Derivation } ``` */ lowPrioSet = set: mapDerivationAttrset lowPrio set; @@ -274,7 +274,7 @@ rec { # Type ``` - hiPrioSet :: (Map string Derivation) -> (Map string Derivation) + hiPrioSet :: { [String] :: Derivation } -> { [String] :: Derivation } ``` */ hiPrioSet = set: mapDerivationAttrset hiPrio set; @@ -404,7 +404,15 @@ rec { # Type ``` - getLicenseFromSpdxId :: str -> AttrSet + getLicenseFromSpdxId :: String -> { + deprecated :: Bool; + free :: Bool; + fullName :: String; + redistributable :: Bool; + shortName :: String; + spdxId :: String; + url :: String; + } ``` # Examples @@ -449,7 +457,15 @@ rec { # Type ``` - getLicenseFromSpdxIdOr :: str -> Any -> Any + getLicenseFromSpdxIdOr :: String -> a -> ({ + deprecated :: Bool; + free :: Bool; + fullName :: String; + redistributable :: Bool; + shortName :: String; + spdxId :: String; + url :: String; + } | a) ``` # Examples @@ -491,7 +507,7 @@ rec { # Type ``` - getExe :: package -> string + getExe :: Derivation -> StorePath ``` # Examples @@ -537,7 +553,7 @@ rec { # Type ``` - getExe' :: derivation -> string -> string + getExe' :: Derivation -> String -> StorePath ``` # Examples @@ -579,7 +595,7 @@ rec { # Type ``` - cpeFullVersionWithVendor :: string -> string -> AttrSet + cpeFullVersionWithVendor :: String -> String -> { update :: String; vendor :: String; version :: String; } ``` # Examples @@ -634,7 +650,7 @@ rec { # Type ``` - tryCPEPatchVersionInUpdateWithVendor :: string -> string -> AttrSet + tryCPEPatchVersionInUpdateWithVendor :: String -> String -> ({ success = true; value :: { update :: String; vendor :: String; version :: String; }; } | { success = false; error :: String; }) ``` # Examples @@ -705,7 +721,7 @@ rec { # Type ``` - cpePatchVersionInUpdateWithVendor :: string -> string -> AttrSet + cpePatchVersionInUpdateWithVendor :: String -> String -> { update :: String; vendor :: String; version :: String; } ``` # Examples diff --git a/lib/modules.nix b/lib/modules.nix index 6d430effcc89..bbaa984be0d7 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -1461,7 +1461,7 @@ let # Type ``` - option -> attrsOf { highestPrio, value } + mergeAttrDefinitionsWithPrio :: Option -> { [String] :: { highestPrio :: Int; value :: Any; } } ``` */ mergeAttrDefinitionsWithPrio = diff --git a/lib/network/internal.nix b/lib/network/internal.nix index 20a18e073af5..2e439c15f16c 100644 --- a/lib/network/internal.nix +++ b/lib/network/internal.nix @@ -33,7 +33,7 @@ let the list of strings which then can be parsed using `_parseExpanded`. Throws an error when the address is malformed. - # Type: String -> [ String ] + # Type: String -> [String] # Example: @@ -94,7 +94,7 @@ let functions. Throws an error some element is not an u16 integer. - # Type: [ String ] -> IPv6 + # Type: [String] -> IPv6 # Example: @@ -168,7 +168,7 @@ in prefix length are validated and converted to an internal representation that can be used by other functions. - # Type: String -> [ {address :: IPv6, prefixLength :: Int} ] + # Type: String -> [{ address :: IPv6; prefixLength :: Int; }] # Example: diff --git a/lib/options.nix b/lib/options.nix index 195ba79765e9..c348491f0457 100644 --- a/lib/options.nix +++ b/lib/options.nix @@ -71,7 +71,7 @@ rec { # Type ``` - isOption :: a -> Bool + isOption :: Any -> Bool ``` */ isOption = lib.isType "option"; @@ -258,7 +258,7 @@ rec { # Type ``` - mkPackageOption :: pkgs -> (string|[string]) -> { nullable? :: bool, default? :: string|[string], example? :: null|string|[string], extraDescription? :: string, pkgsText? :: string } -> option + mkPackageOption :: Pkgs -> (String | [String]) -> { nullable? :: Bool; default? :: String | [String]; example? :: Null | String | [String]; extraDescription? :: String; pkgsText? :: String; } -> Option ``` # Examples @@ -525,7 +525,7 @@ rec { # Type ``` - getValues :: [ { value :: a; } ] -> [a] + getValues :: [{ value :: a; ... }] -> [a] ``` # Examples @@ -547,7 +547,7 @@ rec { # Type ``` - getFiles :: [ { file :: a; } ] -> [a] + getFiles :: [{ file :: a; ... }] -> [a] ``` # Examples @@ -885,7 +885,7 @@ rec { # Type ``` - showDefsSep :: { files :: [ String ]; loc :: [ String ]; ... } -> string + showOptionWithDefLocs :: { files :: [String]; loc :: [String]; ... } -> String ``` */ showOptionWithDefLocs = opt: '' diff --git a/lib/path/default.nix b/lib/path/default.nix index 512d65d1978d..60c56948d68e 100644 --- a/lib/path/default.nix +++ b/lib/path/default.nix @@ -115,7 +115,7 @@ let # An empty string is not a valid relative path, so we need to return a `.` when we have no components (if components == [ ] then "." else concatStringsSep "/" components); - # Type: Path -> { root :: Path, components :: [ String ] } + # Type: Path -> { root :: Path; components :: [String]; } # # Deconstruct a path value type into: # - root: The filesystem root of the path, generally `/` @@ -143,7 +143,7 @@ let # The number of store directory components, typically 2 storeDirLength = length storeDirComponents; - # Type: [ String ] -> Bool + # Type: [String] -> Bool # # Whether path components have a store path as a prefix, according to # https://nixos.org/manual/nix/stable/store/store-path.html#store-path. @@ -395,7 +395,7 @@ in # Type ``` - splitRoot :: Path -> { root :: Path, subpath :: String } + splitRoot :: Path -> { root :: Path; subpath :: String; } ``` # Examples @@ -607,7 +607,7 @@ in # Type ``` - subpath.join :: [ String ] -> String + subpath.join :: [String] -> String ``` # Examples @@ -679,7 +679,7 @@ in # Type ``` - subpath.components :: String -> [ String ] + subpath.components :: String -> [String] ``` # Examples diff --git a/lib/sources.nix b/lib/sources.nix index 88943a9fec94..230512bbaa77 100644 --- a/lib/sources.nix +++ b/lib/sources.nix @@ -131,7 +131,7 @@ let # that src.filter is called lazily. # For implementing a filter, see # https://nixos.org/nix/manual/#builtin-filterSource - # Type: A function (path -> type -> bool) + # Type: A function (Path -> Type -> Bool) filter ? _path: _type: true, # Optional name to use as part of the store path. # This defaults to `src.name` or otherwise `"source"`. @@ -158,7 +158,7 @@ let # Type ``` - sources.trace :: sourceLike -> Source + sources.trace :: SourceLike -> Source ``` */ trace = @@ -241,7 +241,7 @@ let # Type ``` - sourceLike -> [String] -> Source + sourceFilesBySuffices :: SourceLike -> [String] -> Source ``` # Examples diff --git a/lib/strings-with-deps.nix b/lib/strings-with-deps.nix index 8fd879df1790..e23003e3e5f9 100644 --- a/lib/strings-with-deps.nix +++ b/lib/strings-with-deps.nix @@ -77,7 +77,7 @@ rec { # Type ``` - textClosureList :: { ${phase} :: { deps :: [String]; text :: String; } | String; } -> [String] -> [String] + textClosureList :: { [String] :: { deps :: [String]; text :: String; } | String; } -> [String] -> [String] ``` # Examples diff --git a/lib/strings.nix b/lib/strings.nix index 3e7f16b48af0..848e61a65ddf 100644 --- a/lib/strings.nix +++ b/lib/strings.nix @@ -56,7 +56,7 @@ rec { # Type ``` - join :: string -> [ string ] -> string + join :: String -> [String] -> String ``` # Examples @@ -78,7 +78,7 @@ rec { # Type ``` - concatStrings :: [string] -> string + concatStrings :: [String] -> String ``` # Examples @@ -108,7 +108,7 @@ rec { # Type ``` - concatMapStrings :: (a -> string) -> [a] -> string + concatMapStrings :: (a -> String) -> [a] -> String ``` # Examples @@ -139,7 +139,7 @@ rec { # Type ``` - concatImapStrings :: (int -> a -> string) -> [a] -> string + concatImapStrings :: (Int -> a -> String) -> [a] -> String ``` # Examples @@ -209,7 +209,7 @@ rec { # Type ``` - concatStringsSep :: string -> [string] -> string + concatStringsSep :: String -> [String] -> String ``` # Examples @@ -244,7 +244,7 @@ rec { # Type ``` - concatMapStringsSep :: string -> (a -> string) -> [a] -> string + concatMapStringsSep :: String -> (a -> String) -> [a] -> String ``` # Examples @@ -280,7 +280,7 @@ rec { # Type ``` - concatIMapStringsSep :: string -> (int -> a -> string) -> [a] -> string + concatIMapStringsSep :: String -> (Int -> a -> String) -> [a] -> String ``` # Examples @@ -316,7 +316,7 @@ rec { # Type ``` - concatMapAttrsStringSep :: String -> (String -> Any -> String) -> AttrSet -> String + concatMapAttrsStringSep :: String -> (String -> a -> String) -> { [String] :: a } -> String ``` # Examples @@ -347,7 +347,7 @@ rec { # Type ``` - concatLines :: [string] -> string + concatLines :: [String] -> String ``` # Examples @@ -380,7 +380,7 @@ rec { # Type ``` - replaceString :: string -> string -> string -> string + replaceString :: String -> String -> String -> String ``` # Examples @@ -413,7 +413,7 @@ rec { # Type ``` - replicate :: int -> string -> string + replicate :: Int -> String -> String ``` # Examples @@ -445,7 +445,7 @@ rec { # Type ``` - trim :: string -> string + trim :: String -> String ``` # Examples @@ -487,7 +487,7 @@ rec { # Type ``` - trimWith :: { start :: Bool; end :: Bool } -> String -> String + trimWith :: { start :: Bool; end :: Bool; } -> String -> String ``` # Examples @@ -548,7 +548,7 @@ rec { # Type ``` - makeSearchPath :: string -> [string] -> string + makeSearchPath :: String -> [String] -> String ``` # Examples @@ -588,7 +588,7 @@ rec { # Type ``` - makeSearchPathOutput :: string -> string -> [package] -> string + makeSearchPathOutput :: String -> String -> [Derivation] -> String ``` # Examples @@ -618,7 +618,7 @@ rec { # Type ``` - makeLibraryPath :: [package] -> string + makeLibraryPath :: [Derivation] -> String ``` # Examples @@ -649,7 +649,7 @@ rec { # Type ``` - makeIncludePath :: [package] -> string + makeIncludePath :: [Derivation] -> String ``` # Examples @@ -680,7 +680,7 @@ rec { # Type ``` - makeBinPath :: [package] -> string + makeBinPath :: [Derivation] -> String ``` # Examples @@ -707,7 +707,7 @@ rec { # Type ``` - normalizePath :: string -> string + normalizePath :: String -> String ``` # Examples @@ -748,7 +748,7 @@ rec { # Type ``` - optionalString :: bool -> string -> string + optionalString :: Bool -> String -> String ``` # Examples @@ -780,7 +780,7 @@ rec { # Type ``` - hasPrefix :: string -> string -> bool + hasPrefix :: String -> String -> Bool ``` # Examples @@ -823,7 +823,7 @@ rec { # Type ``` - hasSuffix :: string -> string -> bool + hasSuffix :: String -> String -> Bool ``` # Examples @@ -869,7 +869,7 @@ rec { # Type ``` - hasInfix :: string -> string -> bool + hasInfix :: String -> String -> Bool ``` # Examples @@ -918,7 +918,7 @@ rec { # Type ``` - stringToCharacters :: string -> [string] + stringToCharacters :: String -> [String] ``` # Examples @@ -953,7 +953,7 @@ rec { # Type ``` - stringAsChars :: (string -> string) -> string -> string + stringAsChars :: (String -> String) -> String -> String ``` # Examples @@ -985,7 +985,7 @@ rec { # Type ``` - charToInt :: string -> int + charToInt :: String -> Int ``` # Examples @@ -1018,7 +1018,7 @@ rec { # Type ``` - escape :: [string] -> string -> string + escape :: [String] -> String -> String ``` # Examples @@ -1050,7 +1050,7 @@ rec { # Type ``` - escapeC = [string] -> string -> string + escapeC :: [String] -> String -> String ``` # Examples @@ -1082,7 +1082,7 @@ rec { # Type ``` - escapeURL :: string -> string + escapeURL :: String -> String ``` # Examples @@ -1184,7 +1184,7 @@ rec { # Type ``` - escapeShellArg :: string -> string + escapeShellArg :: String -> String ``` # Examples @@ -1220,7 +1220,7 @@ rec { # Type ``` - escapeShellArgs :: [string] -> string + escapeShellArgs :: [String] -> String ``` # Examples @@ -1247,7 +1247,7 @@ rec { # Type ``` - string -> bool + isValidPosixName :: String -> Bool ``` # Examples @@ -1287,7 +1287,7 @@ rec { # Type ``` - string -> ( string | [string] | { ${name} :: string; } ) -> string + toShellVar :: String -> (String | [String] | { [String] :: String }) -> String ``` # Examples @@ -1329,8 +1329,8 @@ rec { ``` toShellVars :: { - ${name} :: string | [ string ] | { ${key} :: string; }; - } -> string + [String] :: String | [String] | { [String] :: String }; + } -> String ``` # Examples @@ -1362,7 +1362,7 @@ rec { # Type ``` - escapeNixString :: string -> string + escapeNixString :: String -> String ``` # Examples @@ -1389,7 +1389,7 @@ rec { # Type ``` - escapeRegex :: string -> string + escapeRegex :: String -> String ``` # Examples @@ -1416,7 +1416,7 @@ rec { # Type ``` - escapeNixIdentifier :: string -> string + escapeNixIdentifier :: String -> String ``` # Examples @@ -1467,7 +1467,7 @@ rec { # Type ``` - escapeXML :: string -> string + escapeXML :: String -> String ``` # Examples @@ -1501,7 +1501,7 @@ rec { # Type ``` - toLower :: string -> string + toLower :: String -> String ``` # Examples @@ -1528,7 +1528,7 @@ rec { # Type ``` - toUpper :: string -> string + toUpper :: String -> String ``` # Examples @@ -1555,7 +1555,7 @@ rec { # Type ``` - toSentenceCase :: string -> string + toSentenceCase :: String -> String ``` # Examples @@ -1593,7 +1593,7 @@ rec { # Type ``` - toCamelCase :: string -> string + toCamelCase :: String -> String ``` # Examples @@ -1664,7 +1664,7 @@ rec { # Type ``` - addContextFrom :: string -> string -> string + addContextFrom :: String -> String -> String ``` # Examples @@ -1705,7 +1705,7 @@ rec { # Type ``` - splitString :: string -> string -> [string] + splitString :: String -> String -> [String] ``` # Examples @@ -1759,7 +1759,7 @@ rec { # Type ``` - splitStringBy :: (string -> string -> bool) -> bool -> string -> [string] + splitStringBy :: (String -> String -> Bool) -> Bool -> String -> [String] ``` # Examples @@ -1835,7 +1835,7 @@ rec { # Type ``` - removePrefix :: string -> string -> string + removePrefix :: String -> String -> String ``` # Examples @@ -1886,7 +1886,7 @@ rec { # Type ``` - removeSuffix :: string -> string -> string + removeSuffix :: String -> String -> String ``` # Examples @@ -2125,7 +2125,7 @@ rec { # Type ``` - cmakeOptionType :: string -> string -> string -> string + cmakeOptionType :: String -> String -> String -> String ``` # Examples @@ -2171,7 +2171,7 @@ rec { # Type ``` - cmakeBool :: string -> bool -> string + cmakeBool :: String -> Bool -> String ``` # Examples @@ -2207,7 +2207,7 @@ rec { # Type ``` - cmakeFeature :: string -> string -> string + cmakeFeature :: String -> String -> String ``` # Examples @@ -2242,7 +2242,7 @@ rec { # Type ``` - mesonOption :: string -> string -> string + mesonOption :: String -> String -> String ``` # Examples @@ -2277,7 +2277,7 @@ rec { # Type ``` - mesonBool :: string -> bool -> string + mesonBool :: String -> Bool -> String ``` # Examples @@ -2314,7 +2314,7 @@ rec { # Type ``` - mesonEnable :: string -> bool -> string + mesonEnable :: String -> Bool -> String ``` # Examples @@ -2351,7 +2351,7 @@ rec { # Type ``` - enableFeature :: bool -> string -> string + enableFeature :: Bool -> String -> String ``` # Examples @@ -2391,7 +2391,7 @@ rec { # Type ``` - enableFeatureAs :: bool -> string -> string -> string + enableFeatureAs :: Bool -> String -> String -> String ``` # Examples @@ -2426,7 +2426,7 @@ rec { # Type ``` - withFeature :: bool -> string -> string + withFeature :: Bool -> String -> String ``` # Examples @@ -2465,7 +2465,7 @@ rec { # Type ``` - withFeatureAs :: bool -> string -> string -> string + withFeatureAs :: Bool -> String -> String -> String ``` # Examples @@ -2506,7 +2506,7 @@ rec { # Type ``` - fixedWidthString :: int -> string -> string -> string + fixedWidthString :: Int -> String -> String -> String ``` # Examples @@ -2544,7 +2544,7 @@ rec { # Type ``` - fixedWidthNumber :: int -> int -> string + fixedWidthNumber :: Int -> Int -> String ``` # Examples @@ -2572,7 +2572,7 @@ rec { # Type ``` - floatToString :: float -> string + floatToString :: Float -> String ``` # Examples @@ -2611,7 +2611,7 @@ rec { # Type ``` - isConvertibleWithToString :: a -> bool + isConvertibleWithToString :: Any -> Bool ``` */ isConvertibleWithToString = @@ -2640,7 +2640,7 @@ rec { # Type ``` - isStringLike :: a -> bool + isStringLike :: Any -> Bool ``` */ isStringLike = x: isString x || isPath x || x ? outPath || x ? __toString; @@ -2656,7 +2656,7 @@ rec { # Type ``` - isStorePath :: a -> bool + isStorePath :: Any -> Bool ``` # Examples @@ -2707,7 +2707,7 @@ rec { # Type ``` - toInt :: string -> int + toInt :: String -> Int ``` # Examples @@ -2777,7 +2777,7 @@ rec { # Type ``` - toIntBase10 :: string -> int + toIntBase10 :: String -> Int ``` # Examples @@ -2848,7 +2848,7 @@ rec { # Type ``` - fileContents :: path -> string + fileContents :: Path -> String ``` # Examples @@ -2939,7 +2939,7 @@ rec { # Type ``` - levenshtein :: string -> string -> int + levenshtein :: String -> String -> Int ``` # Examples @@ -2991,7 +2991,7 @@ rec { # Type ``` - commonPrefixLength :: string -> string -> int + commonPrefixLength :: String -> String -> Int ``` */ commonPrefixLength = @@ -3023,7 +3023,7 @@ rec { # Type ``` - commonSuffixLength :: string -> string -> int + commonSuffixLength :: String -> String -> Int ``` */ commonSuffixLength = @@ -3060,7 +3060,7 @@ rec { # Type ``` - levenshteinAtMost :: int -> string -> string -> bool + levenshteinAtMost :: Int -> String -> String -> Bool ``` # Examples diff --git a/lib/systems/architectures.nix b/lib/systems/architectures.nix index 95c9d0da341a..a75344de7971 100644 --- a/lib/systems/architectures.nix +++ b/lib/systems/architectures.nix @@ -554,7 +554,7 @@ rec { # Type ``` - hasInferior :: string -> string -> bool + hasInferior :: String -> String -> Bool ``` # Examples @@ -586,7 +586,7 @@ rec { # Type ``` - canExecute :: string -> string -> bool + canExecute :: String -> String -> Bool ``` # Examples diff --git a/lib/trivial.nix b/lib/trivial.nix index 404e90c7554a..fcd9a8791dcf 100644 --- a/lib/trivial.nix +++ b/lib/trivial.nix @@ -111,7 +111,7 @@ in # Type ``` - pipe :: a -> [] -> + pipe :: a -> [(a -> b) (b -> c) ... (x -> y) (y -> z)] -> z ``` # Examples @@ -204,7 +204,7 @@ in # Type ``` - or :: bool -> bool -> bool + or :: Bool -> Bool -> Bool ``` */ "or" = x: y: x || y; @@ -225,7 +225,7 @@ in # Type ``` - and :: bool -> bool -> bool + and :: Bool -> Bool -> Bool ``` */ and = x: y: x && y; @@ -259,7 +259,7 @@ in # Type ``` - bitNot :: number -> number + bitNot :: Number -> Number ``` */ bitNot = builtins.sub (-1); @@ -280,7 +280,7 @@ in # Type ``` - boolToString :: bool -> string + boolToString :: Bool -> String ``` */ boolToString = b: if b then "true" else "false"; @@ -300,7 +300,7 @@ in # Type ``` - boolToYesNo :: bool -> string + boolToYesNo :: Bool -> String ``` */ boolToYesNo = b: if b then "yes" else "no"; @@ -321,7 +321,7 @@ in # Type ``` - mergeAttrs :: attrs -> attrs -> attrs + mergeAttrs :: AttrSet -> AttrSet -> AttrSet ``` # Examples @@ -391,7 +391,7 @@ in # Type ``` - defaultTo :: a -> Nullable b -> (a | b) + defaultTo :: a -> (b | Null) -> (b | a) ``` # Examples @@ -427,7 +427,7 @@ in # Type ``` - mapNullable :: (a -> b) -> Nullable a -> Nullable b + mapNullable :: (a -> b) -> (a | Null) -> (b | Null) ``` # Examples @@ -526,7 +526,7 @@ in # Type ``` - revisionWithDefault :: string -> string + revisionWithDefault :: String -> String ``` */ revisionWithDefault = @@ -551,7 +551,7 @@ in # Type ``` - inNixShell :: bool + inNixShell :: Bool ``` */ inNixShell = builtins.getEnv "IN_NIX_SHELL" != ""; @@ -564,7 +564,7 @@ in # Type ``` - inPureEvalMode :: bool + inPureEvalMode :: Bool ``` */ inPureEvalMode = !builtins ? currentSystem; @@ -587,7 +587,7 @@ in # Type ``` - min :: number -> number -> number + min :: Number -> Number -> Number ``` */ min = x: y: if x < y then x else y; @@ -608,7 +608,7 @@ in # Type ``` - max :: number -> number -> number + max :: Number -> Number -> Number ``` */ max = x: y: if x > y then x else y; @@ -629,7 +629,7 @@ in # Type ``` - mod :: int -> int -> int + mod :: Int -> Int -> Int ``` # Examples @@ -669,7 +669,7 @@ in # Type ``` - compare :: a -> a -> int + compare :: a -> a -> Int ``` */ compare = @@ -712,7 +712,7 @@ in # Type ``` - (a -> bool) -> (a -> a -> int) -> (a -> a -> int) -> (a -> a -> int) + splitByAndCompare :: (a -> Bool) -> (a -> a -> Int) -> (a -> a -> Int) -> (a -> a -> Int) ``` # Examples @@ -786,7 +786,7 @@ in # Type ``` - importJSON :: path -> any + importJSON :: Path -> Any ``` */ importJSON = path: builtins.fromJSON (builtins.readFile path); @@ -833,7 +833,7 @@ in # Type ``` - importTOML :: path -> any + importTOML :: Path -> Any ``` */ importTOML = path: fromTOML (builtins.readFile path); @@ -859,7 +859,7 @@ in # Type ``` - String -> a -> a + warn :: String -> a -> a ``` */ warn = @@ -906,7 +906,7 @@ in # Type ``` - Bool -> String -> a -> a + warnIf :: Bool -> String -> a -> a ``` */ warnIf = cond: msg: if cond then warn msg else x: x; @@ -933,7 +933,7 @@ in # Type ``` - Boolean -> String -> a -> a + warnIfNot :: Bool -> String -> a -> a ``` */ warnIfNot = cond: msg: if cond then x: x else warn msg; @@ -962,7 +962,7 @@ in # Type ``` - bool -> string -> a -> a + throwIfNot :: Bool -> String -> a -> (a | Never) ``` # Examples @@ -995,7 +995,7 @@ in # Type ``` - bool -> string -> a -> a + throwIf :: Bool -> String -> a -> (a | Never) ``` */ throwIf = cond: msg: if cond then throw msg else x: x; @@ -1020,7 +1020,7 @@ in # Type ``` - String -> List ComparableVal -> List ComparableVal -> a -> a + checkListOfEnum :: String -> [a] -> [a] -> ((b -> b) | Never) ``` # Examples @@ -1073,7 +1073,7 @@ in # Type ``` - setFunctionArgs : (a -> b) -> (Map String Bool) -> (a -> b) + setFunctionArgs : (a -> b) -> { [String] :: Bool } -> (a -> b) ``` */ setFunctionArgs = f: args: { @@ -1097,7 +1097,7 @@ in # Type ``` - functionArgs : (a -> b) -> Map String Bool + functionArgs : (a -> b) -> { [String] :: Bool } ``` */ functionArgs = @@ -1120,7 +1120,7 @@ in # Type ``` - isFunction : a -> bool + isFunction : Any -> Bool ``` */ isFunction = f: builtins.isFunction f || (f ? __functor && isFunction (f.__functor f)); @@ -1247,7 +1247,7 @@ in # Type ``` - toHexString :: int -> string + toHexString :: Int -> String ``` # Examples @@ -1294,7 +1294,7 @@ in # Type ``` - toBaseDigits :: int -> int -> [int] + toBaseDigits :: Int -> Int -> [Int] ``` # Examples diff --git a/lib/versions.nix b/lib/versions.nix index ed0d5b7dc667..5d6c499bca9b 100644 --- a/lib/versions.nix +++ b/lib/versions.nix @@ -11,7 +11,7 @@ rec { # Type ``` - splitVersion :: string -> [string] + splitVersion :: String -> [String] ``` # Examples @@ -39,7 +39,7 @@ rec { # Type ``` - major :: string -> string + major :: String -> String ``` # Examples @@ -67,7 +67,7 @@ rec { # Type ``` - minor :: string -> string + minor :: String -> String ``` # Examples @@ -95,7 +95,7 @@ rec { # Type ``` - patch :: string -> string + patch :: String -> String ``` # Examples @@ -124,7 +124,7 @@ rec { # Type ``` - mmajorMinor :: string -> string + majorMinor :: String -> String ``` # Examples @@ -156,7 +156,7 @@ rec { # Type ``` - pad :: int -> string -> string + pad :: Int -> String -> String ``` # Examples diff --git a/pkgs/build-support/compress-drv/default.nix b/pkgs/build-support/compress-drv/default.nix index d45c556fcb54..99eec034fb07 100644 --- a/pkgs/build-support/compress-drv/default.nix +++ b/pkgs/build-support/compress-drv/default.nix @@ -31,7 +31,7 @@ # Type ``` - compressDrv :: Derivation -> { formats :: [ String ]; compressors :: { ${fileExtension} :: String; } } -> Derivation + compressDrv :: Derivation -> { formats :: [String]; compressors :: { ${fileExtension} :: String; } } -> Derivation ``` # Examples diff --git a/pkgs/build-support/compress-drv/web.nix b/pkgs/build-support/compress-drv/web.nix index 17deb1c0e3bd..916409faac4f 100644 --- a/pkgs/build-support/compress-drv/web.nix +++ b/pkgs/build-support/compress-drv/web.nix @@ -23,7 +23,7 @@ : See compressDrv for details. - `extraFormats` ([ String ]) + `extraFormats` ([String]) : Extra extensions to compress in addition to `formats`. @@ -34,7 +34,7 @@ # Type ``` - compressDrvWeb :: Derivation -> { formats :: [ String ]; extraFormats :: [ String ]; compressors :: { ${fileExtension} :: String; } } -> Derivation + compressDrvWeb :: Derivation -> { formats :: [String]; extraFormats :: [String]; compressors :: { ${fileExtension} :: String; } } -> Derivation ``` # Examples diff --git a/pkgs/build-support/setup-systemd-units.nix b/pkgs/build-support/setup-systemd-units.nix index e9b89df87f07..0dcf320733e8 100644 --- a/pkgs/build-support/setup-systemd-units.nix +++ b/pkgs/build-support/setup-systemd-units.nix @@ -13,7 +13,7 @@ }: { units, - # : AttrSet String (Either Path { path : Path, wanted-by : [ String ] }) + # : { [String] :: Path | { path :: Path; wanted-by :: [String]; } } # ^ A set whose names are unit names and values are # either paths to the corresponding unit files or a set # containing the path and the list of units this unit diff --git a/pkgs/build-support/writers/scripts.nix b/pkgs/build-support/writers/scripts.nix index 9987031a047b..43880c62ccaf 100644 --- a/pkgs/build-support/writers/scripts.nix +++ b/pkgs/build-support/writers/scripts.nix @@ -31,7 +31,7 @@ rec { : the [interpreter](https://en.wikipedia.org/wiki/Shebang_(Unix)) to use for the script. : `check` (String) : A command to check the script. For example, this could be a linting check. - : `makeWrapperArgs` (Optional, [ String ], Default: []) + : `makeWrapperArgs` (Optional, [String], Default: []) : Arguments forwarded to (`makeWrapper`)[#fun-makeWrapper]. `nameOrPath` (String) @@ -195,7 +195,7 @@ rec { : `strip` (Boolean, Default: true) : Whether to [strip](https://nixos.org/manual/nixpkgs/stable/#ssec-fixup-phase) the executable or not. - : `makeWrapperArgs` (Optional, [ String ], Default: []) + : `makeWrapperArgs` (Optional, [String], Default: []) : Arguments forwarded to (`makeWrapper`)[#fun-makeWrapper] `nameOrPath` (String) From 6acae46c846b598a6a1721e57572bae0a5f919f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lkecan=20Bozdo=C4=9Fan?= Date: Tue, 3 Mar 2026 18:34:09 +0300 Subject: [PATCH 23/92] lib: don't inherit unused functions --- lib/attrsets.nix | 5 ++--- lib/customisation.nix | 1 - lib/deprecated/misc.nix | 6 ------ lib/fileset/internal.nix | 8 -------- lib/filesystem.nix | 2 -- lib/modules.nix | 1 - lib/systems/parse.nix | 4 ---- 7 files changed, 2 insertions(+), 25 deletions(-) diff --git a/lib/attrsets.nix b/lib/attrsets.nix index dac850823242..932b66b9cfb6 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -4,9 +4,8 @@ { lib }: let - inherit (builtins) head length typeOf; - inherit (lib.asserts) assertMsg; - inherit (lib.trivial) oldestSupportedReleaseIsAtLeast mergeAttrs; + inherit (builtins) head length; + inherit (lib.trivial) mergeAttrs; inherit (lib.strings) concatStringsSep concatMapStringsSep diff --git a/lib/customisation.nix b/lib/customisation.nix index c44dbb5f9270..dfdb64cbf3e2 100644 --- a/lib/customisation.nix +++ b/lib/customisation.nix @@ -20,7 +20,6 @@ let take length filterAttrs - optionalString flip head pipe diff --git a/lib/deprecated/misc.nix b/lib/deprecated/misc.nix index 7865f0ce760f..092b3abfd6a0 100644 --- a/lib/deprecated/misc.nix +++ b/lib/deprecated/misc.nix @@ -6,26 +6,20 @@ let any attrByPath attrNames - compare concat - concatMap elem filter foldl foldr - genericClosure head imap1 - init isAttrs isFunction isInt isList - lists listToAttrs mapAttrs mergeAttrs - meta nameValuePair tail toList diff --git a/lib/fileset/internal.nix b/lib/fileset/internal.nix index 08db1a38c1d0..675027c1fee0 100644 --- a/lib/fileset/internal.nix +++ b/lib/fileset/internal.nix @@ -7,7 +7,6 @@ let isAttrs isPath isString - nixVersion pathExists readDir split @@ -21,7 +20,6 @@ let attrValues mapAttrs mapAttrsToList - optionalAttrs zipAttrsWith ; @@ -48,7 +46,6 @@ let append splitRoot hasStorePathPrefix - splitStorePath ; inherit (lib.path.subpath) @@ -62,11 +59,6 @@ let substring stringLength hasSuffix - versionAtLeast - ; - - inherit (lib.trivial) - inPureEvalMode ; in # Rare case of justified usage of rec: diff --git a/lib/filesystem.nix b/lib/filesystem.nix index 39f565329b03..27f3ab1c5ce1 100644 --- a/lib/filesystem.nix +++ b/lib/filesystem.nix @@ -7,14 +7,12 @@ # Tested in lib/tests/filesystem.sh let inherit (builtins) - readDir pathExists toString ; inherit (lib.filesystem) pathIsDirectory - pathIsRegularFile pathType packagesFromDirectoryRecursive ; diff --git a/lib/modules.nix b/lib/modules.nix index bbaa984be0d7..c67ea2247ca7 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -12,7 +12,6 @@ let concatMap concatStringsSep elem - elemAt filter foldl' functionArgs diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 7774c16500d9..cc3be74f86f8 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -47,13 +47,9 @@ let inherit (lib.types) enum - float isType mkOptionType - number setType - string - types ; setTypes = From a542077c1217524857d3a425d6d3e08fc50d30b9 Mon Sep 17 00:00:00 2001 From: Theo Date: Tue, 3 Mar 2026 23:31:19 +0100 Subject: [PATCH 24/92] freeipa: Add support for subUIDs and subGIDs (#492892) --- nixos/modules/config/nsswitch.nix | 29 ++++++++++++++++++++++++++++ nixos/modules/security/ipa.nix | 1 + nixos/modules/services/misc/sssd.nix | 14 ++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/nixos/modules/config/nsswitch.nix b/nixos/modules/config/nsswitch.nix index 354c506e0ae8..797d2422e27c 100644 --- a/nixos/modules/config/nsswitch.nix +++ b/nixos/modules/config/nsswitch.nix @@ -97,6 +97,30 @@ ''; default = [ ]; }; + + subuid = lib.mkOption { + type = lib.types.listOf lib.types.str; + description = '' + List of subuid entries to configure in {file}`/etc/nsswitch.conf`. + + Note that "files" is always prepended. + + This option only takes effect if nscd is enabled. + ''; + default = [ ]; + }; + + subgid = lib.mkOption { + type = lib.types.listOf lib.types.str; + description = '' + List of subgid entries to configure in {file}`/etc/nsswitch.conf`. + + Note that "files" is always prepended. + + This option only takes effect if nscd is enabled. + ''; + default = [ ]; + }; }; }; @@ -133,6 +157,9 @@ services: ${lib.concatStringsSep " " config.system.nssDatabases.services} protocols: files rpc: files + + subuid: ${lib.concatStringsSep " " config.system.nssDatabases.subuid} + subgid: ${lib.concatStringsSep " " config.system.nssDatabases.subgid} ''; system.nssDatabases = { @@ -145,6 +172,8 @@ (lib.mkOrder 1499 [ "dns" ]) ]; services = lib.mkBefore [ "files" ]; + subuid = lib.mkBefore [ "files" ]; + subgid = lib.mkBefore [ "files" ]; }; }; } diff --git a/nixos/modules/security/ipa.nix b/nixos/modules/security/ipa.nix index b9ed5ff36bf7..0951cc0d262d 100644 --- a/nixos/modules/security/ipa.nix +++ b/nixos/modules/security/ipa.nix @@ -307,6 +307,7 @@ in allowed_uids = lib.concatStringsSep ", " cfg.ifpAllowedUids; }; }; + subIDsIntegration = true; }; networking.timeServers = lib.optional cfg.useAsTimeserver cfg.server; diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix index 05351a040916..5a4c3a3f45ca 100644 --- a/nixos/modules/services/misc/sssd.nix +++ b/nixos/modules/services/misc/sssd.nix @@ -93,6 +93,15 @@ in Kerberos will be configured to cache credentials in SSS. ''; }; + + subIDsIntegration = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to use SSS as a source for subuid and subgid. + ''; + }; + environmentFile = lib.mkOption { type = lib.types.nullOr lib.types.path; default = null; @@ -246,6 +255,11 @@ in services.openssh.authorizedKeysCommand = "/etc/ssh/authorized_keys_command"; services.openssh.authorizedKeysCommandUser = "nobody"; }) + + (lib.mkIf cfg.subIDsIntegration { + system.nssDatabases.subuid = [ "sss" ]; + system.nssDatabases.subgid = [ "sss" ]; + }) ]; meta.maintainers = with lib.maintainers; [ bbigras ]; From 3ab9e181b2053260dd9cc8419c4936ef6a1e075a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 3 Mar 2026 22:57:49 +0000 Subject: [PATCH 25/92] postgresqlPackages.pg_csv: 1.0.1 -> 1.0.2 --- pkgs/servers/sql/postgresql/ext/pg_csv.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/pg_csv.nix b/pkgs/servers/sql/postgresql/ext/pg_csv.nix index 294269a79a85..0a2adb752e09 100644 --- a/pkgs/servers/sql/postgresql/ext/pg_csv.nix +++ b/pkgs/servers/sql/postgresql/ext/pg_csv.nix @@ -7,13 +7,13 @@ postgresqlBuildExtension (finalAttrs: { pname = "pg_csv"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "PostgREST"; repo = "pg_csv"; tag = "v${finalAttrs.version}"; - hash = "sha256-hRTNFlNUmc3mjDf0wgn4CGmHoYPQ+2yfZApzooLwgW4="; + hash = "sha256-cfvHWwgpaGFN8idyU7OfdHfp6JuKNbPR1gS6WudsUHk="; }; meta = { From 14db2a7f0b4dfee237ffbe5c24b248736956200a Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Wed, 4 Mar 2026 01:36:22 +0100 Subject: [PATCH 26/92] cooper: use installFonts --- pkgs/by-name/co/cooper/package.nix | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/co/cooper/package.nix b/pkgs/by-name/co/cooper/package.nix index f608413168f7..612072f08f83 100644 --- a/pkgs/by-name/co/cooper/package.nix +++ b/pkgs/by-name/co/cooper/package.nix @@ -2,6 +2,7 @@ lib, stdenvNoCC, fetchFromGitHub, + installFonts, }: stdenvNoCC.mkDerivation { pname = "cooper"; @@ -14,14 +15,7 @@ stdenvNoCC.mkDerivation { hash = "sha256-4WaRFvAn32IfeCCDszOsmDxFuKnnADOXj/vj8SZB2mU="; }; - installPhase = '' - runHook preInstall - - mkdir -p $out/share/fonts/truetype - cp fonts/*/*.otf $out/share/fonts/truetype - - runHook postInstall - ''; + nativeBuildInputs = [ installFonts ]; meta = { homepage = "https://indestructibletype.com/Cooper/index.html"; From b64493f19f99db3a92e197b0b098382338174a25 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 01:23:15 +0000 Subject: [PATCH 27/92] python3Packages.morecantile: 7.0.2 -> 7.0.3 --- pkgs/development/python-modules/morecantile/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/morecantile/default.nix b/pkgs/development/python-modules/morecantile/default.nix index 8751a06d1a9b..0193e3e7f34f 100644 --- a/pkgs/development/python-modules/morecantile/default.nix +++ b/pkgs/development/python-modules/morecantile/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "morecantile"; - version = "7.0.2"; + version = "7.0.3"; pyproject = true; src = fetchFromGitHub { owner = "developmentseed"; repo = "morecantile"; tag = version; - hash = "sha256-VDe39J4z5aSmdARaYknon4BK7OpovEzni0OVCxKRAkE="; + hash = "sha256-Hx4duNbTuRfOmNBLN9J6/6URe57aPc8+3SJA7rbW5zs="; }; build-system = [ hatchling ]; From 52bc3ebc3dbeccedd2bfd80caaaec4f4c0c6e72f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 4 Mar 2026 02:53:18 +0100 Subject: [PATCH 28/92] home-assistant-custom-lovelace-modules.scheduler-card: 4.0.13 -> 4.0.14 Diff: https://github.com/nielsfaber/scheduler-card/compare/v4.0.13...v4.0.14 Changelog: https://github.com/nielsfaber/scheduler-card/releases/tag/v4.0.14 --- .../scheduler-card/package-lock.json | 186 +++++++++++------- .../scheduler-card/package.nix | 6 +- 2 files changed, 117 insertions(+), 75 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package-lock.json b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package-lock.json index bee7eddeeb3a..e6ebbe759f5e 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package-lock.json +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package-lock.json @@ -1,12 +1,12 @@ { "name": "scheduler-card", - "version": "4.0.13", + "version": "4.0.14", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "scheduler-card", - "version": "4.0.13", + "version": "4.0.14", "license": "ISC", "dependencies": { "@formatjs/intl-utils": "^3.8.4", @@ -313,6 +313,17 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@lazy-node/types-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@lazy-node/types-path/-/types-path-1.0.3.tgz", + "integrity": "sha512-5Bnl5s5jh7o14i0oa7gj+Y0fDLIlri3+KVZmv4gk0OFGuOrOEmWBBCI9ky3Syip5g/yPHZdfa+WO5BVJMUpMdw==", + "license": "ISC", + "dependencies": { + "@types/node": "*", + "ts-type": "^3.0.1", + "tslib": ">=2" + } + }, "node_modules/@lezer/common": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.5.1.tgz", @@ -2401,9 +2412,9 @@ } }, "node_modules/@swc/core": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.11.tgz", - "integrity": "sha512-iLmLTodbYxU39HhMPaMUooPwO/zqJWvsqkrXv1ZI38rMb048p6N7qtAtTp37sw9NzSrvH6oli8EdDygo09IZ/w==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.15.18.tgz", + "integrity": "sha512-z87aF9GphWp//fnkRsqvtY+inMVPgYW3zSlXH1kJFvRT5H/wiAn+G32qW5l3oEk63KSF1x3Ov0BfHCObAmT8RA==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -2419,16 +2430,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.15.11", - "@swc/core-darwin-x64": "1.15.11", - "@swc/core-linux-arm-gnueabihf": "1.15.11", - "@swc/core-linux-arm64-gnu": "1.15.11", - "@swc/core-linux-arm64-musl": "1.15.11", - "@swc/core-linux-x64-gnu": "1.15.11", - "@swc/core-linux-x64-musl": "1.15.11", - "@swc/core-win32-arm64-msvc": "1.15.11", - "@swc/core-win32-ia32-msvc": "1.15.11", - "@swc/core-win32-x64-msvc": "1.15.11" + "@swc/core-darwin-arm64": "1.15.18", + "@swc/core-darwin-x64": "1.15.18", + "@swc/core-linux-arm-gnueabihf": "1.15.18", + "@swc/core-linux-arm64-gnu": "1.15.18", + "@swc/core-linux-arm64-musl": "1.15.18", + "@swc/core-linux-x64-gnu": "1.15.18", + "@swc/core-linux-x64-musl": "1.15.18", + "@swc/core-win32-arm64-msvc": "1.15.18", + "@swc/core-win32-ia32-msvc": "1.15.18", + "@swc/core-win32-x64-msvc": "1.15.18" }, "peerDependencies": { "@swc/helpers": ">=0.5.17" @@ -2440,9 +2451,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.11.tgz", - "integrity": "sha512-QoIupRWVH8AF1TgxYyeA5nS18dtqMuxNwchjBIwJo3RdwLEFiJq6onOx9JAxHtuPwUkIVuU2Xbp+jCJ7Vzmgtg==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.18.tgz", + "integrity": "sha512-+mIv7uBuSaywN3C9LNuWaX1jJJ3SKfiJuE6Lr3bd+/1Iv8oMU7oLBjYMluX1UrEPzwN2qCdY6Io0yVicABoCwQ==", "cpu": [ "arm64" ], @@ -2457,9 +2468,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.11.tgz", - "integrity": "sha512-S52Gu1QtPSfBYDiejlcfp9GlN+NjTZBRRNsz8PNwBgSE626/FUf2PcllVUix7jqkoMC+t0rS8t+2/aSWlMuQtA==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.18.tgz", + "integrity": "sha512-wZle0eaQhnzxWX5V/2kEOI6Z9vl/lTFEC6V4EWcn+5pDjhemCpQv9e/TDJ0GIoiClX8EDWRvuZwh+Z3dhL1NAg==", "cpu": [ "x64" ], @@ -2474,9 +2485,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.11.tgz", - "integrity": "sha512-lXJs8oXo6Z4yCpimpQ8vPeCjkgoHu5NoMvmJZ8qxDyU99KVdg6KwU9H79vzrmB+HfH+dCZ7JGMqMF//f8Cfvdg==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.18.tgz", + "integrity": "sha512-ao61HGXVqrJFHAcPtF4/DegmwEkVCo4HApnotLU8ognfmU8x589z7+tcf3hU+qBiU1WOXV5fQX6W9Nzs6hjxDw==", "cpu": [ "arm" ], @@ -2491,9 +2502,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.11.tgz", - "integrity": "sha512-chRsz1K52/vj8Mfq/QOugVphlKPWlMh10V99qfH41hbGvwAU6xSPd681upO4bKiOr9+mRIZZW+EfJqY42ZzRyA==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.18.tgz", + "integrity": "sha512-3xnctOBLIq3kj8PxOCgPrGjBLP/kNOddr6f5gukYt/1IZxsITQaU9TDyjeX6jG+FiCIHjCuWuffsyQDL5Ew1bg==", "cpu": [ "arm64" ], @@ -2508,9 +2519,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.11.tgz", - "integrity": "sha512-PYftgsTaGnfDK4m6/dty9ryK1FbLk+LosDJ/RJR2nkXGc8rd+WenXIlvHjWULiBVnS1RsjHHOXmTS4nDhe0v0w==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.18.tgz", + "integrity": "sha512-0a+Lix+FSSHBSBOA0XznCcHo5/1nA6oLLjcnocvzXeqtdjnPb+SvchItHI+lfeiuj1sClYPDvPMLSLyXFaiIKw==", "cpu": [ "arm64" ], @@ -2525,9 +2536,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.11.tgz", - "integrity": "sha512-DKtnJKIHiZdARyTKiX7zdRjiDS1KihkQWatQiCHMv+zc2sfwb4Glrodx2VLOX4rsa92NLR0Sw8WLcPEMFY1szQ==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.18.tgz", + "integrity": "sha512-wG9J8vReUlpaHz4KOD/5UE1AUgirimU4UFT9oZmupUDEofxJKYb1mTA/DrMj0s78bkBiNI+7Fo2EgPuvOJfuAA==", "cpu": [ "x64" ], @@ -2542,9 +2553,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.11.tgz", - "integrity": "sha512-mUjjntHj4+8WBaiDe5UwRNHuEzLjIWBTSGTw0JT9+C9/Yyuh4KQqlcEQ3ro6GkHmBGXBFpGIj/o5VMyRWfVfWw==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.18.tgz", + "integrity": "sha512-4nwbVvCphKzicwNWRmvD5iBaZj8JYsRGa4xOxJmOyHlMDpsvvJ2OR2cODlvWyGFH6BYL1MfIAK3qph3hp0Az6g==", "cpu": [ "x64" ], @@ -2559,9 +2570,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.11.tgz", - "integrity": "sha512-ZkNNG5zL49YpaFzfl6fskNOSxtcZ5uOYmWBkY4wVAvgbSAQzLRVBp+xArGWh2oXlY/WgL99zQSGTv7RI5E6nzA==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.18.tgz", + "integrity": "sha512-zk0RYO+LjiBCat2RTMHzAWaMky0cra9loH4oRrLKLLNuL+jarxKLFDA8xTZWEkCPLjUTwlRN7d28eDLLMgtUcQ==", "cpu": [ "arm64" ], @@ -2576,9 +2587,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.11.tgz", - "integrity": "sha512-6XnzORkZCQzvTQ6cPrU7iaT9+i145oLwnin8JrfsLG41wl26+5cNQ2XV3zcbrnFEV6esjOceom9YO1w9mGJByw==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.18.tgz", + "integrity": "sha512-yVuTrZ0RccD5+PEkpcLOBAuPbYBXS6rslENvIXfvJGXSdX5QGi1ehC4BjAMl5FkKLiam4kJECUI0l7Hq7T1vwg==", "cpu": [ "ia32" ], @@ -2593,9 +2604,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.11.tgz", - "integrity": "sha512-IQ2n6af7XKLL6P1gIeZACskSxK8jWtoKpJWLZmdXTDj1MGzktUy4i+FvpdtxFmJWNavRWH1VmTr6kAubRDHeKw==", + "version": "1.15.18", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.18.tgz", + "integrity": "sha512-7NRmE4hmUQNCbYU3Hn9Tz57mK9Qq4c97ZS+YlamlK6qG9Fb5g/BB3gPDe0iLlJkns/sYv2VWSkm8c3NmbEGjbg==", "cpu": [ "x64" ], @@ -2617,9 +2628,9 @@ "license": "Apache-2.0" }, "node_modules/@swc/helpers": { - "version": "0.5.18", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.18.tgz", - "integrity": "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==", + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.19.tgz", + "integrity": "sha512-QamiFeIK3txNjgUTNppE6MiG3p7TdninpZu0E0PbqVh1a9FNLT2FRhisaa4NcaX52XVhA5l7Pk58Ft7Sqi/2sA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -2643,9 +2654,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz", - "integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==", + "version": "25.3.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.3.tgz", + "integrity": "sha512-DpzbrH7wIcBaJibpKo9nnSQL0MTRdnWttGyE5haGwK86xgMOkFLp7vEyfQPGLOJh5wNYiJ3V9PmUMDhV9u8kkQ==", "license": "MIT", "dependencies": { "undici-types": "~7.18.0" @@ -2734,12 +2745,15 @@ } }, "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", "license": "Apache-2.0", "bin": { - "baseline-browser-mapping": "dist/cli.js" + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/braces": { @@ -2808,9 +2822,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001770", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001770.tgz", - "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==", + "version": "1.0.30001776", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001776.tgz", + "integrity": "sha512-sg01JDPzZ9jGshqKSckOQthXnYwOEP50jeVFhaSFbZcOy05TiuuaffDOfcwtCisJ9kNQuLBFibYywv2Bgm9osw==", "funding": [ { "type": "opencollective", @@ -2975,9 +2989,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.286", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", - "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", + "version": "1.5.307", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", + "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", "license": "ISC" }, "node_modules/emoji-regex": { @@ -4125,9 +4139,9 @@ } }, "node_modules/path-is-network-drive": { - "version": "1.0.21", - "resolved": "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.21.tgz", - "integrity": "sha512-B1PzE3CgxNKY0/69Urjw3KNi4K+4q4IBsvq02TwURsdNLZj2YUn0HGw2o26IrGV4YUffg7IHZiwKJ/EDhXMQyg==", + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/path-is-network-drive/-/path-is-network-drive-1.0.24.tgz", + "integrity": "sha512-sux7NWiMq/ul8EEQTQbdM1m/zr+Rrq11/P9tEBgxMgTnVHS8f54tQm0kfrTxkvPNg/OVkRjHNgSia5VxnawOZg==", "license": "ISC", "dependencies": { "tslib": "^2" @@ -4140,9 +4154,9 @@ "license": "MIT" }, "node_modules/path-strip-sep": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.18.tgz", - "integrity": "sha512-IGC/vjHigvKV9RsE4ArZiGNkqNrb0tk1j/HO0TS49duEUqGSy1y464XhCWyTLFwqe7w7wFsdCX9fqUmAHoUaxA==", + "version": "1.0.21", + "resolved": "https://registry.npmjs.org/path-strip-sep/-/path-strip-sep-1.0.21.tgz", + "integrity": "sha512-V5Lvyhx0fE6/wEk/YseTtoRQIaD32cepnzrQ1b3kOzOxxDoSglry8IZ1b6LPObIeIbpC0+i9ygUsBNhkOttQKw==", "license": "ISC", "dependencies": { "tslib": "^2" @@ -4701,6 +4715,27 @@ "node": ">=8.0" } }, + "node_modules/ts-toolbelt": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", + "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/ts-type": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ts-type/-/ts-type-3.0.1.tgz", + "integrity": "sha512-cleRydCkBGBFQ4KAvLH0ARIkciduS745prkGVVxPGvcRGhMMoSJUB7gNR1ByKhFTEYrYRg2CsMRGYnqp+6op+g==", + "license": "ISC", + "dependencies": { + "@types/node": "*", + "tslib": ">=2", + "typedarray-dts": "^1.0.0" + }, + "peerDependencies": { + "ts-toolbelt": "^9.6.0" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -4720,6 +4755,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typedarray-dts": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typedarray-dts/-/typedarray-dts-1.0.0.tgz", + "integrity": "sha512-Ka0DBegjuV9IPYFT1h0Qqk5U4pccebNIJCGl8C5uU7xtOs+jpJvKGAY4fHGK25hTmXZOEUl9Cnsg5cS6K/b5DA==", + "license": "MIT" + }, "node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", @@ -4762,14 +4803,15 @@ } }, "node_modules/upath2": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/upath2/-/upath2-3.1.20.tgz", - "integrity": "sha512-g+t9q+MrIsX60eJzF4I/YNYmRmrT0HJnnEaenbUy/FFO1lY04YQoiJ/qS4Ou+a+D9WUPxN0cVUYXkkX9b1EAMw==", + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/upath2/-/upath2-3.1.23.tgz", + "integrity": "sha512-HQ7CivlKonWnq7m7VZuZHIDXXUCHOoCoIqgVyCk/z/wsuB/agGwGFhFjGSTArGlvBddiejrW4ChW6SwEMhAURQ==", "license": "ISC", "dependencies": { + "@lazy-node/types-path": "^1.0.3", "@types/node": "*", - "path-is-network-drive": "^1.0.21", - "path-strip-sep": "^1.0.18", + "path-is-network-drive": "^1.0.24", + "path-strip-sep": "^1.0.21", "tslib": "^2" } }, diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix index 82ea041a691d..ff130ee44711 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/scheduler-card/package.nix @@ -6,20 +6,20 @@ buildNpmPackage rec { pname = "scheduler-card"; - version = "4.0.13"; + version = "4.0.14"; src = fetchFromGitHub { owner = "nielsfaber"; repo = "scheduler-card"; tag = "v${version}"; - hash = "sha256-VeuIn9C+xnfB8wSPTCHP/MxFsr1HrIUlHk186QWDXv0="; + hash = "sha256-cW46bxD50p1kkCP729GsUDMO+iLkXJcil3lNgjrCsh0="; }; postPatch = '' cp ${./package-lock.json} package-lock.json ''; - npmDepsHash = "sha256-RiCOUJlFHhMWLAXkT+nwPBnVE77cU+6s0YRbyUqpRYI="; + npmDepsHash = "sha256-UvErPy3jgbaGBZnqix6fm8BhZp1he0z5JJj8kzE+Sbc="; npmBuildScript = "rollup"; From e6073f9db954270aefc8647bb540c70ba694b7a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 4 Mar 2026 03:27:13 +0100 Subject: [PATCH 29/92] paperless-ngx: ignore a failing test --- pkgs/by-name/pa/paperless-ngx/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/pa/paperless-ngx/package.nix b/pkgs/by-name/pa/paperless-ngx/package.nix index 387fee34efa3..7d795de56e90 100644 --- a/pkgs/by-name/pa/paperless-ngx/package.nix +++ b/pkgs/by-name/pa/paperless-ngx/package.nix @@ -339,6 +339,8 @@ python.pkgs.buildPythonApplication rec { # execnet.gateway_base.DumpError: can't serialize # https://github.com/pytest-dev/pytest-xdist/issues/384 "test_subdirectory_upload" + # AssertionError: 4 != 3 + "testNormalOperation" ]; doCheck = !stdenv.hostPlatform.isDarwin; From 7b55f5b902e931d0b8f355e80a1e2424999ccb89 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 03:43:54 +0000 Subject: [PATCH 30/92] hoppscotch: 26.1.1-0 -> 26.2.0-0 --- pkgs/by-name/ho/hoppscotch/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ho/hoppscotch/package.nix b/pkgs/by-name/ho/hoppscotch/package.nix index 609f7972f528..bca07b4f7236 100644 --- a/pkgs/by-name/ho/hoppscotch/package.nix +++ b/pkgs/by-name/ho/hoppscotch/package.nix @@ -8,22 +8,22 @@ let pname = "hoppscotch"; - version = "26.1.1-0"; + version = "26.2.0-0"; src = fetchurl { aarch64-darwin = { url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg"; - hash = "sha256-O+LJFg7js0anQxKzruVuaWO4JE6M70Gcq8TowejWLIc="; + hash = "sha256-aSllZvfdx80MnqA7EyhaRoMWewtKg0mW53VRC9ITBnI="; }; x86_64-darwin = { url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg"; - hash = "sha256-yF1fyk++CigS/sD2qttM3e2H4Dxq0wXM6be32egl0t0="; + hash = "sha256-KpIfbgWlbPD09NgJd8jh6zhGB2GhWTM9C/Ko8AWtmKw="; }; x86_64-linux = { url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage"; - hash = "sha256-IoK+bLGox/9To3EzR1pk/ku/e+nm1PDpvz/5b59csu8="; + hash = "sha256-Dhj8FpRTUZineAIKYLHPzr7AiArce/Un+HfJ4PbjfSg="; }; } .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); From d66ac18f26ca1e41c039942f457b82237e717518 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 05:32:05 +0000 Subject: [PATCH 31/92] godns: 3.3.5 -> 3.3.6 --- pkgs/by-name/go/godns/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/go/godns/package.nix b/pkgs/by-name/go/godns/package.nix index c198b1250b35..6e18ac4a8911 100644 --- a/pkgs/by-name/go/godns/package.nix +++ b/pkgs/by-name/go/godns/package.nix @@ -10,19 +10,19 @@ buildGoModule (finalAttrs: { pname = "godns"; - version = "3.3.5"; + version = "3.3.6"; src = fetchFromGitHub { owner = "TimothyYe"; repo = "godns"; tag = "v${finalAttrs.version}"; - hash = "sha256-nahX1XEiH7o+r6XxTAhT4kLTx9oGC+YVnw/U0PvzCO8="; + hash = "sha256-YdIXMVtagF7uA9By6EHVdG2o5UwUi82XkYK26W5Fssg="; }; - vendorHash = "sha256-n56e4kU2BorBwdsjI68V+Kpxby6t/foRP8yQ1RPQuog="; + vendorHash = "sha256-wGaRJFxuhwwwP7CBZ7eY5uR95EMdpWiJuU43eWXtHNo="; npmDeps = fetchNpmDeps { src = "${finalAttrs.src}/web"; - hash = "sha256-4QH0jI2KAf935EFNVEwuojZPW10rSAnr5Zr+CNm0DGM="; + hash = "sha256-OsYBmDawDUCt/+s5kyOPawMA9BWQwJhd7TQNc55rPlc="; }; npmRoot = "web"; From db21201d66409dbdc240dc063d2498f2cb32e412 Mon Sep 17 00:00:00 2001 From: Bart Oostveen Date: Wed, 4 Mar 2026 06:34:23 +0100 Subject: [PATCH 32/92] matrix-continuwuity: 0.5.5 -> 0.5.6 --- pkgs/by-name/ma/matrix-continuwuity/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ma/matrix-continuwuity/package.nix b/pkgs/by-name/ma/matrix-continuwuity/package.nix index 2f4802e8ecc7..0808db452bdb 100644 --- a/pkgs/by-name/ma/matrix-continuwuity/package.nix +++ b/pkgs/by-name/ma/matrix-continuwuity/package.nix @@ -72,17 +72,17 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "matrix-continuwuity"; - version = "0.5.5"; + version = "0.5.6"; src = fetchFromGitea { domain = "forgejo.ellis.link"; owner = "continuwuation"; repo = "continuwuity"; tag = "v${finalAttrs.version}"; - hash = "sha256-mEdhnyzuW2fTP/dBpJE6EnvTH2fbQXOOwZgjJ1trQmU="; + hash = "sha256-p6dL1wL9n+1ivUItdlZuLxTneDBjCHEdNr0ukau2rHI="; }; - cargoHash = "sha256-giG4SZNh7uV7PIeHv0npfkgYi6lWn55YktKHOF7HGyM="; + cargoHash = "sha256-lLbnFA2WS96er84G2e9bGrYhhqe2zL3Npn1SXB3De2w="; nativeBuildInputs = [ pkg-config From ef43c0f4f10f5439464506f6443ff565f8e9c648 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 05:55:25 +0000 Subject: [PATCH 33/92] google-cloud-sql-proxy: 2.21.0 -> 2.21.1 --- pkgs/by-name/go/google-cloud-sql-proxy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/google-cloud-sql-proxy/package.nix b/pkgs/by-name/go/google-cloud-sql-proxy/package.nix index ca0022034433..4e65566a0a90 100644 --- a/pkgs/by-name/go/google-cloud-sql-proxy/package.nix +++ b/pkgs/by-name/go/google-cloud-sql-proxy/package.nix @@ -7,18 +7,18 @@ buildGoModule (finalAttrs: { pname = "google-cloud-sql-proxy"; - version = "2.21.0"; + version = "2.21.1"; src = fetchFromGitHub { owner = "GoogleCloudPlatform"; repo = "cloud-sql-proxy"; rev = "v${finalAttrs.version}"; - hash = "sha256-w2SDoIxuPNd4CasLlTK+ypkf7/T+kWSSjheU+KnloDw="; + hash = "sha256-3C7IfpVcv1BpzKnMV6dQJ0e7hY50owR3YijlI2+cAJQ="; }; subPackages = [ "." ]; - vendorHash = "sha256-XxujTfBa6Y1KS4VCpd8xZ0ijfc6LjB1G1kUS+XSAlZc="; + vendorHash = "sha256-tbglk7rscPx1RrURSzVW5FgZE6b6mp4tvOXVQKMUrjQ="; checkFlags = [ "-short" From 5f05e02d64c7ebc60bea7337acd74b63eaa66779 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 02:06:50 +0000 Subject: [PATCH 34/92] reproxy: 1.4.0 -> 1.5.0 --- pkgs/by-name/re/reproxy/package.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/re/reproxy/package.nix b/pkgs/by-name/re/reproxy/package.nix index db9fa4f9330f..7eef6040875a 100644 --- a/pkgs/by-name/re/reproxy/package.nix +++ b/pkgs/by-name/re/reproxy/package.nix @@ -2,21 +2,24 @@ lib, buildGoModule, fetchFromGitHub, + installShellFiles, }: buildGoModule (finalAttrs: { pname = "reproxy"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "umputun"; repo = "reproxy"; tag = "v${finalAttrs.version}"; - hash = "sha256-pnmm/JEMcQ5UQUwUqGdzC/BphrH4tBz79Bq3c13GqbA="; + hash = "sha256-nJAE2oEoIzuRFRlgypRROXZYfQy3y2m14QbBUUGQBSg="; }; vendorHash = null; + nativeBuildInputs = [ installShellFiles ]; + ldflags = [ "-s" "-w" @@ -30,6 +33,7 @@ buildGoModule (finalAttrs: { postInstall = '' mv $out/bin/{app,reproxy} + installShellCompletion completions/* ''; __darwinAllowLocalNetworking = true; From 23af106e1cc6f303380f0b75227a175153cb917d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 06:57:25 +0000 Subject: [PATCH 35/92] velocity: 3.5.0-unstable-2026-02-21 -> 3.5.0-unstable-2026-03-03 --- pkgs/by-name/ve/velocity/deps.json | 487 +++++++++++---------------- pkgs/by-name/ve/velocity/package.nix | 6 +- 2 files changed, 205 insertions(+), 288 deletions(-) diff --git a/pkgs/by-name/ve/velocity/deps.json b/pkgs/by-name/ve/velocity/deps.json index 0d16db28b2a6..448dac502adb 100644 --- a/pkgs/by-name/ve/velocity/deps.json +++ b/pkgs/by-name/ve/velocity/deps.json @@ -19,23 +19,23 @@ "module": "sha256-IFNqlfL+sr9DBRKMaq7Lb9idxFeYqchfJgK4qAnXUNs=", "pom": "sha256-Q1z/VXiZht7arXF/aPuo1UgklHhWLc2EsirU1lZvRAs=" }, - "com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/8.2.1": { - "pom": "sha256-MGt3fcOfRP7GK1C97+QbcWvrD9fNP4FXInOhNMLhVbk=" + "com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/8.2.0": { + "pom": "sha256-1nvChuPoUGCKeXA1XY4yL092A083D/D73dt77fivYns=" }, - "com/diffplug/spotless#spotless-lib-extra/4.3.0": { - "jar": "sha256-dU+ATAnfouuNU5YzEdK+aPG0pWIQEdy1UNcC6tKGUdk=", - "module": "sha256-yImJBeaSp+CHATV8PK0NT+JqogjNerDe2NcNOSnLoRI=", - "pom": "sha256-C5N93//pxrgmIDYU755aLQs8INjMa3kitIgdl9MbaJ0=" + "com/diffplug/spotless#spotless-lib-extra/4.2.0": { + "jar": "sha256-Zn7uviqjTQpRIc8koZdrPBRQytwKEdqw3BEWokXPScY=", + "module": "sha256-pUwFcWAoiUFDeZCuqzXavd6Ri/zfyNLPwWhDCp5cxTQ=", + "pom": "sha256-ZRIf+E/eD++jtNXrBKnPVka8z5JFqCfPzHyJFDr3t34=" }, - "com/diffplug/spotless#spotless-lib/4.3.0": { - "jar": "sha256-Zp+ETsCpdJQcbaBLZwdI9DF4I5ttmf3bWwYs6dBtCTk=", - "module": "sha256-I1HAgP4kVTNGAv/QqCHYit9ipT5uoYTEOV9PVQXeNyM=", - "pom": "sha256-dPwsK8oRHUP/q/jWPYuegjpEOIWHevxxWInI6ckUaNM=" + "com/diffplug/spotless#spotless-lib/4.2.0": { + "jar": "sha256-8qOe5LxqmL29ariGw10jhSKs/j+wr5Wpyn+Nm2yi6JQ=", + "module": "sha256-2gdqn2UEezS5yUcJsbIWKqhF90EyBPtA8tmYWK5u1sY=", + "pom": "sha256-0P1S3Sgh90tZmdl1DnIzh3dyMY/6GEdbB6ItWDrjPcg=" }, - "com/diffplug/spotless#spotless-plugin-gradle/8.2.1": { - "jar": "sha256-2/RPjfGDKAAkHU8TUSn8khuoL7ItckMMxC1NPVu/nTw=", - "module": "sha256-OPb28k3QWmJskcwWOvTThnq9UPCGdnqmTaJfMg+ik5s=", - "pom": "sha256-s578nCtRfx6eiNa+IvYyYZ3oOqDi49F1RaAXUDtxNPg=" + "com/diffplug/spotless#spotless-plugin-gradle/8.2.0": { + "jar": "sha256-ohJ5aiQ3M5+oH1hCQ7WfBtUas6mjQPLN9rGUBEQXefY=", + "module": "sha256-NMCTxQIrGzueJvGDW6JYNKMV7a41/2bv+iE5528MEiw=", + "pom": "sha256-yZIwMm954KZ4M0gs0HWGn8qyIrf17xuZpnOH5RjyAio=" }, "com/google/code/gson#gson-parent/2.8.9": { "pom": "sha256-sW4CbmNCfBlyrQ/GhwPsN5sVduQRuknDL6mjGrC7z/s=" @@ -304,20 +304,20 @@ "module": "sha256-IFNqlfL+sr9DBRKMaq7Lb9idxFeYqchfJgK4qAnXUNs=", "pom": "sha256-Q1z/VXiZht7arXF/aPuo1UgklHhWLc2EsirU1lZvRAs=" }, - "com/diffplug/spotless#spotless-lib-extra/4.3.0": { - "jar": "sha256-dU+ATAnfouuNU5YzEdK+aPG0pWIQEdy1UNcC6tKGUdk=", - "module": "sha256-yImJBeaSp+CHATV8PK0NT+JqogjNerDe2NcNOSnLoRI=", - "pom": "sha256-C5N93//pxrgmIDYU755aLQs8INjMa3kitIgdl9MbaJ0=" + "com/diffplug/spotless#spotless-lib-extra/4.2.0": { + "jar": "sha256-Zn7uviqjTQpRIc8koZdrPBRQytwKEdqw3BEWokXPScY=", + "module": "sha256-pUwFcWAoiUFDeZCuqzXavd6Ri/zfyNLPwWhDCp5cxTQ=", + "pom": "sha256-ZRIf+E/eD++jtNXrBKnPVka8z5JFqCfPzHyJFDr3t34=" }, - "com/diffplug/spotless#spotless-lib/4.3.0": { - "jar": "sha256-Zp+ETsCpdJQcbaBLZwdI9DF4I5ttmf3bWwYs6dBtCTk=", - "module": "sha256-I1HAgP4kVTNGAv/QqCHYit9ipT5uoYTEOV9PVQXeNyM=", - "pom": "sha256-dPwsK8oRHUP/q/jWPYuegjpEOIWHevxxWInI6ckUaNM=" + "com/diffplug/spotless#spotless-lib/4.2.0": { + "jar": "sha256-8qOe5LxqmL29ariGw10jhSKs/j+wr5Wpyn+Nm2yi6JQ=", + "module": "sha256-2gdqn2UEezS5yUcJsbIWKqhF90EyBPtA8tmYWK5u1sY=", + "pom": "sha256-0P1S3Sgh90tZmdl1DnIzh3dyMY/6GEdbB6ItWDrjPcg=" }, - "com/diffplug/spotless#spotless-plugin-gradle/8.2.1": { - "jar": "sha256-2/RPjfGDKAAkHU8TUSn8khuoL7ItckMMxC1NPVu/nTw=", - "module": "sha256-OPb28k3QWmJskcwWOvTThnq9UPCGdnqmTaJfMg+ik5s=", - "pom": "sha256-s578nCtRfx6eiNa+IvYyYZ3oOqDi49F1RaAXUDtxNPg=" + "com/diffplug/spotless#spotless-plugin-gradle/8.2.0": { + "jar": "sha256-ohJ5aiQ3M5+oH1hCQ7WfBtUas6mjQPLN9rGUBEQXefY=", + "module": "sha256-NMCTxQIrGzueJvGDW6JYNKMV7a41/2bv+iE5528MEiw=", + "pom": "sha256-yZIwMm954KZ4M0gs0HWGn8qyIrf17xuZpnOH5RjyAio=" }, "com/electronwill/night-config#core/3.8.3": { "jar": "sha256-lx3IjBwiCFYR7hwwD1u/hZWTgXjoGb77temMPL0nK3k=", @@ -429,6 +429,10 @@ "jar": "sha256-xiIXY715xPHD3H91C18poLs4s2e4ExTE9xiW40DECCU=", "pom": "sha256-pTMaDstUj5lCq1uTx6xDw4oh6Jd2Pd4bzb8HdPQWym8=" }, + "com/google/errorprone#error_prone_annotations/2.11.0": { + "jar": "sha256-chy5GEK0b6BWhH0QTVIlyLjh6LYiY7mTBR4eWgE3t+w=", + "pom": "sha256-AmHKAfLS6awq4uznXULFYyOzhfspS2vJQ/Yu9Okt3wg=" + }, "com/google/errorprone#error_prone_annotations/2.18.0": { "jar": "sha256-nmgUy3GBaYik/RsHqZOo8hu3BY1SLBYrHehJ4ZvqVK4=", "pom": "sha256-kgE1eX3MpZF7WlwBdkKljTQKTNG80S9W+JKlZjvXvdw=" @@ -448,6 +452,9 @@ "jar": "sha256-SCcudcFuH3vce9GVKcys1e4XBARwHX9aI0QbtYR5V/U=", "pom": "sha256-T2uIia+o3r2+Hj/ipfjmbiIWygtWPya05UE4cw7s3IA=" }, + "com/google/errorprone#error_prone_parent/2.11.0": { + "pom": "sha256-goPwy0TGJKedMwtv2AuLinFaaLNoXJqVHD3oN9RUBVE=" + }, "com/google/errorprone#error_prone_parent/2.18.0": { "pom": "sha256-R/Iumce/RmOR3vFvg3eYXl07pvW7z2WFNkSAVRPhX60=" }, @@ -480,6 +487,9 @@ "com/google/guava#guava-parent/27.1-jre": { "pom": "sha256-02EBZcbeK02NZBhIdxe2PFK1o5xeNaVT4khz7LYOBig=" }, + "com/google/guava#guava-parent/31.1-jre": { + "pom": "sha256-RDliZ4O0StJe8F/wdiHdS7eWzE608pZqSkYf6kEw4Pw=" + }, "com/google/guava#guava-parent/32.0.1-jre": { "pom": "sha256-Q+0ONrNT9B5et1zXVmZ8ni35fO8G6xYGaWcVih0DTSo=" }, @@ -497,6 +507,10 @@ "jar": "sha256-SlqnDMlopNE35ZmtN1U+XP7tImXowZNHbXEZA2xTb+c=", "pom": "sha256-vZnXUAYTGuJcmGCh1j6E42Nx8RL9sML+PV1qs46esnE=" }, + "com/google/guava#guava/31.1-jre": { + "jar": "sha256-pC7cnKt5Ljn+ObuU8/ymVe0Vf/h6iveOHWulsHxKAKs=", + "pom": "sha256-kZPQe/T2YBCNc1jliyfSG0TjToDWc06Y4hkWN28nDeI=" + }, "com/google/guava#guava/32.0.1-jre": { "jar": "sha256-vX+iJ1kfuFCWd9DREiz5UVjzuKn0VlP1goHYefbcSMU=", "pom": "sha256-QsJX9/c203ezGv7u6XirJtcwzXCvYN3nZi4YI1LiSCo=" @@ -528,6 +542,10 @@ "jar": "sha256-KZSn63jycQvT07+2ObLJTiGc7awNTQhNUW54wW3d7PY=", "pom": "sha256-8MmMVx6Tp8tN0Y3w+jCPCWPnoGIKwtQkTmHnCdA61r4=" }, + "com/google/j2objc#j2objc-annotations/1.3": { + "jar": "sha256-Ia8wySJnvWEiwOC00gzMtmQaN+r5VsZUDsRx1YTmSns=", + "pom": "sha256-X6yoJLoRW+5FhzAzff2y/OpGui/XdNQwTtvzD6aj8FU=" + }, "com/google/j2objc#j2objc-annotations/2.8": { "jar": "sha256-8CqV+hpele2z7YWf0Pt99wnRIaNSkO/4t03OKrf01u0=", "pom": "sha256-N/h3mLGDhRE8kYv6nhJ2/lBzXvj6hJtYAMUZ1U2/Efg=" @@ -557,9 +575,13 @@ "module": "sha256-/ccJZrzS41x5Tc4sF7mZwuZpUOFYUx6Z3BUfsOvCllM=", "pom": "sha256-oX8TWPGK17qq5NszR8IAtPOu3Q2cd25yrPYplNTH+9E=" }, - "com/puppycrawl/tools#checkstyle/13.0.0": { - "jar": "sha256-5svIBFeWwxyNmv9mq+G/EfmhmHyI6SKfFn4+yec14P8=", - "pom": "sha256-MayhsoVeDtilJ17lMfDBluWdGfILo2Ix2T3CRoDwclQ=" + "com/moandjiezana/toml#toml4j/0.7.2": { + "jar": "sha256-9UdeY+fonl22IiNImux6Vr0wNUN3IHehfCy1TBnKOiA=", + "pom": "sha256-W3YhZzfy2pODlTrMybpY9uc500Rnh5nm1NCCz24da9M=" + }, + "com/puppycrawl/tools#checkstyle/10.9.3": { + "jar": "sha256-1X3pra1Cq2C7KXLlD4OhMcqm9iNHhPWUOjhxIAZhWR8=", + "pom": "sha256-qDfEUo/JqQ1oi8lQOcdSSCQPfG16GonZSDro+CWc508=" }, "com/spotify#completable-futures/0.3.6": { "jar": "sha256-n0HBSTwY6CiJMqGDBzzjnhiGUtKsQBPt6rXHO7DYMZ8=", @@ -586,13 +608,13 @@ "jar": "sha256-qtv9WlJFUb7vENP4kdMFuDuyfVRwPZpN56yioS2YR+I=", "pom": "sha256-ffmOk+i9xqjtuGMUrIujHyYMvUoOa4b16a/JMlEu8Mc=" }, - "commons-beanutils#commons-beanutils/1.11.0": { - "jar": "sha256-nkS6aOyaPyEob6Kou7ADtzXA9pEBu0MUS3n0+KqnRwk=", - "pom": "sha256-z/nqsddRJkvXdbbj6+0WUHlMrJzYvhxBa0jjpcYTnZM=" + "commons-beanutils#commons-beanutils/1.9.4": { + "jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=", + "pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA=" }, - "commons-codec#commons-codec/1.11": { - "jar": "sha256-5ZnVMY6Xqkj0ITaikn5t+k6Igd/w5sjjEJ3bv/Ude30=", - "pom": "sha256-wecUDR3qj981KLwePFRErAtUEpcxH0X5gGwhPsPumhA=" + "commons-codec#commons-codec/1.15": { + "jar": "sha256-s+n21jp5AQm/DQVmEfvtHPaQVYJt7+uYlKcTadJG7WM=", + "pom": "sha256-yG7hmKNaNxVIeGD0Gcv2Qufk2ehxR3eUfb5qTjogq1g=" }, "commons-codec#commons-codec/1.20.0": { "jar": "sha256-avZllfn2p7tYzmZRjWiI1AtUfDZtImLwZnbu4ZUo/2Y=", @@ -611,118 +633,114 @@ "module": "sha256-pnYDnqavCPJXtG4Hwr8VcaRqTUtbnMuGw/yY0H+v6hs=", "pom": "sha256-arSo7K4qu9NrkZ0Lm5+yTBdxSPE+U2TJegxu4Ro/xCY=" }, - "info/picocli#picocli/4.7.7": { - "jar": "sha256-+G4w//0Q0rE7jKqNSyN6fuYfL/zPWxlB3nGLdl0jW/g=", - "pom": "sha256-GxjTYxNN9mYx0rn3R1Bo1zQiW6OJzfkIKhvYvakNV9M=" - }, - "io/hotmoka#toml4j/0.7.3": { - "jar": "sha256-LuLTLMaF/I+YfMBZUFnRh+MyykHhropRX+rQNvt3e8E=", - "pom": "sha256-5uON4WRKo2jb7IdQeTRT7eHsXUGXLUTkkCcBBS5rpzw=" + "info/picocli#picocli/4.7.1": { + "jar": "sha256-DnGR++Mk+5340tIHwHtma43CW7vib1OkxS4v7OYkqXY=", + "pom": "sha256-+pvmlFd2A+LUy1X0UjctP2wPk+XzjuXNf7Yos3k8qbw=" }, "io/leangen/geantyref#geantyref/1.3.16": { "jar": "sha256-fx1ZEJLVFCtqqnz1n5TEx01X2+7wOy+CYpSfjza6xuM=", "pom": "sha256-JCgbY4MutO8QZOfd/b57eWquGr+IeYrb9NC5ZpurpKQ=" }, - "io/netty#netty-buffer/4.2.9.Final": { - "jar": "sha256-0BOpas6kiJvAHuA3ONU8LkoF4/rsFMJakrQiTHfXpAg=", - "pom": "sha256-0Fsmqy58aeaUCb5HuFEA7lLe/0ox5c486Cdz39NrnvA=" + "io/netty#netty-buffer/4.2.7.Final": { + "jar": "sha256-uBYTyO0iscw57M8qKL0MHUVh+y5eVCBhYX70zh0ii/U=", + "pom": "sha256-6mGx9EqNui22yX8iou5DGsVil430rDlUcei28oZtwH4=" }, - "io/netty#netty-codec-base/4.2.9.Final": { - "jar": "sha256-KEoouE9Uus42qeYC49lpRpbSLFbycZevBG4aZUfysJM=", - "pom": "sha256-zTp/Ub4OeSb6iZCf3cCPF4gpOm15MYDjnG5nIxKNyFI=" + "io/netty#netty-codec-base/4.2.7.Final": { + "jar": "sha256-Y2BBW3yHFgr83l59SUbDVTm58EPoFmyRp//5XMYGfZ8=", + "pom": "sha256-Mu41Sjk4YJqMC/Ay9GxwqzJ9eFVR0mmDdwyakDIJKPo=" }, - "io/netty#netty-codec-compression/4.2.9.Final": { - "jar": "sha256-RSOmX+lb9HSv3Pr34sIUsIjSN22sxDc3virPloUgvn4=", - "pom": "sha256-9GACbD9AEEUjZC0xvhto19Jk672//Z1MUbOETdxF1FQ=" + "io/netty#netty-codec-compression/4.2.7.Final": { + "jar": "sha256-7dU600mRgEMBpGVxET2P+01vZ+bYdGdNr7uRVyQnXLM=", + "pom": "sha256-uAzpd/6sX//UviPOI03TtvtMNXVrJRL7AdzcAdinSoc=" }, - "io/netty#netty-codec-haproxy/4.2.9.Final": { - "jar": "sha256-4UOPOyqbTtxS8ibk+ngEgY/5eQj2E2yxgNl3o4v/KTY=", - "pom": "sha256-RGfxxJoD1gIPRuSkrGZMqCMkkE6AeyWltgsbChQm6vs=" + "io/netty#netty-codec-haproxy/4.2.7.Final": { + "jar": "sha256-bwnVN5FKpGWJE4TIpM8NuXfdkAmgtzqBoFDwpsv6lfc=", + "pom": "sha256-Rc/v9/EyJXbOPaHMuoo0i0ANceNu1UVGEm1q1ZcJBPo=" }, - "io/netty#netty-codec-http/4.2.9.Final": { - "jar": "sha256-p2zLXTLJc9OkY3EMm/gzVJlTVNHDnh5LxhVcYotxogo=", - "pom": "sha256-84KznS+10O4TatoYqKe262GNdquSV5vG7azxtEgNygc=" + "io/netty#netty-codec-http/4.2.7.Final": { + "jar": "sha256-KYTdOEIKYcTdaPysxR/8Uo60b3P3eVza/bOk1vy3aGI=", + "pom": "sha256-hQc6wlleQUiRi1psLnAZMtedm+GNTx212S1qojlj4oA=" }, - "io/netty#netty-codec-marshalling/4.2.9.Final": { - "jar": "sha256-R5m90xTiOtMsJWx/XnOKUtC9l7nV/n8ujwiIBn9qDfc=", - "pom": "sha256-F3mnWzjkqUjxCCpjCituGG1sa12QT+zRstlbzt1H7Ko=" + "io/netty#netty-codec-marshalling/4.2.7.Final": { + "jar": "sha256-5VCtt1jupDqkneAOdBiwmJMXEdSjHWLmXEGwmUyVsjc=", + "pom": "sha256-77XNFeXpIODSbygJ+aiRp5fxOJ9hEX5VFLfmNaOPmjM=" }, - "io/netty#netty-codec-protobuf/4.2.9.Final": { - "jar": "sha256-EFYZ4pUDY5fwd4a1b8fk9FqB4lhybLCfVh/pDBZ/PEA=", - "pom": "sha256-/enz9XoZkMY08yG4yp5nnRHZ0LOiuzSGfGvHzoqaTco=" + "io/netty#netty-codec-protobuf/4.2.7.Final": { + "jar": "sha256-SyUlm2916/x38BSgj2m60BkRbU9cpUj9xB89rYwN4zE=", + "pom": "sha256-Ub3X5EMhhkFp9Oqt7RQaaXLBhkh+/fAa59t/3jaQcSU=" }, - "io/netty#netty-codec/4.2.9.Final": { - "jar": "sha256-4pF9hkc0rOOV74xnY5F7fmAZrVO4p8+PQKO9UiaN50Q=", - "pom": "sha256-hi3Qk8SJSXMHZEsOuja+PG4wf4Vn3/veyEe3/QfX/l8=" + "io/netty#netty-codec/4.2.7.Final": { + "jar": "sha256-XzaWWDgXiZmMBCqY8C2nHZw5iEu7T3/VgoL3ZeCcoDE=", + "pom": "sha256-5FSK3jVlANmEy7jJP9iEZacPdWHlGbyV6y/O7s4bKjE=" }, - "io/netty#netty-common/4.2.9.Final": { - "jar": "sha256-mdll1QewlZmrLSFelAxpDU986M2X/xN3aqF+tODZC4o=", - "pom": "sha256-17ECJZg72gPp+Kgz1TmmARv8s6KF4jF2k/T5g5vXdzw=" + "io/netty#netty-common/4.2.7.Final": { + "jar": "sha256-I0W8DtWEP6V6pJ66Z1KUhcOh1CD88EKTJMgiDHqA6aY=", + "pom": "sha256-/jMRoayD8KGH/n2+Be6B6Ef2JvmtkN2wx4WusJ0Y/DM=" }, - "io/netty#netty-handler/4.2.9.Final": { - "jar": "sha256-4WEmxxHByCFzQogswNkIYAeFLLD5mjUc/r53JejH4QA=", - "pom": "sha256-VCVp7nmpH2qrBJqIv7LEVZipM+P6A5s/5/9A0q93XuM=" + "io/netty#netty-handler/4.2.7.Final": { + "jar": "sha256-IdBjQJwS287EbTgMiFag97altou18dAF6wZbTWQUbLM=", + "pom": "sha256-79QqDJKAKPlJsWREfBtOFt7eccgihRppL1hzEhTr0oM=" }, - "io/netty#netty-parent/4.2.9.Final": { - "pom": "sha256-fNer5MWD6zruhW9zr3eijbvfN+e6osbqhaDZ49aLfsI=" + "io/netty#netty-parent/4.2.7.Final": { + "pom": "sha256-56FYFCV9GpaNpyU3yRUscw7d9uf9Wj581wJuVclladM=" }, - "io/netty#netty-resolver/4.2.9.Final": { - "jar": "sha256-9MN0KqQ0cA4KJj64rp4LGugmhnQ+IdD8a6NI2lljYFM=", - "pom": "sha256-k3hoxxGqjzahYshXlZg71DwnIOhKlnrLtbGsw3B0tcY=" + "io/netty#netty-resolver/4.2.7.Final": { + "jar": "sha256-fk1WmGfmwIQ3+yGiIOoBwpSw448BFJtoPIlaG82ShDg=", + "pom": "sha256-F6vZjvgRyuBYbZ41xMUUZ3GXLrJy+Fek2eDDBe0hs5g=" }, - "io/netty#netty-transport-classes-epoll/4.2.9.Final": { - "jar": "sha256-s48fDtpKBDE4joyhrbuk3fpEzkZg417V7iiqMG29AAY=", - "pom": "sha256-Sd/PCNdBUhe9zdm4tQNnbMX41GbqCKkAnJnyMtlJ5/U=" + "io/netty#netty-transport-classes-epoll/4.2.7.Final": { + "jar": "sha256-RJKUjmp2lDmOUZfPFe0uIdZmKnOdAQrmZvonbnIihTw=", + "pom": "sha256-RoQ5xbLK4wAXuv2XaqJJfEiA/aYSSyPBrUKQt5CMXA8=" }, - "io/netty#netty-transport-classes-io_uring/4.2.9.Final": { - "jar": "sha256-6fnQYHSNgpbfMHiZI7KLPdgDmoVgYc6nRsYndd4WsMQ=", - "pom": "sha256-8JA/Icqjzvkn3u3k7dNJUmAdwIIHhLfE0+sY41djQ1A=" + "io/netty#netty-transport-classes-io_uring/4.2.7.Final": { + "jar": "sha256-/5ZodMYvU+0HKWLxv128Sf3dS9PGC/yafhfONLOax68=", + "pom": "sha256-fEFSqfVOcE6KSVjdiggLCaW3d6jqcxjxKNfOM4ayqic=" }, - "io/netty#netty-transport-classes-kqueue/4.2.9.Final": { - "jar": "sha256-qkLN0FzSvETe6qrjSamIaatTi3AQKB4ADWs01eBXcKY=", - "pom": "sha256-zDAhOh/3GjlIFb1JT5s6XAHFFoCOOt/AYf9iUK1IaWU=" + "io/netty#netty-transport-classes-kqueue/4.2.7.Final": { + "jar": "sha256-o+sclK4aa+nh0exSw/XFEKdbBLjvHqhrfnez8Sh648w=", + "pom": "sha256-mtwTZN1F7chJ933s8SVy3FR4XPbqx5wuhqdyXRGhczM=" }, - "io/netty#netty-transport-native-epoll/4.2.9.Final": { - "jar": "sha256-p3hrxbHVhOgmKUkdYwC5RcGUBaVC38oVn5Y+RHpU9mc=", - "pom": "sha256-DTjTPWo8sDka1+RkhwRqHXeNaoZ0ugHymnni0j7h7OI=" + "io/netty#netty-transport-native-epoll/4.2.7.Final": { + "jar": "sha256-vc+Af3LZqbf5hklxcQdlLKcVMkVwLomTnM63D4zKsY8=", + "pom": "sha256-ygZltZ4tBvqQRF5G/UBaYumOhrFL9TwC0eyCUYE8Vto=" }, - "io/netty#netty-transport-native-epoll/4.2.9.Final/linux-aarch_64": { - "jar": "sha256-CPaBEynhlhJ0KZ85KXIPSqk/h7JZqU1gHC2ddm80WSo=" + "io/netty#netty-transport-native-epoll/4.2.7.Final/linux-aarch_64": { + "jar": "sha256-LwxzCdffSKiPs3TALPtEbhoeX7WX+wLXc8cKwH2iwmg=" }, - "io/netty#netty-transport-native-epoll/4.2.9.Final/linux-x86_64": { - "jar": "sha256-Kc4d3kCWN3kyedce1L4aru1Vr1emw0W0Y9ZZfhlU2K0=" + "io/netty#netty-transport-native-epoll/4.2.7.Final/linux-x86_64": { + "jar": "sha256-fzlcj9vmmQ92ZECLV9kZBCQBuJMXj8uki+vxphv3hhg=" }, - "io/netty#netty-transport-native-io_uring/4.2.9.Final": { - "jar": "sha256-vrTFJGgnshkiv6dDXDWImC0oJZ5Zx0HoixY7dT41P1o=", - "pom": "sha256-bH8FRivEqxkzkTvhgFRo6BDr313Lg6WvMZHYZCurfE8=" + "io/netty#netty-transport-native-io_uring/4.2.7.Final": { + "jar": "sha256-mKjWMVHe0xcscfhVIDrhlpgvAFIZaso7a6l9PoXUJgk=", + "pom": "sha256-Q543Rm1v45ZZHsS6JjVcjkRMOB0j9wVMIKL9isXJe0I=" }, - "io/netty#netty-transport-native-io_uring/4.2.9.Final/linux-aarch_64": { - "jar": "sha256-llDBxCNF+1ZochGCXK0Ed1r6lAWYL4XeOtOiV7IE5dE=" + "io/netty#netty-transport-native-io_uring/4.2.7.Final/linux-aarch_64": { + "jar": "sha256-hPw53BAZ9KbFJEsdealxTLZ/BFu9rk/vJvSYHm9nrb4=" }, - "io/netty#netty-transport-native-io_uring/4.2.9.Final/linux-x86_64": { - "jar": "sha256-+d4mzq7JD/2esBL9fMNx3c8y6HbR/tlSYK8I/CaXpg4=" + "io/netty#netty-transport-native-io_uring/4.2.7.Final/linux-x86_64": { + "jar": "sha256-wjZQn1W/khZm8CMu/rdWMnm2y0YNnko2xKukDSIXv2I=" }, - "io/netty#netty-transport-native-kqueue/4.2.9.Final": { - "jar": "sha256-g8oA+SJLLctYKEUDfKw8tY4BSdMcipDbpYDR+vDdPII=", - "pom": "sha256-04EjBoO0kQyVXkjIobpnN2YSPNnAjG5nQohwr4Spaws=" + "io/netty#netty-transport-native-kqueue/4.2.7.Final": { + "jar": "sha256-8BrzuSyghzja6ep5E3jCiF8wXSEK0W48VxZVueJr0Dw=", + "pom": "sha256-/0QzBLr/YGgE922pFg73w/Kh7mZcZe9it74n1vfAMqM=" }, - "io/netty#netty-transport-native-kqueue/4.2.9.Final/osx-aarch_64": { - "jar": "sha256-TXn53Ysk/48GFCq4RYUdvnJVDbixIsaTX1dlqzUbaz4=" + "io/netty#netty-transport-native-kqueue/4.2.7.Final/osx-aarch_64": { + "jar": "sha256-dkemlVjj1Jo1J4HCroGpfha0QtfGVloGtK4PFSmEidU=" }, - "io/netty#netty-transport-native-kqueue/4.2.9.Final/osx-x86_64": { - "jar": "sha256-nBq1OxEYK2VcA9xkbUdzrqmtNfUcGH1gOgZ9XdoSmtU=" + "io/netty#netty-transport-native-kqueue/4.2.7.Final/osx-x86_64": { + "jar": "sha256-opwItolXRqrKeW5ypCm8cF9AJn/rNfdc2Pu81N5t6Z8=" }, - "io/netty#netty-transport-native-unix-common/4.2.9.Final": { - "jar": "sha256-STRaXcaN0yt/6dPSNkDZGMDo5drLs/wWngwjGh/H7eo=", - "pom": "sha256-2LwuDXbPD+zk+ZeqsD0dJo4NEznMGWsyHdMk3y41zn8=" + "io/netty#netty-transport-native-unix-common/4.2.7.Final": { + "jar": "sha256-c2cDs/bRJ+GC9b6Ii24VcysMCNZjTgByU1KmqdGZdLI=", + "pom": "sha256-EnhcnEoH0qFDJYYWRWrqw6bgIqoXJBeYA04x+LDtHqk=" }, - "io/netty#netty-transport/4.2.9.Final": { - "jar": "sha256-CuLBawAmLrtdZy/J9qp76SuwY+vLCCbDwG4GoZvdHD4=", - "pom": "sha256-ud2qfeBju/KWMpl8hBtGSm4u5iW7v2qeZEIWWMpkv0g=" + "io/netty#netty-transport/4.2.7.Final": { + "jar": "sha256-qtxvsFwU+3iTaMo/hUchVJxy9sDYF5i7zPneG7cWiSs=", + "pom": "sha256-zQTiYzq09WBE6aFdUV6ZyBY4iZ2vB9gJdhlzp8DPnqo=" }, - "it/unimi/dsi#fastutil/8.5.18": { - "jar": "sha256-kJSuZ9AdCtJG+IbxGtVX/C55xyy/P+7YPhUSqK6Qp0o=", - "pom": "sha256-GE28pJp9A+Oh358Pl7RiCW6En1rQXFz3s4YibsFZ73k=" + "it/unimi/dsi#fastutil/8.5.15": { + "jar": "sha256-z/62ZzvfHm5Dd9aE3y9VrDWc9c9t9hPgXmLe7qUAk2o=", + "pom": "sha256-f2baEne0E7MncoaNO1C1XF/lTiZD8bVORZbk9Sofvtg=" }, "jakarta/inject#jakarta.inject-api/2.0.1": { "jar": "sha256-99yYBi/M8UEmq7dRtk+rEsMSVm6MvchINZi//OqTr3w=", @@ -857,41 +875,29 @@ "jar": "sha256-3ybMWPI19HfbB/dTulo6skPr5Xidn4ns9o3WLqmmbCg=", "pom": "sha256-amd2O3avzZyAuV5cXiR4LRjMGw49m0VK0/h1THa3aBU=" }, - "net/sf/saxon#Saxon-HE/12.9": { - "jar": "sha256-jzqSFqU3NnEyKT6su6nfBi6s6PixahhK9Z4uSDnUzUE=", - "pom": "sha256-+IDp0dQAyZwYkvWWTl/JIN0d7wViI1m5sFjzK1tCaXU=" + "net/sf/saxon#Saxon-HE/12.1": { + "jar": "sha256-IA8skvaHHVG8LhS3Br82TTvb8isnlgtu1rqH5BZk5VA=", + "pom": "sha256-0wqLQpc3MZf2YH5RpAppxVe7Ts7aweZU0bAiob/ZjYI=" }, - "org/antlr#antlr4-master/4.13.2": { - "pom": "sha256-Ct2gJmhYc/ZRNgF4v/xEbO7kgzCBc5466dbo8H6NkCo=" + "org/antlr#antlr4-master/4.11.1": { + "pom": "sha256-cupd6Nq7ZhV4X9D+qqur1T3NrnD+FrzXx7lobApuAK0=" }, - "org/antlr#antlr4-runtime/4.13.2": { - "jar": "sha256-3T6KE6LWab+E+42DTeNc5IdfJxV2mNIGJB7ISIqtyvc=", - "pom": "sha256-A84HonlsURsMlNwU/YbM3W44KMV5Z60jg94wTg0Runk=" + "org/antlr#antlr4-runtime/4.11.1": { + "jar": "sha256-4GxlU8HMwU02BS7EsPxvE7gIz5V7Wx3D9hv0AZlq2lk=", + "pom": "sha256-xFbsKVkHjFkfvX72mtlACnJ5IAaNdGmJx0q4BO1oGzQ=" }, "org/apache#apache/16": { "pom": "sha256-n4X/L9fWyzCXqkf7QZ7n8OvoaRCfmKup9Oyj9J50pA4=" }, - "org/apache#apache/18": { - "pom": "sha256-eDEwcoX9R1u8NrIK4454gvEcMVOx1ZMPhS1E7ajzPBc=" - }, "org/apache#apache/19": { "pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8=" }, - "org/apache#apache/21": { - "pom": "sha256-rxDBCNoBTxfK+se1KytLWjocGCZfoq+XoyXZFDU3s4A=" - }, "org/apache#apache/23": { "pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw=" }, - "org/apache#apache/34": { - "pom": "sha256-NnGunU0GKuO7mFcxx2CIuy9vfXJU4tME7p9pC5dlEyg=" - }, "org/apache#apache/35": { "pom": "sha256-6il9zRFBNui46LYwIw1Sp2wvxp9sXbJdZysYVwAHKLg=" }, - "org/apache#apache/6": { - "pom": "sha256-Eu21CW4T9Aw2LQvUCQJYn6lYZQUSP6Jnmc5QsRb6W7M=" - }, "org/apache/ant#ant-launcher/1.10.15": { "jar": "sha256-XIVRmQMHoDIzbZjdrtVJo5ponwfU1Ma5UGAb8is9ahs=", "pom": "sha256-ea+EKil53F/gAivAc8SYgQ7q2DvGKD7t803E3+MNrJU=" @@ -903,61 +909,42 @@ "jar": "sha256-djrNpKaViMnqiBepUoUf8ML8S/+h0IHCVl3EB/KdV5Q=", "pom": "sha256-R4DmHoeBbu4fIdGE7Jl7Zfk9tfS5BCwXitsp4j50JdY=" }, - "org/apache/commons#commons-lang3/3.8.1": { - "jar": "sha256-2sgH9lsHaY/zmxsHv+89h64/1G2Ru/iivAKyqDFhb2g=", - "pom": "sha256-7I4J91QRaFIFvQ2deHLMNiLmfHbfRKCiJ7J4vqBEWNU=" - }, "org/apache/commons#commons-parent/39": { "pom": "sha256-h80n4aAqXD622FBZzphpa7G0TCuLZQ8FZ8ht9g+mHac=" }, - "org/apache/commons#commons-parent/42": { - "pom": "sha256-zTE0lMZwtIPsJWlyrxaYszDlmPgHACNU63ZUefYEsJw=" - }, - "org/apache/commons#commons-parent/45": { - "pom": "sha256-nIhiPs+pHwEsZz7kYiwO60Nn5eDSItlg92zSCLGk/aY=" - }, "org/apache/commons#commons-parent/47": { "pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc=" }, - "org/apache/commons#commons-parent/84": { - "pom": "sha256-kjn7lxAdsnBw5Jg9ENM6DpHPZ2ytkb9TgVQiw1Ye+bE=" + "org/apache/commons#commons-parent/52": { + "pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4=" }, "org/apache/commons#commons-parent/91": { "pom": "sha256-0vi2/UgAtqrxIPWjgibV+dX8bbg3r5ni+bMwZ4aLmHI=" }, - "org/apache/commons#commons-text/1.3": { - "jar": "sha256-gYWzpTEQktg+0fGEwtCTsxBdcmu9doZ8MrNRFUK7mag=", - "pom": "sha256-3usrqXAeSV3DHTJjPrhrlLJLCpbg3Gf7h+cGLxUwJ6o=" - }, - "org/apache/geronimo/genesis#genesis-default-flava/2.0": { - "pom": "sha256-CObhRvTiRSZt/53YALEodd0jZ9P2ejSrZgoSbIESFfg=" - }, - "org/apache/geronimo/genesis#genesis-java5-flava/2.0": { - "pom": "sha256-58U1i7u8J9qlsyf2O8EmUKdd3J+axtS/oSeJvh8sKds=" - }, - "org/apache/geronimo/genesis#genesis/2.0": { - "pom": "sha256-ue0vndQ0YxFY13MI7lZIYiwinM7OFyLF43ekKWkj2uY=" - }, "org/apache/groovy#groovy-bom/4.0.27": { "module": "sha256-1sIlTINHuEzahMr3SRShh8Lzd+QoTo2Ls/kBUhgQqos=", "pom": "sha256-qkTrUr/f5h0ns+RQ0rNI2I3qo0N6tNnUmoQJU0j59vs=" }, - "org/apache/httpcomponents#httpclient/4.5.13": { - "jar": "sha256-b+kCalZsalABYIzz/DIZZkH2weXhmG0QN8zb1fMe90M=", - "pom": "sha256-eOua2nSSn81j0HrcT0kjaEGkXMKdX4F79FgB9RP9fmw=" + "org/apache/httpcomponents#httpcomponents-parent/12": { + "pom": "sha256-QgnwlZMhKYfCnWgBkXMJ3V5vcbU7Kx0ODw77mErRH6E=" }, - "org/apache/httpcomponents#httpcomponents-client/4.5.13": { - "pom": "sha256-nLpZTAjbcnHQwg6YRdYiuznmlYORC0Xn1d+C9gWNTdk=" + "org/apache/httpcomponents/client5#httpclient5-parent/5.1.3": { + "pom": "sha256-onsUE67OkqOqR3SRX3WJ4MYXnXKNKsailddY7k+iTMU=" }, - "org/apache/httpcomponents#httpcomponents-core/4.4.14": { - "pom": "sha256-IJ7ZMctXmYJS3+AnyqnAOtpiBhNkIylnkTEWX4scutE=" + "org/apache/httpcomponents/client5#httpclient5/5.1.3": { + "jar": "sha256-KMdZJU9ONTGeB4u2/+p1Z2YI3BLLJDsk+zyHMlIpd/4=", + "pom": "sha256-GYirPRva4PUfIsg9yXuI+gdWGttiRGedi49xRs3ROq8=" }, - "org/apache/httpcomponents#httpcomponents-parent/11": { - "pom": "sha256-qQH4exFcVQcMfuQ+//Y+IOewLTCvJEOuKSvx9OUy06o=" + "org/apache/httpcomponents/core5#httpcore5-h2/5.1.3": { + "jar": "sha256-0OeLoVqo6+d5grZgrEsJqV1uA129vqdiV33ByOKTWAc=", + "pom": "sha256-K8AxehSO3Jrv6j7BU1OU787T0TfWL3/1ZW0LA/lMB4Y=" }, - "org/apache/httpcomponents#httpcore/4.4.14": { - "jar": "sha256-+VYgnkUMsdDFF3bfvSPlPp3Y25oSmO1itwvwlEumOyg=", - "pom": "sha256-VXFjmKl48QID+eJciu/AWA2vfwkHxu0K6tgexftrf9g=" + "org/apache/httpcomponents/core5#httpcore5-parent/5.1.3": { + "pom": "sha256-pnU4hlrg83RLIekcpH1GEFRzfFUtH/KdpxTIYMmS1bs=" + }, + "org/apache/httpcomponents/core5#httpcore5/5.1.3": { + "jar": "sha256-8r8vLHdyFpyeMGmXGWZ60w+bRsTp14QZB96y0S2ZI/4=", + "pom": "sha256-f8K4BFgJ8/J6ydTZ6ZudNGIbY3HPk8cxPs2Epa8Om64=" }, "org/apache/logging/log4j#log4j-api/2.25.3": { "jar": "sha256-6IZoKSD6D7nW62OV3LTeCIRD+GRsicXlhG4WjjJ/QG8=", @@ -998,51 +985,15 @@ "jar": "sha256-8+OzZCNzxp1MdEHUDroHZeHXROmStiGURS9epUUd/bo=", "pom": "sha256-XxSOOelo08K3a4426hN3mJ8KeetDpqWa5yPZElzLXGE=" }, - "org/apache/maven#maven-parent/34": { - "pom": "sha256-Go+vemorhIrLJqlZlU7hFcDXnb51piBvs7jHwvRaI38=" - }, "org/apache/maven#maven-xml/4.0.0-rc-3": { "jar": "sha256-BjxCTLR/dRZBJdXuolFnuTHdaU40Jo1QJHN050IR3Rk=", "pom": "sha256-nZZekiyqwDYkl9J7v6UaRI+UydcTYjZnnGhSNwb3KYI=" }, - "org/apache/maven/doxia#doxia-core/1.12.0": { - "jar": "sha256-XknNgnvrvOpYKdOziD0XrRzhXr1jlK61CtUNff2Tn80=", - "pom": "sha256-sDiPdIoIheE+fCxFOSH4u53U+1sZBb50VoVHbPNFbqM=" - }, - "org/apache/maven/doxia#doxia-logging-api/1.12.0": { - "jar": "sha256-mFMGFiwKn0wwnUYQlEfzDwK/b8m8FqPgOdWeHavQGS8=", - "pom": "sha256-ndmbQ1AiOEZYUxBpTERjGLFpK6dG7XFzdtWWGaJxI7Q=" - }, - "org/apache/maven/doxia#doxia-module-xdoc/1.12.0": { - "jar": "sha256-6HMboApO3TSyDv+eSnKcIEXGLLeWw+SRaSYH3kR2qwE=", - "pom": "sha256-+2nZW+S1WvLzsKm2jj6OYgY+aVlMH86+cFpaTbCZbSU=" - }, - "org/apache/maven/doxia#doxia-modules/1.12.0": { - "pom": "sha256-q4/2u0eTz7pZsU+zg/81GjSbEJHQccZrH8vKco1QW9w=" - }, - "org/apache/maven/doxia#doxia-sink-api/1.12.0": { - "jar": "sha256-XcpqqqnnDYoHZuFD3c+dsJ3l/eD7zHjLY11052TfzKU=", - "pom": "sha256-JrUf3babXKbgRM2ii40cGje2+v0M+5v7FakZ3lfGcdU=" - }, - "org/apache/maven/doxia#doxia/1.12.0": { - "pom": "sha256-LQKgvWTzMbdnzudFWzGTxvuCEQFDoRmFiryWh5il/Ck=" - }, - "org/apache/xbean#xbean-reflect/3.7": { - "jar": "sha256-EE5em7WmafhnIvMigZYHAPfsjjIJ71GyPrm20j0WKcs=", - "pom": "sha256-l5XBUyLF0ZrzNu69nhZPp9WJfEsASn1m4hY1oXPnSKk=" - }, - "org/apache/xbean#xbean/3.7": { - "pom": "sha256-6nFxMt6EBLYvyQl6HzIVxwXVJdRXvppfEmU63GjDOrc=" - }, "org/apiguardian#apiguardian-api/1.1.2": { "jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=", "module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=", "pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA=" }, - "org/bouncycastle#bc-jdk18on-bom/1.82": { - "module": "sha256-4eQ/lpTIXXlmi6ufoWyQ8VHTQ6dCcSKiHTvWxxN7AU0=", - "pom": "sha256-wkeqzeVkVYEHUJ6dl/HbfyH819C/bKHx7iu/2m1sQjE=" - }, "org/bstats#bstats-base/3.1.0": { "jar": "sha256-2g5RgIzYzCi+8wAOcctPoLBeU5Mag6f59NPEAoNvQKA=", "module": "sha256-QhHroRz++QjrgoSEtw37ii5EjZ9aaZX/Gu8gEeVquhg=", @@ -1056,16 +1007,16 @@ "jar": "sha256-ZLAmkci51OdwD47i50Lc5+osboHmYrdSLJ7jv1aMBAo=", "pom": "sha256-3EzUOKNkYtATwjOMjiBtECoyKgDzNynolV7iGYWcnt4=" }, + "org/checkerframework#checker-qual/3.27.0": { + "jar": "sha256-Jf2m8+su4hOf9dfTmSZn1Sbr8bD7h982/HWqNWeebas=", + "module": "sha256-H1L7VyqCR4PvVyPW0LejEUOz2JKpQerXur4OH/kWM30=", + "pom": "sha256-yXIt1Co1ywpkPGgAoo2sf8UXbYDkz2v4XBgjdzFjOrk=" + }, "org/checkerframework#checker-qual/3.33.0": { "jar": "sha256-4xYlW7/Nn+UNFlMUuFq7KzPLKmapPEkdtkjkmKgsLeE=", "module": "sha256-6FIddWJdQScsdn0mKhU6wWPMUFtmZEou9wX6iUn/tOU=", "pom": "sha256-9VqSICenj92LPqFaDYv+P+xqXOrDDIaqivpKW5sN9gM=" }, - "org/checkerframework#checker-qual/3.52.1": { - "jar": "sha256-k0ZBoYyEYb9m1+k5srBUvypRjtQYj9fWg2plsDj1Nko=", - "module": "sha256-+K1w2ZdntgVFD9uskX2UAHDuTjATTfrK6igJSPJNKrg=", - "pom": "sha256-4lY9U+Bw0yPAZmljQxhEMVwYWlP1gLzQ+6xI/lCBCjs=" - }, "org/checkerframework#checker-qual/3.53.0": { "jar": "sha256-fKACgV2S+teelms3XC7nsrS/lTAkvJpdXgxZ3xP/Wvg=", "module": "sha256-EZ1p1BNJeDzB69OSskth1vOAhgFHqAsohbj3/KOrE78=", @@ -1081,25 +1032,6 @@ "org/codehaus/mojo#mojo-parent/40": { "pom": "sha256-/GSNzcQE+L9m4Fg5FOz5gBdmGCASJ76hFProUEPLdV4=" }, - "org/codehaus/plexus#plexus-classworlds/2.6.0": { - "jar": "sha256-Uvd8XsSfeHycQX6+1dbv2ZIvRKIC8hc3bk+UwNdPNUk=", - "pom": "sha256-RppsWfku/6YsB5fOfVLSwDz47hA0uSPDYN14qfUFp7o=" - }, - "org/codehaus/plexus#plexus-component-annotations/2.1.0": { - "jar": "sha256-veNhfOm1vPlYQSYEYIAEOvaks7rqQKOxU/Aue7wyrKw=", - "pom": "sha256-BnC2BSVffcmkVNqux5EpGMzxtUdcv8o3Q2O1H8/U6gA=" - }, - "org/codehaus/plexus#plexus-container-default/2.1.0": { - "jar": "sha256-bc6xJGsYgVO9y2+WLVQ9Ud22csygfK2Up4+6vJ7fCjk=", - "pom": "sha256-i4wg5jC9zHlcyYUCTEwQRcFHvhFgUsLJdeMMYI9/O0U=" - }, - "org/codehaus/plexus#plexus-containers/2.1.0": { - "pom": "sha256-lNWu2zxGAjJlOWUnz4zn/JRLe9eeTrq5BzhkGOtaCNc=" - }, - "org/codehaus/plexus#plexus-utils/3.3.0": { - "jar": "sha256-dtF0eSVA4nda+U0D0Q+y08d24s0KwOv0J9PlcAcruc4=", - "pom": "sha256-ecl5IHP97jzb69YadrqMLdEWJKn4XRKLrla9oZ4gR1w=" - }, "org/codehaus/plexus#plexus-utils/4.0.2": { "jar": "sha256-iVcnTnX+LCeLFCjdFqDa7uHdOBUstu/4Fhd6wo/Mtpc=", "pom": "sha256-UVHBO918w6VWlYOn9CZzkvAT/9MRXquNtfht5CCjZq8=" @@ -1111,9 +1043,6 @@ "org/codehaus/plexus#plexus/20": { "pom": "sha256-p7WUsAL8eRczyOlEcNCQRfT9aak61cN1dS8gV/hGM7Q=" }, - "org/codehaus/plexus#plexus/5.1": { - "pom": "sha256-o0PkT/V5au0OpgvhFFTJNc4gqxxfFkrMjaV0SC3Lx+k=" - }, "org/codehaus/woodstox#stax2-api/4.2.2": { "jar": "sha256-phxI1VPvrXi8Af/8SsUovruuZMuuwXCypeOc9h61Gr4=", "pom": "sha256-TpAuxVb8ZZi0HClS7BVz7cgVA35zMOxJIuq2GUImhuI=" @@ -1316,10 +1245,6 @@ "module": "sha256-qaTye+lOmbnVcBYtJGqA9obSd9XTGutUgQR89R2vRuQ=", "pom": "sha256-GdS3R7IEgFMltjNFUylvmGViJ3pKwcteWTpeTE9eQRU=" }, - "org/junit#junit-bom/5.12.2": { - "module": "sha256-3nCsXZGlJlbYiQptI7ngTZm5mxoEAlMN7K1xvzGyc14=", - "pom": "sha256-zvgP7IZFT2gGv7DfJGabXG8y4styhTnqhZ9H39ybvBc=" - }, "org/junit#junit-bom/5.13.2": { "module": "sha256-7WfhUiFASsQrXlmBAu33Yt1qlS3JUAHpwMTudKBOgoM=", "pom": "sha256-Q7EQT7P9TvS3KpdR1B4Jwp8AHIvgD/OXIjjcFppzS0k=" @@ -1332,48 +1257,44 @@ "module": "sha256-etPdstdOanfWWuiaykXUaMl7+ZFba8UvRJ1nXk5vmzU=", "pom": "sha256-9apHs2ZIPo0fm+8Q5noMZvZq/A8zHJ+WaxMQutYND28=" }, - "org/junit#junit-bom/6.0.1": { - "module": "sha256-xI2Y9e3P2cVeefrLugEB98G6CIY0ib6EqRYrmaGG0cI=", - "pom": "sha256-4xXFzLsIchbc4ErnDDK/F2K+KguKQ++B47p4MXpM1cg=" + "org/junit#junit-bom/5.14.2": { + "module": "sha256-XSb0RAOSMm3SSDz0kBQ+6hSV1QlUWaC5ZRp7GzjiTr8=", + "pom": "sha256-7S3MeFW9RgvMyTob8Mli5jtWb/fY8d7Q8fJZO6gYOq8=" }, - "org/junit#junit-bom/6.0.2": { - "module": "sha256-CXdtx1DgfltFk690n/aPkYB/nFTDMHUcn0tPHqZScdY=", - "pom": "sha256-w1iXvlPvCDmGw/CRGt53SctCrrQAyZH7ruUeRjn3uak=" + "org/junit/jupiter#junit-jupiter-api/5.14.2": { + "jar": "sha256-cEzaGFcxa7eRGZsaG/gXOwd4uTioRFyFvhFUxfiBOgo=", + "module": "sha256-Cw9Y0AG0zPQduv9mL/CPBGQLn1FWshXS3FfO6TaS6CY=", + "pom": "sha256-NXvqCt8V4DrCyOrfIEW5NCUPr4SAlAmWNZm89HXeszg=" }, - "org/junit/jupiter#junit-jupiter-api/6.0.2": { - "jar": "sha256-QHsgre1AeBrVRAMJY57wxCjnNbK2+IMcXS/5BBYTGV0=", - "module": "sha256-m0IZfs4uhSb/k97ysJ48tIACdjh9RzsIC9/8iKjANjA=", - "pom": "sha256-23UFjKyPW4WpVpNirMdghakehZNGaLbdCQVGi/s//jU=" + "org/junit/jupiter#junit-jupiter-engine/5.14.2": { + "jar": "sha256-Ak2bBtMbkPucWnwLxiz6LUnGc6aKenW+m1JUi6YoNQk=", + "module": "sha256-VB9i/FQLJZxofAveUbVBhLcvlGJIpA6C5J9kVXYSsGU=", + "pom": "sha256-2j/YDMHhYiWQKIDDwXB/O4laEdqcYjMISgSzlcDh/QE=" }, - "org/junit/jupiter#junit-jupiter-engine/6.0.2": { - "jar": "sha256-KnIBz0iQSDwbtQRekaWbcFKoGJspMKm+lRTGPh5Ys7Y=", - "module": "sha256-EE0f6yTeklH8eVpz1HenP6pXmpjYecftsZ/dGP20CJs=", - "pom": "sha256-MS3kqvSL6RZPiX8G1hFKkFK/W7ADRltOMzH5R6YFr3o=" + "org/junit/jupiter#junit-jupiter-params/5.14.2": { + "jar": "sha256-BthnOrFhdBF+uup8ydwIgJ23o5T12T79JANi2IPQHfA=", + "module": "sha256-9VHVeJrqNQzfsYFkyp2a/1bgyYIsfG32HTF3ZL6LQA0=", + "pom": "sha256-CuKLm95MW9YCVeCb7vGRXAfvL5gdO49HyLSIeVGJFuY=" }, - "org/junit/jupiter#junit-jupiter-params/6.0.2": { - "jar": "sha256-TG9Yd+hSp7iRIHxujWpesZaA0lsMQB0JpknR6hcRe1k=", - "module": "sha256-fdfWnOPlTkDuM0Z1qEkNJIi5bo3xIPXgqteaXSegur8=", - "pom": "sha256-XjLbpZkb2lFqzpu8ZaFBfW4KiFIeiobTP9IQjSqJIV8=" + "org/junit/jupiter#junit-jupiter/5.14.2": { + "jar": "sha256-7gTJsMUyE2pLxKhTH+VKIsY3uTppC8BkcYNXWE0eca4=", + "module": "sha256-yjO7T4OBTaS6iffR9w0zNieo/Pab5G2cf9973XACpr8=", + "pom": "sha256-6IK8iSW+9JsonGrn/GcKd0zmT3eer9dHuKo9ioqGfjo=" }, - "org/junit/jupiter#junit-jupiter/6.0.2": { - "jar": "sha256-ylRmpDWgsPEAOCxad+kerm1MozD2C00kATqaPwzXQug=", - "module": "sha256-SdwJtzTvpDJHDO65Dhry0wviY/MBCXhlXDVA8qgeqtY=", - "pom": "sha256-f9YZ4a5GOpmfjblWj6h9EJltFZo1P/zNy9O/h18spjU=" + "org/junit/platform#junit-platform-commons/1.14.2": { + "jar": "sha256-kRf5qtxmOsVQrl6B2NOrnx4Juy40wW5goesWM6F7zAY=", + "module": "sha256-LIpzAEQQ2y0nkUEBq+hnLcackhHD0ziuNHHZSisratI=", + "pom": "sha256-b6pnFLuLb4V7Gz7Tthz5EOv9rZPyWDJ506T9RWVa+cU=" }, - "org/junit/platform#junit-platform-commons/6.0.2": { - "jar": "sha256-HEnquO09gSgEWePz4fEZuSj5z8Uwx1AMKhWpro560w0=", - "module": "sha256-kx7oBBhnzXyu/UQCYYAs7o1Vm5uPSbOUkI4XwEpk+p4=", - "pom": "sha256-bivMHUT1ckbR03duMQ5Ybg9fTQTjrsA3eOgBCmtiDS8=" + "org/junit/platform#junit-platform-engine/1.14.2": { + "jar": "sha256-WkXEMHY6JsbFVHHhktivu2RDlWvBFrfmeWuNeJpaFG0=", + "module": "sha256-rJRHEJU5b12sFYUmoSVj/dUEkq57Km9JH62ixRsHS+s=", + "pom": "sha256-k2qlp7HfWDlzoyJ/y9uV6nTjHhvrGOqGmS7JBlPwqGo=" }, - "org/junit/platform#junit-platform-engine/6.0.2": { - "jar": "sha256-MUlbdUuogrppPBn6nYh+Ya9vOFD1h0G9WMPxKd7KVRc=", - "module": "sha256-mgE8iVsXgJnmIfvNuJ3rxldDqW1i7TL4xuWfzu/BN8M=", - "pom": "sha256-6tUsFcvLoTHf7NLSrVOFjwEdfHUwCMAU/pldUolaEeI=" - }, - "org/junit/platform#junit-platform-launcher/6.0.2": { - "jar": "sha256-vZkQ97ykqdQFC6heHwduO4VzI51F33lnOGKqsphZV5I=", - "module": "sha256-1SKe2c1l4Uoi2Lk4Z7H7lbg/drJUUHO04LxpxOnGyi0=", - "pom": "sha256-/8xw6oNXyJK5Bbr+/g+zOZ6uktqxxNSMxbJ9EYkKUnY=" + "org/junit/platform#junit-platform-launcher/1.14.2": { + "jar": "sha256-HfxXdiDdEx6Ddl9mKsqhCaLfV1KgOZ8DTIaKyHMyOvI=", + "module": "sha256-TlbYQ96bbUO3CC/Ux0IHDSp9+rUZL7oaKQCYDwa+MTk=", + "pom": "sha256-BFn8NaM0Pr/qeOt5MvpB7OdtgyQ3A1MAsEjnpC6A5wk=" }, "org/lanternpowered#lmbda/2.0.0": { "jar": "sha256-v7mL90YQgkvVbhDYJSM6Zg66M7qRXPlHJGJX9QPadfM=", @@ -1442,10 +1363,6 @@ "org/slf4j#slf4j-parent/2.0.17": { "pom": "sha256-lc1x6FLf2ykSbli3uTnVfsKy5gJDkYUuC1Rd7ggrvzs=" }, - "org/slf4j#slf4j-simple/2.0.17": { - "jar": "sha256-3f6lmsB0xtPiSsLDhiLS2WOJXhf3CzjtS9rk14C+aWQ=", - "pom": "sha256-+zDo4vauotKYQnmGd+1FQbmyJVcVwVg1DKLF9ce4ZLA=" - }, "org/sonatype/oss#oss-parent/5": { "pom": "sha256-FnjUEgpYXYpjATGu7ExSTZKDmFg7fqthbufVqH9SDT0=" }, @@ -1507,13 +1424,13 @@ "jar": "sha256-HT3hIYOiqJada8b/Wtdx3l1W0ISXxdk+FopctxDiy/E=", "pom": "sha256-yGRf/88P5qu8IVS8i/0Jysbgd2M4Kz6cGLXbmR7IFjk=" }, - "org/xmlresolver#xmlresolver/5.3.3": { - "jar": "sha256-H+TVuS9wjc24LbzhKRngFx5rXKYsbcpiIEg2JQmP618=", - "module": "sha256-DeilBgQ5G2UDnI/6PxQRiSJ+x5rFMyPhPiunKIy3no4=", - "pom": "sha256-JhradtnmZ2AI3Kw3ek1FiXSRZrYGVZ9Z8uRepi2Ldew=" + "org/xmlresolver#xmlresolver/5.1.1": { + "jar": "sha256-MSL4rkDERq27MDzVUldoA/2/bq77hL985D0TNlsnymg=", + "module": "sha256-DaZVpENW8JhTRljd56tHCwOSc8Wc9NyU7HcQYnCpzV0=", + "pom": "sha256-pQDlCR85eXYVDo05n+tBDIXlfXyQl9Y5gdMeL27Bbtk=" }, - "org/xmlresolver#xmlresolver/5.3.3/data": { - "jar": "sha256-sMSHrS8+VYvo2CnJFtJFjRCspqW6+npNBSS3CEXkilw=" + "org/xmlresolver#xmlresolver/5.1.1/data": { + "jar": "sha256-uvgjj/PdgGV2SHWvLkHeiw7kWF4AsC9R7JEb1l/TwcM=" }, "org/yaml#snakeyaml/1.26": { "jar": "sha256-2H1gflAIhTVsA8HK5h6MLgXWl9+Hh9WroTSEwut2qEQ=", diff --git a/pkgs/by-name/ve/velocity/package.nix b/pkgs/by-name/ve/velocity/package.nix index ef2eada7189e..86473e45a344 100644 --- a/pkgs/by-name/ve/velocity/package.nix +++ b/pkgs/by-name/ve/velocity/package.nix @@ -34,13 +34,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "velocity"; - version = "3.5.0-unstable-2026-02-21"; + version = "3.5.0-unstable-2026-03-03"; src = fetchFromGitHub { owner = "PaperMC"; repo = "Velocity"; - rev = "6aff78728c267bbb67b07298b8cf4580fb79fc6f"; - hash = "sha256-hO1xXMd7aobYBvTwpLGeRqwrYCKdB1ZhzfOo/z1wuQM="; + rev = "e0db25664fc82eabd9fde5aac22a2311a9765975"; + hash = "sha256-o3BNJyRNu5nJpC/Zagd/D3OsF0KBqZCR9sTTf/AEU3M="; }; nativeBuildInputs = [ From 08cc5ee0c4f5f7f42e4b0cfd2a0ae2905db16b6d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 07:42:12 +0000 Subject: [PATCH 36/92] goverlay: 1.7.4 -> 1.7.5 --- pkgs/by-name/go/goverlay/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/go/goverlay/package.nix b/pkgs/by-name/go/goverlay/package.nix index 65bad84795ef..d5a666880079 100644 --- a/pkgs/by-name/go/goverlay/package.nix +++ b/pkgs/by-name/go/goverlay/package.nix @@ -24,13 +24,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "goverlay"; - version = "1.7.4"; + version = "1.7.5"; src = fetchFromGitHub { owner = "benjamimgois"; repo = "goverlay"; tag = finalAttrs.version; - hash = "sha256-30Z2d7w8VStusJFvaTT3IcA3KH3jCyV7ibDOuOFPutQ="; + hash = "sha256-q4g6K4iUkeam1dVHOWdkUjH/XAOIKgOXnJDE0dm5HVw="; }; outputs = [ From 1e01d6d1fb339ecc3bbe614382107f14ab6ac8fe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 08:23:58 +0000 Subject: [PATCH 37/92] postcss: 8.5.6 -> 8.5.8 --- pkgs/by-name/po/postcss/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/po/postcss/package.nix b/pkgs/by-name/po/postcss/package.nix index 6e55d512b3c5..600b7200f9d8 100644 --- a/pkgs/by-name/po/postcss/package.nix +++ b/pkgs/by-name/po/postcss/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "postcss"; - version = "8.5.6"; + version = "8.5.8"; src = fetchFromGitHub { owner = "postcss"; repo = "postcss"; tag = finalAttrs.version; - hash = "sha256-7oGCDqKwJG49DXDiyEZaO8EhxZS/Up5PO3/uqqOa+Bo="; + hash = "sha256-28IUSx5R1KbyM8OV0U7FrhU+qL2zaJShMVvSQMChcA4="; }; nativeBuildInputs = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 3; - hash = "sha256-WJTQjlOkzCSqPHkNuT/Dn1BOFyL+3lDSl7RW0S9fakU="; + hash = "sha256-SwTVjgS4Hkl1SgXqSdjjbyKqUW2TfD1ruLu2Jcl51gg="; }; dontBuild = true; From f4f8de2814c3564997879e646c19a79dbc2c5c61 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 10:32:34 +0000 Subject: [PATCH 38/92] github-copilot-cli: 0.0.420 -> 0.0.421 --- pkgs/by-name/gi/github-copilot-cli/sources.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/gi/github-copilot-cli/sources.json b/pkgs/by-name/gi/github-copilot-cli/sources.json index a931685c340b..a38e2ce7d5fd 100644 --- a/pkgs/by-name/gi/github-copilot-cli/sources.json +++ b/pkgs/by-name/gi/github-copilot-cli/sources.json @@ -1,19 +1,19 @@ { - "version": "0.0.420", + "version": "0.0.421", "x86_64-linux": { "name": "copilot-linux-x64", - "hash": "sha256-NE+J7h5hnJ/8sHI4G35TwvMFBTAItVWE3FhG0APBZ7k=" + "hash": "sha256-oXnSHTw0aC0SUoU2IT/hpdnDu504UkrRzodWQiDwujc=" }, "aarch64-linux": { "name": "copilot-linux-arm64", - "hash": "sha256-YK/rz0dkTbHO3Uu+K+n8GOb/tLw5T1cKeJa3qP2In2M=" + "hash": "sha256-ZAf2vV10pLwQAbTaGAWxR/bXPzJX1uAOEaQqKuJGvL4=" }, "x86_64-darwin": { "name": "copilot-darwin-x64", - "hash": "sha256-zUfh1Sh/ckvgWs/YVkpGKL9vYi3egVb4smnhZBQJmJs=" + "hash": "sha256-8o2IW/7t0Z6JmSR2Ff1+EvvMDkcxMTw7KkvG/0ED9GM=" }, "aarch64-darwin": { "name": "copilot-darwin-arm64", - "hash": "sha256-ghYxLSZjKeoLFEDMLmhcZraiaXfPo9ArA4jWBR8/tqs=" + "hash": "sha256-Fd9aHynHxGVg79/Pugjch+z/PTAlwNHhbSI9Kwh6Xj4=" } } From 06bd89dd03720384f2c01c0fc3861bfde1e62f7e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 10:39:18 +0000 Subject: [PATCH 39/92] sshwifty: 0.4.2-beta-release -> 0.4.3-beta-release --- pkgs/by-name/ss/sshwifty/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ss/sshwifty/package.nix b/pkgs/by-name/ss/sshwifty/package.nix index dbd67332702c..cef2cdb5ffee 100644 --- a/pkgs/by-name/ss/sshwifty/package.nix +++ b/pkgs/by-name/ss/sshwifty/package.nix @@ -11,13 +11,13 @@ }: buildGoModule (finalAttrs: { pname = "sshwifty"; - version = "0.4.2-beta-release"; + version = "0.4.3-beta-release"; src = fetchFromGitHub { owner = "nirui"; repo = "sshwifty"; tag = finalAttrs.version; - hash = "sha256-nx485HB0JqexcSdwhgbhoAwpK3Cg7tkgDrV3NM93pXk="; + hash = "sha256-Khx8iOEe1/NYiWEawwGuCbybflGq8FDtJFh8DFoNI+k="; }; nativeBuildInputs = [ @@ -32,10 +32,10 @@ buildGoModule (finalAttrs: { npmDeps = fetchNpmDeps { inherit (finalAttrs) src; - hash = "sha256-5Y6hTsHSFOPhgLwEhMNOOCyLYNjp1Q5n8My3Q6lr7hQ="; + hash = "sha256-i7EHR3hw+LPKbiRKLXOjEsMVtUIBAWwH22ZMVTh715A="; }; - vendorHash = "sha256-4K0fxBBcv+ZSV0ocsoagjFAXRphA27xGO40pnewaKSU="; + vendorHash = "sha256-s1+hP9oakR2YgBUOc0ezFW2MQBi8piRPKAVLBgJLN6o="; preBuild = '' # Generate static pages From 878b71cb0e94f7f99661094f4540a72fb8ee4fc2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 11:44:55 +0000 Subject: [PATCH 40/92] terraform-providers.oracle_oci: 8.2.0 -> 8.3.0 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 2cd39e4943cc..08c7322049ba 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1049,11 +1049,11 @@ "vendorHash": null }, "oracle_oci": { - "hash": "sha256-fBHwWw8NtjzgQISUuLB6eY6S3SlMbwyXPmt+suMezHA=", + "hash": "sha256-3gDOKRaZzsqFj8DOK8rug43nvU3kE6KAGcYy/ky4o0o=", "homepage": "https://registry.terraform.io/providers/oracle/oci", "owner": "oracle", "repo": "terraform-provider-oci", - "rev": "v8.2.0", + "rev": "v8.3.0", "spdx": "MPL-2.0", "vendorHash": null }, From ccbe0ea2f38cc1fa81f86e39400bed34db1ba60b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 12:08:47 +0000 Subject: [PATCH 41/92] python3Packages.victron-mqtt: 2026.1.8 -> 2026.2.5.1 --- pkgs/development/python-modules/victron-mqtt/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/victron-mqtt/default.nix b/pkgs/development/python-modules/victron-mqtt/default.nix index 582aa93285f8..fba75b2f93ec 100644 --- a/pkgs/development/python-modules/victron-mqtt/default.nix +++ b/pkgs/development/python-modules/victron-mqtt/default.nix @@ -12,14 +12,14 @@ buildPythonPackage (finalAttrs: { pname = "victron-mqtt"; - version = "2026.1.8"; + version = "2026.2.5.1"; pyproject = true; src = fetchFromGitHub { owner = "tomer-w"; repo = "victron_mqtt"; tag = "v${finalAttrs.version}"; - hash = "sha256-KSfP7kZZzMPYa6HWlLS/jF6kJWyHX8SemA9bTPsI11w="; + hash = "sha256-V3kcepEU/1YySQAPZaeCnRnULjcMuBz5LSQZ9JSz4ks="; }; build-system = [ From 94dd7856ff125a6599db1c4f40844f8996a3944b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 12:09:58 +0000 Subject: [PATCH 42/92] affine: 0.26.2 -> 0.26.4 --- pkgs/by-name/af/affine/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/af/affine/package.nix b/pkgs/by-name/af/affine/package.nix index f56ffb529b71..89e31b89c958 100644 --- a/pkgs/by-name/af/affine/package.nix +++ b/pkgs/by-name/af/affine/package.nix @@ -46,17 +46,17 @@ in stdenv.mkDerivation (finalAttrs: { pname = binName; - version = "0.26.2"; + version = "0.26.4"; src = fetchFromGitHub { owner = "toeverything"; repo = "AFFiNE"; tag = "v${finalAttrs.version}"; - hash = "sha256-qFJezmSNq6Uq6xvCGUITeidrChQiZWI6lw9ZX8PcwXc="; + hash = "sha256-5tOAkKTpdkN1UDztmy4Dt9kpRrWYVLolnXRwHmfXpLo="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname version src; - hash = "sha256-3cvq3FV3juzEaKczw/SUHSXHLLEIEJlcv2LUAMxGVVQ="; + hash = "sha256-vZkKFUaNe9iIAkdUfXnnuD2lM6kuzwqj1Dyt5GAgXsM="; }; # keep yarnOfflineCache same output style with offlineCache = yarn-berry.fetchYarnBerryDeps { inherit (finalAttrs) src missingHashes; hash = "" }; @@ -106,7 +106,7 @@ stdenv.mkDerivation (finalAttrs: { ''; dontInstall = true; outputHashMode = "recursive"; - outputHash = "sha256-TgrepMMOZkVK2uUEvwllrnFzVsEjgvRb8AtBsDzrHSg="; + outputHash = "sha256-nNPttQJBYJ3eyjR/INoC0MW5e3WcUkDpLdQ0W10+qj0="; }; buildInputs = lib.optionals hostPlatform.isDarwin [ From c36fb059a65b07c226761df24c26161c4ef17584 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 14 Aug 2025 22:11:57 +0300 Subject: [PATCH 43/92] gnuradio: Allow overriding .pkgs with packageOverrides Tested with the following diff: ```diff diff --git i/pkgs/by-name/gq/gqrx/package.nix w/pkgs/by-name/gq/gqrx/package.nix index 1d91b52ce7a8..111eb293ac9b 100644 --- i/pkgs/by-name/gq/gqrx/package.nix +++ w/pkgs/by-name/gq/gqrx/package.nix @@ -27,7 +27,19 @@ assert portaudioSupport -> portaudio != null; # audio backends are mutually exclusive assert !(pulseaudioSupport && portaudioSupport); -gnuradioMinimal.pkgs.mkDerivation rec { +let + gnuradioMinimal' = gnuradioMinimal.override { + packageOverrides = grSelf: grSuper: { + osmosdr = grSuper.osmosdr.override { + airspy = null; + hackrf = null; + libbladeRF = null; + soapysdr-with-plugins = null; + }; + }; + }; +in +gnuradioMinimal'.pkgs.mkDerivation rec { pname = "gqrx"; version = "2.17.7"; @@ -47,14 +59,14 @@ gnuradioMinimal.pkgs.mkDerivation rec { ++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; buildInputs = [ - gnuradioMinimal.unwrapped.logLib + gnuradioMinimal'.unwrapped.logLib mpir fftwFloat libjack2 - gnuradioMinimal.unwrapped.boost + gnuradioMinimal'.unwrapped.boost qt6Packages.qtbase qt6Packages.qtsvg - gnuradioMinimal.pkgs.osmosdr + gnuradioMinimal'.pkgs.osmosdr rtl-sdr hackrf ] @@ -62,9 +74,9 @@ gnuradioMinimal.pkgs.mkDerivation rec { alsa-lib qt6Packages.qtwayland ] - ++ lib.optionals (gnuradioMinimal.hasFeature "gr-ctrlport") [ + ++ lib.optionals (gnuradioMinimal'.hasFeature "gr-ctrlport") [ thrift - gnuradioMinimal.unwrapped.python.pkgs.thrift + gnuradioMinimal'.unwrapped.python.pkgs.thrift ] ++ lib.optionals pulseaudioSupport [ libpulseaudio ] ++ lib.optionals portaudioSupport [ portaudio ]; ``` --- doc/release-notes/rl-2605.section.md | 16 ++++++++++ pkgs/applications/radio/gnuradio/wrapper.nix | 8 ++++- pkgs/by-name/gn/gnuradioMinimal/package.nix | 2 ++ pkgs/top-level/gnuradio-packages.nix | 33 ++++++++++---------- 4 files changed, 42 insertions(+), 17 deletions(-) diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index bac690a7cbe4..dd8a7bfd701f 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -240,6 +240,22 @@ - We now use the upstream wrapper script for Gradle, supporting both the `JAVA_HOME` and `GRADLE_OPTS` environment variables. +- `gnuradio`: Overriding the `.pkgs` package set is now possible with a `packageOverrides` function, like with `python.pkgs` and other language-specific package sets. +Example: + +```nix +gnuradioMinimal.override { + packageOverrides = grSelf: grSuper: { + osmosdr = grSuper.osmosdr.override { + airspy = null; + hackrf = null; + libbladeRF = null; + soapysdr-with-plugins = null; + }; + }; +} +``` + ## Nixpkgs Library {#sec-nixpkgs-release-26.05-lib} diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix index d555d23e2fc4..4afa3cca6afc 100644 --- a/pkgs/applications/radio/gnuradio/wrapper.nix +++ b/pkgs/applications/radio/gnuradio/wrapper.nix @@ -56,6 +56,7 @@ ], # Allow to add whatever you want to the wrapper extraMakeWrapperArgs ? [ ], + packageOverrides ? (self: super: { }), }: let @@ -191,7 +192,12 @@ let ); packages = import ../../../top-level/gnuradio-packages.nix { - inherit lib stdenv newScope; + inherit + lib + stdenv + newScope + packageOverrides + ; gnuradio = unwrapped; }; passthru = unwrapped.passthru // { diff --git a/pkgs/by-name/gn/gnuradioMinimal/package.nix b/pkgs/by-name/gn/gnuradioMinimal/package.nix index f0e3c01b1e55..8dd2039cbe3e 100644 --- a/pkgs/by-name/gn/gnuradioMinimal/package.nix +++ b/pkgs/by-name/gn/gnuradioMinimal/package.nix @@ -2,11 +2,13 @@ gnuradio, volk, uhdMinimal, + packageOverrides ? (self: super: { }), }: # A build without gui components and other utilities not needed for end user # libraries gnuradio.override { doWrap = false; + inherit packageOverrides; unwrapped = gnuradio.unwrapped.override { volk = volk.override { # So it will not reference python diff --git a/pkgs/top-level/gnuradio-packages.nix b/pkgs/top-level/gnuradio-packages.nix index ab5d648064aa..a9857f193aca 100644 --- a/pkgs/top-level/gnuradio-packages.nix +++ b/pkgs/top-level/gnuradio-packages.nix @@ -3,6 +3,7 @@ stdenv, newScope, gnuradio, # unwrapped gnuradio + packageOverrides, }: lib.makeScope newScope ( @@ -34,21 +35,21 @@ lib.makeScope newScope ( inherit (gnuradio) uhd; } ); + + # Base package set without overrides + basePackages = { + inherit callPackage mkDerivation mkDerivationWith; + + bladeRF = callPackage ../development/gnuradio-modules/bladeRF/default.nix { }; + + lora_sdr = callPackage ../development/gnuradio-modules/lora_sdr/default.nix { }; + + osmosdr = callPackage ../development/gnuradio-modules/osmosdr/default.nix { }; + + fosphor = callPackage ../development/gnuradio-modules/fosphor/default.nix { }; + + gr-difi = callPackage ../development/gnuradio-modules/gr-difi/default.nix { }; + }; in - { - - inherit callPackage mkDerivation mkDerivationWith; - - ### Packages - - bladeRF = callPackage ../development/gnuradio-modules/bladeRF/default.nix { }; - - lora_sdr = callPackage ../development/gnuradio-modules/lora_sdr/default.nix { }; - - osmosdr = callPackage ../development/gnuradio-modules/osmosdr/default.nix { }; - - fosphor = callPackage ../development/gnuradio-modules/fosphor/default.nix { }; - - gr-difi = callPackage ../development/gnuradio-modules/gr-difi/default.nix { }; - } + basePackages // (packageOverrides self basePackages) ) From 89911efe11e34b9e412b45bf095bdc1aafa4e800 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 14 Aug 2025 23:26:28 +0300 Subject: [PATCH 44/92] gnuradio.pkgs.mkDerivation: Allow finalAttrs pattern --- pkgs/development/gnuradio-modules/mkDerivation.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/gnuradio-modules/mkDerivation.nix b/pkgs/development/gnuradio-modules/mkDerivation.nix index 960ecd413439..b18e24b6a2bc 100644 --- a/pkgs/development/gnuradio-modules/mkDerivation.nix +++ b/pkgs/development/gnuradio-modules/mkDerivation.nix @@ -7,6 +7,9 @@ mkDerivation: args: +let +# Common validation and processing logic +processArgs = args: # Check if it's supposed to not get built for the current gnuradio version if (builtins.hasAttr "disabled" args) && args.disabled then let @@ -35,4 +38,12 @@ else ]; }; in - mkDerivation (args // args_) + args // args_; + +in +if builtins.isFunction args then + # Function form: args is (finalAttrs -> attrset) + mkDerivation (finalAttrs: processArgs (args finalAttrs)) +else + # Attrset form: args is attrset + mkDerivation (processArgs args) From b8ff9a4c507c78a2b32b36ff328035568d364701 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 14 Aug 2025 23:26:41 +0300 Subject: [PATCH 45/92] gnuradio.pkgs.mkDerivation: nixfmt --- .../gnuradio-modules/mkDerivation.nix | 59 ++++++++++--------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/pkgs/development/gnuradio-modules/mkDerivation.nix b/pkgs/development/gnuradio-modules/mkDerivation.nix index b18e24b6a2bc..7a3b32563d10 100644 --- a/pkgs/development/gnuradio-modules/mkDerivation.nix +++ b/pkgs/development/gnuradio-modules/mkDerivation.nix @@ -8,37 +8,38 @@ mkDerivation: args: let -# Common validation and processing logic -processArgs = args: -# Check if it's supposed to not get built for the current gnuradio version -if (builtins.hasAttr "disabled" args) && args.disabled then - let - name = args.name or "${args.pname}"; - in - throw "Package ${name} is incompatible with GNURadio ${unwrapped.versionAttr.major}" -else + # Common validation and processing logic + processArgs = + args: + # Check if it's supposed to not get built for the current gnuradio version + if (builtins.hasAttr "disabled" args) && args.disabled then + let + name = args.name or "${args.pname}"; + in + throw "Package ${name} is incompatible with GNURadio ${unwrapped.versionAttr.major}" + else -if builtins.hasAttr "disabledForGRafter" args then - throw '' - `disabledForGRafter` is superseded by `disabled`. - Use `disabled = gnuradioAtLeast "${args.disabledForGRafter}";` instead. - '' -else + if builtins.hasAttr "disabledForGRafter" args then + throw '' + `disabledForGRafter` is superseded by `disabled`. + Use `disabled = gnuradioAtLeast "${args.disabledForGRafter}";` instead. + '' + else - let - args_ = { - enableParallelBuilding = args.enableParallelBuilding or true; - nativeBuildInputs = (args.nativeBuildInputs or [ ]); - # We add gnuradio and volk itself by default - most gnuradio based packages - # will not consider it a dependency worth mentioning and it will almost - # always be needed - buildInputs = (args.buildInputs or [ ]) ++ [ - unwrapped - unwrapped.volk - ]; - }; - in - args // args_; + let + args_ = { + enableParallelBuilding = args.enableParallelBuilding or true; + nativeBuildInputs = (args.nativeBuildInputs or [ ]); + # We add gnuradio and volk itself by default - most gnuradio based packages + # will not consider it a dependency worth mentioning and it will almost + # always be needed + buildInputs = (args.buildInputs or [ ]) ++ [ + unwrapped + unwrapped.volk + ]; + }; + in + args // args_; in if builtins.isFunction args then From 82cd6a28b3bba2eb4e832647b15bd6f8f5dd34ff Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 14 Aug 2025 17:12:36 +0300 Subject: [PATCH 46/92] gnuradioPackages.osmosdr: Divide inputs to categories --- pkgs/development/gnuradio-modules/osmosdr/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/development/gnuradio-modules/osmosdr/default.nix b/pkgs/development/gnuradio-modules/osmosdr/default.nix index 8751efdeae4f..daf5b36bc0d2 100644 --- a/pkgs/development/gnuradio-modules/osmosdr/default.nix +++ b/pkgs/development/gnuradio-modules/osmosdr/default.nix @@ -1,12 +1,16 @@ { lib, - stdenv, mkDerivation, + gnuradioAtLeast, fetchgit, fetchpatch, gnuradio, + + # native cmake, pkg-config, + + # buildInputs logLib, libsndfile, mpir, @@ -22,7 +26,6 @@ libbladeRF, rtl-sdr, soapysdr-with-plugins, - gnuradioAtLeast, }: mkDerivation rec { From d3692ebb9aac4c7fec2ea238e3923a3b4910da39 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 14 Aug 2025 23:44:45 +0300 Subject: [PATCH 47/92] gnuradioMinimal.pkgs.osmosdr: use finalAttrs --- pkgs/development/gnuradio-modules/osmosdr/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/gnuradio-modules/osmosdr/default.nix b/pkgs/development/gnuradio-modules/osmosdr/default.nix index daf5b36bc0d2..8b67512adbec 100644 --- a/pkgs/development/gnuradio-modules/osmosdr/default.nix +++ b/pkgs/development/gnuradio-modules/osmosdr/default.nix @@ -28,13 +28,13 @@ soapysdr-with-plugins, }: -mkDerivation rec { +mkDerivation (finalAttrs: { pname = "gr-osmosdr"; version = "0.2.6"; src = fetchgit { url = "https://gitea.osmocom.org/sdr/gr-osmosdr"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-jCUzBY1pYiEtcRQ97t9F6uEMVYw2NU0eoB5Xc2H6pGQ="; }; @@ -100,4 +100,4 @@ mkDerivation rec { maintainers = with lib.maintainers; [ bjornfor ]; platforms = lib.platforms.unix; }; -} +}) From d802e9910dc19b7ee8b6620a7d7bfb27099bdadb Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 14 Aug 2025 17:14:45 +0300 Subject: [PATCH 48/92] gnuradioMinimal.pkgs.osmosdr: make it possible to disable features --- .../gnuradio-modules/osmosdr/default.nix | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/pkgs/development/gnuradio-modules/osmosdr/default.nix b/pkgs/development/gnuradio-modules/osmosdr/default.nix index 8b67512adbec..edfd4ac5aad6 100644 --- a/pkgs/development/gnuradio-modules/osmosdr/default.nix +++ b/pkgs/development/gnuradio-modules/osmosdr/default.nix @@ -26,6 +26,7 @@ libbladeRF, rtl-sdr, soapysdr-with-plugins, + features ? { }, }: mkDerivation (finalAttrs: { @@ -61,12 +62,8 @@ mkDerivation (finalAttrs: { fftwFloat gmp icu - airspy - hackrf - libbladeRF - rtl-sdr - soapysdr-with-plugins ] + ++ finalAttrs.finalPackage.passthru.enabledFeaturesDeps ++ lib.optionals (gnuradio.hasFeature "gr-blocks") [ libsndfile ] @@ -83,7 +80,8 @@ mkDerivation (finalAttrs: { ]; cmakeFlags = [ (if (gnuradio.hasFeature "python-support") then "-DENABLE_PYTHON=ON" else "-DENABLE_PYTHON=OFF") - ]; + ] + ++ finalAttrs.finalPackage.passthru.enabledFeaturesCmakeFlags; nativeBuildInputs = [ cmake pkg-config @@ -92,6 +90,25 @@ mkDerivation (finalAttrs: { python.pkgs.mako python ]; + passthru = { + featuresDeps = { + # Other features don't have dependencies but can still be disabled in the + # `features` argument. + airspy = [ airspy ]; + bladerf = [ libbladeRF ]; + hackrf = [ hackrf ]; + rtl = [ rtl-sdr ]; + soapy = [ soapysdr-with-plugins ]; + }; + enabledFeaturesDeps = lib.pipe finalAttrs.finalPackage.passthru.featuresDeps [ + (lib.filterAttrs (name: deps: features.${name} or true)) + lib.attrValues + lib.flatten + ]; + enabledFeaturesCmakeFlags = lib.mapAttrsToList ( + feat: val: lib.cmakeBool "ENABLE_${lib.toUpper feat}" val + ) features; + }; meta = { description = "Gnuradio block for OsmoSDR and rtl-sdr"; From 3b6d3ac76d6efe9ce80ad3d6467040b9780b2720 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Fri, 15 Aug 2025 00:12:01 +0300 Subject: [PATCH 49/92] gnuradioMinimal: allow to override the features attrset --- pkgs/by-name/gn/gnuradioMinimal/package.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/gn/gnuradioMinimal/package.nix b/pkgs/by-name/gn/gnuradioMinimal/package.nix index 8dd2039cbe3e..d6ff9b63df9a 100644 --- a/pkgs/by-name/gn/gnuradioMinimal/package.nix +++ b/pkgs/by-name/gn/gnuradioMinimal/package.nix @@ -3,6 +3,7 @@ volk, uhdMinimal, packageOverrides ? (self: super: { }), + unwrappedFeaturesOverride ? { }, }: # A build without gui components and other utilities not needed for end user # libraries @@ -28,6 +29,7 @@ gnuradio.override { # Doesn't make it reference python eventually, but makes reverse # dependencies require python to use cmake files of GR. gr-ctrlport = false; - }; + } + // unwrappedFeaturesOverride; }; } From 442c412c3fc5937f5cfbc75482f5ecccc0b5e3c5 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 11:54:06 +0100 Subject: [PATCH 50/92] octavePackages.arduino: 0.10.0 -> 0.12.3 --- .../octave-modules/arduino/default.nix | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/arduino/default.nix b/pkgs/development/octave-modules/arduino/default.nix index 130c1013b34d..52f18c273522 100644 --- a/pkgs/development/octave-modules/arduino/default.nix +++ b/pkgs/development/octave-modules/arduino/default.nix @@ -1,18 +1,21 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, instrument-control, arduino-core-unwrapped, + nix-update-script, }: buildOctavePackage rec { pname = "arduino"; - version = "0.10.0"; + version = "0.12.3"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-p9SDTXkIwnrkNXeVhzAHks7EL4NdwBokrH2j9hqAJqQ="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-arduino"; + tag = "release-${version}"; + sha256 = "sha256-gYoYXJwkuoI1S2SdOu6qpemlSjgAAx7N5LYwJq9ZrU8="; }; requiredOctavePackages = [ @@ -23,6 +26,13 @@ buildOctavePackage rec { arduino-core-unwrapped ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "release-(.*)" + ]; + }; + meta = { name = "Octave Arduino Toolkit"; homepage = "https://gnu-octave.github.io/packages/arduino/"; From 365b9053e690f32fc4d0b11685571e8988ec2d5c Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 13:04:29 +0100 Subject: [PATCH 51/92] octavePackages.zeromq: 1.5.5 -> 1.5.7 --- .../octave-modules/zeromq/default.nix | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/zeromq/default.nix b/pkgs/development/octave-modules/zeromq/default.nix index 5735c4b814d4..98fab4f9e898 100644 --- a/pkgs/development/octave-modules/zeromq/default.nix +++ b/pkgs/development/octave-modules/zeromq/default.nix @@ -1,19 +1,22 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, zeromq, pkg-config, autoreconfHook, + nix-update-script, }: buildOctavePackage rec { pname = "zeromq"; - version = "1.5.5"; + version = "1.5.7"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-MAZEpbVuragVuXrMJ8q5/jU5cTchosAtrAR6ElLwfss="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-zeromq"; + tag = "release-${version}"; + sha256 = "sha256-2n/Cc4E/qYeN5Ku+Lmg/UCJhiYNbXkFIY8s4/SP2J+Y="; }; preAutoreconf = '' @@ -33,6 +36,13 @@ buildOctavePackage rec { zeromq ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "release-(.*)" + ]; + }; + meta = { homepage = "https://gnu-octave.github.io/packages/zeromq/"; license = lib.licenses.gpl3Plus; From e91a64eeda91cce45db93bbc117ffaf7db77365a Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 19:12:16 +0100 Subject: [PATCH 52/92] octavePackages.sockets: 1.4.1 -> 1.5.0 --- .../octave-modules/sockets/default.nix | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/sockets/default.nix b/pkgs/development/octave-modules/sockets/default.nix index 340c9bf74d16..905c3fe8c8cf 100644 --- a/pkgs/development/octave-modules/sockets/default.nix +++ b/pkgs/development/octave-modules/sockets/default.nix @@ -1,16 +1,26 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, + nix-update-script, }: buildOctavePackage rec { pname = "sockets"; - version = "1.4.1"; + version = "1.5.0"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-u5Nb9PVyMoR0lIzXEMtkZntXbBfpyXrtLB8U+dkgYrc="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-sockets"; + tag = "release-${version}"; + sha256 = "sha256-l5W/mLYVcTRYKLCzM8MQW7nad+Gq0fy2XKQmdH8GG/Y="; + }; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "release-(.*)" + ]; }; meta = { From 310a26b619a6a033c5ee3e8142e10dd49384f221 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 19:13:16 +0100 Subject: [PATCH 53/92] octavePackages.queueing: 1.2.7 -> 1.2.8 --- pkgs/development/octave-modules/queueing/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/octave-modules/queueing/default.nix b/pkgs/development/octave-modules/queueing/default.nix index f8f9e76c90e9..9256479c8708 100644 --- a/pkgs/development/octave-modules/queueing/default.nix +++ b/pkgs/development/octave-modules/queueing/default.nix @@ -6,11 +6,11 @@ buildOctavePackage rec { pname = "queueing"; - version = "1.2.7"; + version = "1.2.8"; src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "1yhw277i1qgmddf6wbfb6a4zrfhvplkmfr20q1l15z4xi8afnm6d"; + url = "https://github.com/mmarzolla/queueing/releases/download/${version}/${pname}-${version}.tar.gz"; + sha256 = "sha256-kJGURTYig+aImnjXu8ldyqFAJDqV+fpUzR+h6OdvwzM="; }; meta = { From 4d7c156673499208924c9fd8cda700957a8bddb7 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 19:13:58 +0100 Subject: [PATCH 54/92] octavePackages.signal: 1.4.6 -> 1.4.7 --- pkgs/development/octave-modules/signal/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/signal/default.nix b/pkgs/development/octave-modules/signal/default.nix index fc14571ba61c..fef5c120310a 100644 --- a/pkgs/development/octave-modules/signal/default.nix +++ b/pkgs/development/octave-modules/signal/default.nix @@ -1,17 +1,20 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, control, + nix-update-script, }: buildOctavePackage rec { pname = "signal"; - version = "1.4.6"; + version = "1.4.7"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-lO74/qeMiWCfjd9tX/i/wuDauTK0P4bOkRR0pYtcce4="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-signal"; + tag = "${version}"; + sha256 = "sha256-4E57x2hweO1TfpjBRRvsyQA/o83XJLrRKa5vqUA0t3s="; }; requiredOctavePackages = [ From 49ac25c4d2babdd50657617e890061413452ff53 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 19:51:24 +0100 Subject: [PATCH 55/92] octavePackages.ocl: 1.2.3 -> 1.2.4 It build and is no longer broken --- pkgs/development/octave-modules/ocl/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/octave-modules/ocl/default.nix b/pkgs/development/octave-modules/ocl/default.nix index 42e3521080fb..f57a141b5054 100644 --- a/pkgs/development/octave-modules/ocl/default.nix +++ b/pkgs/development/octave-modules/ocl/default.nix @@ -6,11 +6,11 @@ buildOctavePackage rec { pname = "ocl"; - version = "1.2.3"; + version = "1.2.4"; src = fetchurl { url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-g/HLE0qjnzYkq3t3OhxFBpL250JWbWjHJBP0SYJSOZU="; + sha256 = "sha256-ymahtzdCX4D3rBMThUmhWOY238yckP0bmNE0xFhK0No="; }; meta = { @@ -23,7 +23,5 @@ buildOctavePackage rec { Single-Instruction-Multiple-Data (SIMD) computations, selectively using available OpenCL hardware and drivers. ''; - # https://savannah.gnu.org/bugs/?66964 - broken = true; }; } From ef70d3ad736418a6afa034433d9d8048c895e1a5 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 19:54:20 +0100 Subject: [PATCH 56/92] octavePackages.octproj: 3.0.2 -> 3.1.0 --- pkgs/development/octave-modules/octproj/default.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pkgs/development/octave-modules/octproj/default.nix b/pkgs/development/octave-modules/octproj/default.nix index 31e5a3a58d9a..48812b0ac6c0 100644 --- a/pkgs/development/octave-modules/octproj/default.nix +++ b/pkgs/development/octave-modules/octproj/default.nix @@ -3,17 +3,18 @@ lib, fetchFromBitbucket, proj, # >= 6.3.0 + nix-update-script, }: buildOctavePackage rec { pname = "octproj"; - version = "3.0.2"; + version = "3.1.0"; src = fetchFromBitbucket { owner = "jgpallero"; repo = "octproj"; rev = "OctPROJ-${version}"; - sha256 = "sha256-d/Zf172Etj+GA0cnGsQaKMjOmirE7Hwyj4UECpg7QFM="; + sha256 = "sha256-0QDlpfqFTSndUPkOslugDBM0UBKiusZwKGFuDrco7X4="; }; # The sed changes below allow for the package to be compiled. @@ -26,6 +27,13 @@ buildOctavePackage rec { proj ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "OctPROJ-(.*)" + ]; + }; + meta = { homepage = "https://gnu-octave.github.io/packages/octproj/"; license = lib.licenses.gpl3Plus; From 30497aa3788b435ad9eb0b9f978727113e2a95b1 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 21:14:59 +0100 Subject: [PATCH 57/92] octavePackages.dicom: 0.6.1 -> 0.7.1 --- pkgs/development/octave-modules/dicom/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/dicom/default.nix b/pkgs/development/octave-modules/dicom/default.nix index 8f77d7e7650e..f40e2fe36abb 100644 --- a/pkgs/development/octave-modules/dicom/default.nix +++ b/pkgs/development/octave-modules/dicom/default.nix @@ -1,18 +1,21 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, gdcm, cmake, + nix-update-script, }: buildOctavePackage rec { pname = "dicom"; - version = "0.6.1"; + version = "0.7.1"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-erUZudOknymgGprqUhCaSvN/WlmWZ1qgH8HDYrNOg2I="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-dicom"; + tag = "release-${version}"; + sha256 = "sha256-NNdcnIeHXDRmZZp0WvwGtfMJ4BSR6+aK6FVS0BG51U8="; }; nativeBuildInputs = [ @@ -25,6 +28,8 @@ buildOctavePackage rec { gdcm ]; + passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=release-(.*)" ]; }; + meta = { homepage = "https://gnu-octave.github.io/packages/dicom/"; license = lib.licenses.gpl3Plus; From 4c53b2760d860c13f6f7ab3418fc22b6f8e8b189 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 22:31:15 +0100 Subject: [PATCH 58/92] octavePackages.general: 2.1.3 -> 2.1.4 --- pkgs/development/octave-modules/general/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/octave-modules/general/default.nix b/pkgs/development/octave-modules/general/default.nix index 0b92b90341f8..cfb9bafd7afc 100644 --- a/pkgs/development/octave-modules/general/default.nix +++ b/pkgs/development/octave-modules/general/default.nix @@ -8,11 +8,11 @@ buildOctavePackage rec { pname = "general"; - version = "2.1.3"; + version = "2.1.4"; src = fetchurl { url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-amslJm3haXaAehdm6jYJxcGZl+ggUcnJc3i6YJ3QkyM="; + sha256 = "sha256-sTd31PWTLmiR8qrBPaF/IrjJuLT/jtAXllnr0ZEkFI8="; }; nativeBuildInputs = [ From 56ea5d37bb2b9cfb042ab5603e10aec87494114d Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 22:32:30 +0100 Subject: [PATCH 59/92] octavePackages.geometry: unstable-2021-07-07 -> 4.1.0 --- pkgs/development/octave-modules/geometry/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/octave-modules/geometry/default.nix b/pkgs/development/octave-modules/geometry/default.nix index 536634963481..316b55e2f529 100644 --- a/pkgs/development/octave-modules/geometry/default.nix +++ b/pkgs/development/octave-modules/geometry/default.nix @@ -1,18 +1,17 @@ { buildOctavePackage, lib, - fetchhg, + fetchurl, matgeom, }: buildOctavePackage rec { pname = "geometry"; - version = "unstable-2021-07-07"; + version = "4.1.0"; - src = fetchhg { - url = "http://hg.code.sf.net/p/octave/${pname}"; - rev = "04965cda30b5f9e51774194c67879e7336df1710"; - sha256 = "sha256-ECysYOJMF4gPiCFung9hFSlyyO60X3MGirQ9FlYDix8="; + src = fetchurl { + url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; + sha256 = "sha256-28FliEXJfS1mh8FJCmG0PTWZE9M0IOR1tlnzNfejQ2A="; }; requiredOctavePackages = [ From 0c8024aa2a44747ccc0051a3c6fc15610b9ca734 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 22:34:38 +0100 Subject: [PATCH 60/92] octavePackages.image-acquisition: 0.3.0 -> 0.3.3 --- .../image-acquisition/default.nix | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/image-acquisition/default.nix b/pkgs/development/octave-modules/image-acquisition/default.nix index 0cde88f66e12..251068c7087a 100644 --- a/pkgs/development/octave-modules/image-acquisition/default.nix +++ b/pkgs/development/octave-modules/image-acquisition/default.nix @@ -1,18 +1,21 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, libv4l, fltk, + nix-update-script, }: buildOctavePackage rec { pname = "image-acquisition"; - version = "0.3.0"; + version = "0.3.3"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-vgLDbqFGlbXjDaxRtaBHAYYJ+wUjtB0NYYkQFIqTOgU="; + src = fetchFromGitHub { + owner = "Andy1978"; + repo = "octave-image-acquisition"; + tag = "image-acquisition-${version}"; + sha256 = "sha256-vS1i0PNAyfkxuMSfm+OGvFXkpbD4H6VJrs4eb+LxYBA="; }; buildInputs = [ @@ -23,6 +26,13 @@ buildOctavePackage rec { libv4l ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "image-acquisition-(.*)" + ]; + }; + meta = { homepage = "https://gnu-octave.github.io/packages/image-acquisition/"; license = lib.licenses.gpl3Plus; From 4e31a83f613b4f14efce40a2254e2e06089cf021 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 22:36:10 +0100 Subject: [PATCH 61/92] octavePackages.instrument-control: 0.9.5 -> 0.10.0 --- .../instrument-control/default.nix | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/instrument-control/default.nix b/pkgs/development/octave-modules/instrument-control/default.nix index 0c0e708ac932..c45c3d961dd7 100644 --- a/pkgs/development/octave-modules/instrument-control/default.nix +++ b/pkgs/development/octave-modules/instrument-control/default.nix @@ -1,16 +1,26 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, + nix-update-script, }: buildOctavePackage rec { pname = "instrument-control"; - version = "0.9.5"; + version = "0.10.0"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-Qm1aF+dbhwrDUSh8ViJHCZIc0DiZ1jI117TnSknqzX0="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "instrument-control"; + tag = "release-${version}"; + sha256 = "sha256-eXlH7BFRh4Vq/2LiBsmTvZNhXm4IbeCHK+OsKMQI0tY="; + }; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "release-(.*)" + ]; }; meta = { From 54e405e548bf37b76c1a936231afc86526b8955d Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 22:38:17 +0100 Subject: [PATCH 62/92] octavePackages.miscellaneous: 1.3.1 -> 1.3.2 --- .../octave-modules/miscellaneous/default.nix | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/miscellaneous/default.nix b/pkgs/development/octave-modules/miscellaneous/default.nix index 26695fbee578..d1fd05e738eb 100644 --- a/pkgs/development/octave-modules/miscellaneous/default.nix +++ b/pkgs/development/octave-modules/miscellaneous/default.nix @@ -1,7 +1,8 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, + nix-update-script, # Build-time dependencies ncurses, # >= 5 units, @@ -9,11 +10,13 @@ buildOctavePackage rec { pname = "miscellaneous"; - version = "1.3.1"; + version = "1.3.2"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-VxIReiXTHRJmADZGpA6B59dCdDPCY2bkJt/6mrir1kg="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-miscellaneous"; + tag = "release-${version}"; + sha256 = "sha256-IF5kBd7RD2+gooRTNtv2XDPJcpIZlsu8QXlO3f3nD/Q="; }; buildInputs = [ @@ -24,6 +27,13 @@ buildOctavePackage rec { units ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "release-(.*)" + ]; + }; + meta = { homepage = "https://gnu-octave.github.io/packages/miscellaneous/"; license = lib.licenses.gpl3Plus; From 47ff2cd0b2010aa9e54791e31ca7cb7a1facb653 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 22:42:52 +0100 Subject: [PATCH 63/92] octavePackages.netcdf: 1.0.18 -> 1.0.19 --- pkgs/development/octave-modules/netcdf/default.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/netcdf/default.nix b/pkgs/development/octave-modules/netcdf/default.nix index 3381380940d5..4e41446c3a67 100644 --- a/pkgs/development/octave-modules/netcdf/default.nix +++ b/pkgs/development/octave-modules/netcdf/default.nix @@ -1,17 +1,20 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, netcdf, + nix-update-script, }: buildOctavePackage rec { pname = "netcdf"; - version = "1.0.18"; + version = "1.0.19"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-ydgcKFh4uWuSlr7zw+k1JFUSzGm9tiWmOHV1IWvlgwk="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-netcdf"; + tag = "v${version}"; + sha256 = "sha256-yt39bd6EBLj7mr6EYngPfPXEMusncc9tx5So1Cp1zkM="; }; propagatedBuildInputs = [ From 1439e24031ce6f4dbda0bcb9a9d5196aac7d2998 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Mon, 2 Mar 2026 22:44:13 +0100 Subject: [PATCH 64/92] octavePackages.quaternion: 2.4.1 -> 2.4.2 --- .../octave-modules/quaternion/default.nix | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/pkgs/development/octave-modules/quaternion/default.nix b/pkgs/development/octave-modules/quaternion/default.nix index 91e572da06d7..0fe0f7a33464 100644 --- a/pkgs/development/octave-modules/quaternion/default.nix +++ b/pkgs/development/octave-modules/quaternion/default.nix @@ -6,21 +6,13 @@ buildOctavePackage rec { pname = "quaternion"; - version = "2.4.1"; + version = "2.4.2"; src = fetchurl { url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-kY5mU7dJuUjprub+LTc1BH6YGdEnP9ydX0lRU0fmOYE="; + sha256 = "sha256-S8tkdDlyaT8E7W0v6kkGs4qTU/G4DG5vLQvA9vjPOgc="; }; - # Octave replaced many of the is_thing_type check function with isthing. - # The patch changes the occurrences of the old functions. - patchPhase = '' - sed -i s/is_numeric_type/isnumeric/g src/*.cc - sed -i s/is_real_type/isreal/g src/*.cc - sed -i s/is_bool_type/islogical/g src/*.cc - ''; - meta = { homepage = "https://gnu-octave.github.io/packages/quaternion/"; license = lib.licenses.gpl3Plus; From ef52b02565afd2d24f6adf8e160d806030eac804 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Wed, 4 Mar 2026 13:43:01 +0100 Subject: [PATCH 65/92] octavePackages.windows: 1.6.5 -> 1.7.0 (Broken) The Windows package build fine. However it cannot be build into an Octave env. --- .../octave-modules/windows/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/windows/default.nix b/pkgs/development/octave-modules/windows/default.nix index e65e281b735d..8c25872f889a 100644 --- a/pkgs/development/octave-modules/windows/default.nix +++ b/pkgs/development/octave-modules/windows/default.nix @@ -1,22 +1,28 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, + nix-update-script, }: buildOctavePackage rec { pname = "windows"; - version = "1.6.5"; + version = "1.7.0"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-j/goQc57jcfxlCsbf31Mx8oNud1vNE0D/hNfXyvVmTc="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-windows"; + tag = "release-${version}"; + sha256 = "sha256-hr94VALlAEwpqNU7imEN63M0BdPFSu5IznhWOn/mNiQ="; }; + passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=release-(.*)" ]; }; + meta = { homepage = "https://gnu-octave.github.io/packages/windows/"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ KarlJoad ]; description = "Provides COM interface and additional functionality on Windows"; + broken = true; }; } From a0b51629f9e6a43a0312299f11dd9597dd936484 Mon Sep 17 00:00:00 2001 From: Rasmus Enevoldsen Date: Wed, 4 Mar 2026 13:49:39 +0100 Subject: [PATCH 66/92] octavePackages.audio: 2.0.5 -> 2.0.10 (Broken) The Audio package build. However, it cannot be built into an Octave env. The nixpkgs issue is https://github.com/NixOS/nixpkgs/pull/495985 --- .../development/octave-modules/audio/default.nix | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/pkgs/development/octave-modules/audio/default.nix b/pkgs/development/octave-modules/audio/default.nix index b7d3e2145162..777cf5d40249 100644 --- a/pkgs/development/octave-modules/audio/default.nix +++ b/pkgs/development/octave-modules/audio/default.nix @@ -1,7 +1,8 @@ { buildOctavePackage, lib, - fetchurl, + fetchFromGitHub, + nix-update-script, jack2, alsa-lib, rtmidi, @@ -10,11 +11,13 @@ buildOctavePackage rec { pname = "audio"; - version = "2.0.5"; + version = "2.0.10"; - src = fetchurl { - url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz"; - sha256 = "sha256-/4akeeOQnvTlk9ah+e8RJfwJG2Eq2HAGOCejhiIUjF4="; + src = fetchFromGitHub { + owner = "gnu-octave"; + repo = "octave-audio"; + tag = "release-${version}"; + sha256 = "sha256-v7FKj9GSlX86zpOcw1xKxy150ivUxpjU/rvg+3OGs2s="; }; nativeBuildInputs = [ @@ -27,11 +30,14 @@ buildOctavePackage rec { rtmidi ]; + passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=release-(.*)" ]; }; + meta = { homepage = "https://gnu-octave.github.io/packages/audio/"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ KarlJoad ]; description = "Audio and MIDI Toolbox for GNU Octave"; platforms = lib.platforms.linux; # Because of run-time dependency on jack2 and alsa-lib + broken = true; }; } From 0157e9e146aae160a15848996b887bb742e05073 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 4 Mar 2026 15:35:49 +0200 Subject: [PATCH 67/92] octavePackages.geometry: fix build of octave environment by adding top-level gsl library --- pkgs/development/octave-modules/geometry/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/octave-modules/geometry/default.nix b/pkgs/development/octave-modules/geometry/default.nix index 316b55e2f529..8e48c4500da6 100644 --- a/pkgs/development/octave-modules/geometry/default.nix +++ b/pkgs/development/octave-modules/geometry/default.nix @@ -3,6 +3,7 @@ lib, fetchurl, matgeom, + gsl, }: buildOctavePackage rec { @@ -18,6 +19,10 @@ buildOctavePackage rec { matgeom ]; + buildInputs = [ + gsl + ]; + meta = { homepage = "https://gnu-octave.github.io/packages/geometry/"; license = with lib.licenses; [ From ae8adccbf558001671fa0c53aa4d7f1d1316cc93 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:42:33 +0000 Subject: [PATCH 68/92] linux_6_19: 6.19.5 -> 6.19.6 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 4a577d78ffed..a162870f86b0 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -35,8 +35,8 @@ "lts": true }, "6.19": { - "version": "6.19.5", - "hash": "sha256:1yig0i2q7vn7p8g4lmkviddxi62mzhp0fv2hx3057qq9qz40bblm", + "version": "6.19.6", + "hash": "sha256:051fq8mkb7sf3m24a45cacr73fmpljfdn0pgjh0qrxhl6bvkz7sd", "lts": false } } From ad44e7b02ed81c1d2b55c9c2369a75ba7ac0b99c Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:42:36 +0000 Subject: [PATCH 69/92] linux_6_18: 6.18.15 -> 6.18.16 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index a162870f86b0..fbe23a6cf77c 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -30,8 +30,8 @@ "lts": true }, "6.18": { - "version": "6.18.15", - "hash": "sha256:0w7iy9mx1b42q4qz6y9rvny7nmvpwq0mf6b9vv84w4y4qcb64wbw", + "version": "6.18.16", + "hash": "sha256:1qwfsbr315c6qh3hnqmyjwjcj0h8j3w56hbrxnrx3h849lgw08ag", "lts": true }, "6.19": { From f4b6020a6a4c9510d45b572d1fd22f1c706e5d9f Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:42:40 +0000 Subject: [PATCH 70/92] linux_6_12: 6.12.74 -> 6.12.75 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index fbe23a6cf77c..6902b0c28c0e 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -25,8 +25,8 @@ "lts": true }, "6.12": { - "version": "6.12.74", - "hash": "sha256:0gm1mjn203gc11dqk82fkbsr96bnwcxq4sx5khc7yhwsvjqywmiv", + "version": "6.12.75", + "hash": "sha256:0xy1q4x18z6ghaw481hqvkmnkcgxn00nb0n4224amwbgalkpkvh6", "lts": true }, "6.18": { From f9e955175d4c4f81a69c50c63c95857fc17fbef7 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:42:42 +0000 Subject: [PATCH 71/92] linux_6_6: 6.6.127 -> 6.6.128 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 6902b0c28c0e..b50ee40cfa2d 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -20,8 +20,8 @@ "lts": true }, "6.6": { - "version": "6.6.127", - "hash": "sha256:1zn9z3ghjyff71s3yabfanrgyks3wnmn1p5w6301rczhnjbrrkd7", + "version": "6.6.128", + "hash": "sha256:0j4f6imsxm5pyqk2yn4snv47q272dwpzp0w8qcaiy0l0hjxk75k6", "lts": true }, "6.12": { From 12f7af3b6f65bef503dd038014502f30b9e103d5 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:42:45 +0000 Subject: [PATCH 72/92] linux_6_1: 6.1.164 -> 6.1.165 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index b50ee40cfa2d..7ecb2de27d6b 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -5,8 +5,8 @@ "lts": false }, "6.1": { - "version": "6.1.164", - "hash": "sha256:074xlcrx5lvbkbwgahfvjlvak0j1nig9azfxfdl64zxzgdzhigrk", + "version": "6.1.165", + "hash": "sha256:1x1fsaax7yd5p3vwcgp04hbcafmwfqiw1bz0qxsip45yy62730as", "lts": true }, "5.15": { From c76ba5ac2ae3f7f8cbbdf9531d02d2fcd0d2a9c9 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:48:38 +0000 Subject: [PATCH 73/92] linux_5_15: 5.15.201 -> 5.15.202 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 7ecb2de27d6b..944d30e599f1 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -10,8 +10,8 @@ "lts": true }, "5.15": { - "version": "5.15.201", - "hash": "sha256:15hv8rqgr6ca9rnbpb6hvzskqvb4h8x3w6nl4y2npbfsxpxzyajg", + "version": "5.15.202", + "hash": "sha256:1m6d53qx1ah4jwpa8hwjdmq0jn2hf7xmz1li6rwpdqjp97vvvh8b", "lts": true }, "5.10": { From 7bce207ae691ab1a23ccd9be290deab45f033961 Mon Sep 17 00:00:00 2001 From: zowoq <59103226+zowoq@users.noreply.github.com> Date: Wed, 4 Mar 2026 13:48:41 +0000 Subject: [PATCH 74/92] linux_5_10: 5.10.251 -> 5.10.252 --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 944d30e599f1..51c85bacf3f6 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -15,8 +15,8 @@ "lts": true }, "5.10": { - "version": "5.10.251", - "hash": "sha256:00ac9gzidby7b82s2prq4c3w99a077f5li4v4yq8gdg3zqjpd1g6", + "version": "5.10.252", + "hash": "sha256:1yqa4zmvi5ihf50kxcff06abfi6xw0b9ajzagvy6gdzfr7igpcrl", "lts": true }, "6.6": { From 912afa319f5d05a884be4aa7d6204b4eff874599 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Wed, 4 Mar 2026 16:08:14 +0200 Subject: [PATCH 75/92] octavePackages.gsl: mark as broken --- pkgs/development/octave-modules/gsl/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/development/octave-modules/gsl/default.nix b/pkgs/development/octave-modules/gsl/default.nix index b01509fb2294..41aee3c2eb58 100644 --- a/pkgs/development/octave-modules/gsl/default.nix +++ b/pkgs/development/octave-modules/gsl/default.nix @@ -1,6 +1,5 @@ { buildOctavePackage, - stdenv, lib, fetchurl, gsl, @@ -24,8 +23,8 @@ buildOctavePackage rec { license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ KarlJoad ]; description = "Octave bindings to the GNU Scientific Library"; - # error: use of undeclared identifier 'feval'; did you mean 'octave::feval'? - # error: no member named 'is_real_type' in 'octave_value' - broken = stdenv.hostPlatform.isDarwin; + # When used in an `octave.withPackages` environment, octave fails to find + # libgsl.so from some reason. + broken = true; }; } From 314a14fba91ea485f1c51b9b9c2beb423ade403b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 14:29:44 +0000 Subject: [PATCH 76/92] veryl: 0.18.0 -> 0.19.0 --- pkgs/by-name/ve/veryl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ve/veryl/package.nix b/pkgs/by-name/ve/veryl/package.nix index 65fb91447c76..83452d135519 100644 --- a/pkgs/by-name/ve/veryl/package.nix +++ b/pkgs/by-name/ve/veryl/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "veryl"; - version = "0.18.0"; + version = "0.19.0"; src = fetchFromGitHub { owner = "veryl-lang"; repo = "veryl"; rev = "v${finalAttrs.version}"; - hash = "sha256-dqVEl/sClzhLiX5ung4au6dXUkeMbKPdoSDRV0evT3w="; + hash = "sha256-uplW62XoWhMtsMt658BlnHm9bEHJUzZqtJRTUBCjOrs="; fetchSubmodules = true; }; - cargoHash = "sha256-0RFzZwaF8hVVBBBC7l9Ql9mN99cxI2tiWlo7eNX/Tho="; + cargoHash = "sha256-h9ECFtIfFjIheRMFUyCUDYIp1RLQ9ZH4mIlaCH1g9Lo="; nativeBuildInputs = [ pkg-config From 17e012b4bd38aac67e3be2bba06d4410ff96c611 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 14:47:00 +0000 Subject: [PATCH 77/92] warp-terminal: 0.2026.02.18.08.22.stable_02 -> 0.2026.02.25.08.24.stable_01 --- pkgs/by-name/wa/warp-terminal/versions.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/wa/warp-terminal/versions.json b/pkgs/by-name/wa/warp-terminal/versions.json index 643b7ffe2131..8a4b4ef8a72a 100644 --- a/pkgs/by-name/wa/warp-terminal/versions.json +++ b/pkgs/by-name/wa/warp-terminal/versions.json @@ -1,14 +1,14 @@ { "darwin": { - "hash": "sha256-HiMDB8x72zL8XZJ36M2mVfF2CiPDCh//MnKC1ZJYWvU=", - "version": "0.2026.02.18.08.22.stable_02" + "hash": "sha256-Q29tEoB3RVE7PlDK5o4OiaSC39ksgK9F3DYQ9uIu9no=", + "version": "0.2026.02.25.08.24.stable_01" }, "linux_x86_64": { - "hash": "sha256-+CRcerac94LJjwamaEVVyl2GxHRbxydNe/xlIMQfcfU=", - "version": "0.2026.02.18.08.22.stable_02" + "hash": "sha256-PBDITM/Zc6rj91knMIu4QvwF6NRJ8fxzq8Btd01ens0=", + "version": "0.2026.02.25.08.24.stable_01" }, "linux_aarch64": { - "hash": "sha256-OQikiIpdegjQ7u3H6kRLc6s/4biN6l25KrHo01aEd6o=", - "version": "0.2026.02.18.08.22.stable_02" + "hash": "sha256-FC1WYLRv5nAddKKZKmEGUQLMuDMdT2WUleA5/fL7JIc=", + "version": "0.2026.02.25.08.24.stable_01" } } From a80613b0ee7de9416f741b15b66b14bf087298e9 Mon Sep 17 00:00:00 2001 From: John Titor <50095635+JohnRTitor@users.noreply.github.com> Date: Sat, 28 Feb 2026 15:00:05 +0000 Subject: [PATCH 78/92] pyprland: 2.6.2 -> 3.1.0 --- pkgs/by-name/py/pyprland/package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/py/pyprland/package.nix b/pkgs/by-name/py/pyprland/package.nix index cf81bc3dbb1f..900b8b06b936 100644 --- a/pkgs/by-name/py/pyprland/package.nix +++ b/pkgs/by-name/py/pyprland/package.nix @@ -7,21 +7,23 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "pyprland"; - version = "2.6.2"; + version = "3.1.0"; pyproject = true; src = fetchFromGitHub { owner = "hyprland-community"; repo = "pyprland"; tag = finalAttrs.version; - hash = "sha256-jvdXytMnNrINNkSNljYFS9uomPmQ0g2Bnje/8YbsAv8="; + hash = "sha256-qayntjpE3WYBl6idfpwtvkEo61oHtc80uNEm0m4XA2o="; }; nativeBuildInputs = with python3Packages; [ poetry-core ]; propagatedBuildInputs = with python3Packages; [ aiofiles + aiohttp pillow + questionary ]; pythonRelaxDeps = [ "aiofiles" @@ -51,7 +53,6 @@ python3Packages.buildPythonApplication (finalAttrs: { "pyprland.plugins.lost_windows" "pyprland.plugins.magnify" "pyprland.plugins.monitors" - "pyprland.plugins.monitors_v0" "pyprland.plugins.pyprland" "pyprland.plugins.scratchpads" "pyprland.plugins.shift_monitors" From ebca3d1d204f3ab45defb6287f21b5bc0dffd0dc Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 22:44:54 +0800 Subject: [PATCH 79/92] emacs: simplify datastring type in update-from-overlay.py It's impossible that datastring is None. --- .../emacs/elisp-packages/update-from-overlay.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index cde191f5f05c..51cbae024b9a 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -238,7 +238,7 @@ Output: def commit_fileset( name: str, sha: str, - datestring: str | None, + datestring: str, emacs_overlay: EmacsOverlay, here_directory: HereDirectory, logger: logging.Logger, @@ -248,18 +248,14 @@ def commit_fileset( Arguments: name -- The name of fileset. sha -- The commit SHA of emacs-overlay from which the files are retrieved. - datestring -- The date to be written on commit message. If None, use the current time. + datestring -- The date to be written on commit message. """ logger.debug("BEGIN") nix_attrs = emacs_overlay.elisp_packages_set[name]["nix_attrs"] basename = emacs_overlay.elisp_packages_set[name]["basename"] - if datestring is None: - datestring = datetime.datetime.today().strftime("%Y-%m-%d") - logger.debug(f"Date string not provided, using {datestring}") - else: - logger.debug(f"Date string was provided: {datestring}") + logging.debug(f"Date: {datestring}") cmdline_verify = ["git", "diff", "--exit-code", "--quiet", "--", basename] result_verify = subprocess.run(cmdline_verify) From e7262b14bde43f41b5a69d9ddf28fb36e4a49444 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 22:46:22 +0800 Subject: [PATCH 80/92] emacs: simplify git diff command in update-from-overlay.py --quiet implies --exit-code. --- .../editors/emacs/elisp-packages/update-from-overlay.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 51cbae024b9a..86db48a60b65 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -257,7 +257,7 @@ def commit_fileset( logging.debug(f"Date: {datestring}") - cmdline_verify = ["git", "diff", "--exit-code", "--quiet", "--", basename] + cmdline_verify = ["git", "diff", "--quiet", "--", basename] result_verify = subprocess.run(cmdline_verify) if result_verify.returncode != 0: From 554bc681f85734236550cbd1d32ddb1fbba1de2f Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 22:47:58 +0800 Subject: [PATCH 81/92] emacs: improve git commit message in update-from-overlay.py --- .../editors/emacs/elisp-packages/update-from-overlay.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 86db48a60b65..32fa3b55b8d5 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -262,7 +262,7 @@ def commit_fileset( if result_verify.returncode != 0: attrs = ", ".join(nix_attrs) - commit_message = f"""{attrs}: Updated at {datestring} (from emacs-overlay) + commit_message = f"""{attrs}: update on {datestring} (from emacs-overlay) emacs-overlay commit: {sha} """ From 2bde23de62b402296c02a13fc82c694ca16e0d60 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Tue, 3 Mar 2026 22:56:05 +0800 Subject: [PATCH 82/92] emacs: improve argument parser in update-from-overlay.py --- .../editors/emacs/elisp-packages/update-from-overlay.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 32fa3b55b8d5..e365e297d453 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -134,16 +134,17 @@ def get_argument_parser() -> argparse.ArgumentParser: """Return a getopt-style parser for command-line arguments.""" parser = argparse.ArgumentParser( description="Fetch and commit Elisp package sets from nix-community/emacs-overlay", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, ) parser.add_argument( "--commit", help="Commit to be fetched, in SHA format. If not specified, retrieve the master tip.", - default=None, ) parser.add_argument( "--loglevel", - help="Level of noisiness of logging messages. Values currently supported: INFO (default), DEBUG.", - default="InFo", + help="Level of noisiness of logging messages.", + default="INFO", + choices=["INFO", "DEBUG"], ) return parser From 40edcab2255cd0573171b2524a814dd5eba7e1d8 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Wed, 4 Mar 2026 00:09:56 +0800 Subject: [PATCH 83/92] emacs: simplify logging config in update-from-overlay.py --- .../elisp-packages/update-from-overlay.py | 60 ++++++------------- 1 file changed, 18 insertions(+), 42 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index e365e297d453..8b98fb58bccc 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -14,7 +14,6 @@ import os import pathlib import shutil import subprocess -import sys import urllib.request @@ -96,7 +95,11 @@ def main( case _: loglevel = logging.INFO - logger = get_logger(loglevel=loglevel) + logging.basicConfig( + level=loglevel, + format="%(asctime)s - %(levelname)s - %(funcName)s - %(message)s", + datefmt="[%Y-%m-%d %H:%M:%S]", + ) datestring = datetime.datetime.today().strftime("%Y-%m-%d") @@ -108,7 +111,6 @@ def main( name, sha, emacs_overlay=emacs_overlay, - logger=logger, ) for name in emacs_overlay.elisp_packages_set: @@ -116,7 +118,6 @@ def main( name, emacs_overlay=emacs_overlay, here_directory=here_directory, - logger=logger, ) for name in emacs_overlay.elisp_packages_set: @@ -126,7 +127,6 @@ def main( datestring=datestring, emacs_overlay=emacs_overlay, here_directory=here_directory, - logger=logger, ) @@ -150,32 +150,10 @@ def get_argument_parser() -> argparse.ArgumentParser: return parser -def get_logger(loglevel: int) -> logging.Logger: - """Return a basic logging facility to emit messages over console (stdout).""" - logger = logging.getLogger("update-from-overlay") - # Set the lowest level here, so that it does not clobber the one provided by - # the function argument - logger.setLevel(logging.DEBUG) - - console_formatter = logging.Formatter( - fmt="%(asctime)s - %(levelname)s - %(funcName)s - %(message)s", - datefmt="[%Y-%m-%d %H:%M:%S]", - ) - - console_handler = logging.StreamHandler(stream=sys.stdout) - console_handler.setLevel(loglevel) - console_handler.setFormatter(console_formatter) - - logger.addHandler(console_handler) - - return logger - - def fetch_fileset( name: str, sha: str, emacs_overlay: EmacsOverlay, - logger: logging.Logger, ) -> None: """Fetch a fileset from emacs overlay. @@ -183,36 +161,35 @@ def fetch_fileset( name -- The name of fileset. sha -- The commit SHA of emacs-overlay from which the files are retrieved. """ - logger.debug("BEGIN") + logging.debug("BEGIN") location = emacs_overlay.elisp_packages_set[name]["location"] basename = emacs_overlay.elisp_packages_set[name]["basename"] url = f"{emacs_overlay.raw_url}/{sha}/{location}/{basename}" - logger.debug(f"Getting {url}") + logging.debug(f"Getting {url}") with ( urllib.request.urlopen(url) as input_stream, open(basename, "wb") as output_file, ): - logger.info(f"Installing {basename}") + logging.info(f"Installing {basename}") shutil.copyfileobj(input_stream, output_file) - logger.debug("END") + logging.debug("END") def check_fileset( name: str, emacs_overlay: EmacsOverlay, here_directory: HereDirectory, - logger: logging.Logger, ) -> None: """Smoke-test the fileset. Arguments: name -- The name of fileset. """ - logger.debug("BEGIN") + logging.debug("BEGIN") for nix_attr in emacs_overlay.elisp_packages_set[name]["nix_attrs"]: cmdline = [ @@ -225,15 +202,15 @@ def check_fileset( environment = os.environ environment["NIXPKGS_ALLOW_BROKEN"] = "1" - logger.info(f"Testing {nix_attr}") + logging.info(f"Testing {nix_attr}") # TODO: capture the output (to put it in the logfile). result = subprocess.run(cmdline, capture_output=True, text=True, check=True) - logger.debug(f""" + logging.debug(f""" Shell Command: {result.args} Output: {result.stdout}""") - logger.debug("END") + logging.debug("END") def commit_fileset( @@ -242,7 +219,6 @@ def commit_fileset( datestring: str, emacs_overlay: EmacsOverlay, here_directory: HereDirectory, - logger: logging.Logger, ) -> None: """Commit the fileset. @@ -251,7 +227,7 @@ def commit_fileset( sha -- The commit SHA of emacs-overlay from which the files are retrieved. datestring -- The date to be written on commit message. """ - logger.debug("BEGIN") + logging.debug("BEGIN") nix_attrs = emacs_overlay.elisp_packages_set[name]["nix_attrs"] basename = emacs_overlay.elisp_packages_set[name]["basename"] @@ -271,15 +247,15 @@ emacs-overlay commit: {sha} result_commit = subprocess.run( cmdline_commit, capture_output=True, text=True, check=True ) - logger.info(f"File {basename} committed") - logger.debug(f""" + logging.info(f"File {basename} committed") + logging.debug(f""" Shell Command: {result_commit.args} Output: {result_commit.stdout}""") else: - logger.info(f"File {basename} not modified, skipping") + logging.info(f"File {basename} not modified, skipping") - logger.debug("END") + logging.debug("END") if __name__ == "__main__": From 3a6925fab079599ea1a7f7c036324208f7435719 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Wed, 4 Mar 2026 00:16:07 +0800 Subject: [PATCH 84/92] emacs: do not change the current env in update-from-overlay.py --- .../editors/emacs/elisp-packages/update-from-overlay.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 8b98fb58bccc..f048d6cd42fc 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -199,12 +199,14 @@ def check_fileset( "-A", f"emacsPackages.{nix_attr}", ] - environment = os.environ - environment["NIXPKGS_ALLOW_BROKEN"] = "1" + env = os.environ.copy() + env["NIXPKGS_ALLOW_BROKEN"] = "1" logging.info(f"Testing {nix_attr}") # TODO: capture the output (to put it in the logfile). - result = subprocess.run(cmdline, capture_output=True, text=True, check=True) + result = subprocess.run( + cmdline, capture_output=True, text=True, check=True, env=env + ) logging.debug(f""" Shell Command: {result.args} Output: From b301f00ed4fb1757c580eebfe8bb936ad7682024 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Wed, 4 Mar 2026 00:18:14 +0800 Subject: [PATCH 85/92] emacs: remove unused function parameter and outdated TODO comment --- .../editors/emacs/elisp-packages/update-from-overlay.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index f048d6cd42fc..224a4c2ef40e 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -126,7 +126,6 @@ def main( sha, datestring=datestring, emacs_overlay=emacs_overlay, - here_directory=here_directory, ) @@ -203,7 +202,6 @@ def check_fileset( env["NIXPKGS_ALLOW_BROKEN"] = "1" logging.info(f"Testing {nix_attr}") - # TODO: capture the output (to put it in the logfile). result = subprocess.run( cmdline, capture_output=True, text=True, check=True, env=env ) @@ -220,7 +218,6 @@ def commit_fileset( sha: str, datestring: str, emacs_overlay: EmacsOverlay, - here_directory: HereDirectory, ) -> None: """Commit the fileset. From 555ae74a84d3dc866b6e3199c4c275bc40a3ddf7 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Wed, 4 Mar 2026 01:00:35 +0800 Subject: [PATCH 86/92] emacs: use smaller func param git_root in update-from-overlay.py --- .../emacs/elisp-packages/update-from-overlay.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py index 224a4c2ef40e..79824c322620 100755 --- a/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py +++ b/pkgs/applications/editors/emacs/elisp-packages/update-from-overlay.py @@ -75,7 +75,7 @@ class HereDirectory: def main( emacs_overlay: EmacsOverlay, - here_directory: HereDirectory, + git_root: pathlib.Path, argument_parser: argparse.ArgumentParser, ) -> None: """The entry point.""" @@ -117,7 +117,7 @@ def main( check_fileset( name, emacs_overlay=emacs_overlay, - here_directory=here_directory, + git_root=git_root, ) for name in emacs_overlay.elisp_packages_set: @@ -181,7 +181,7 @@ def fetch_fileset( def check_fileset( name: str, emacs_overlay: EmacsOverlay, - here_directory: HereDirectory, + git_root: pathlib.Path, ) -> None: """Smoke-test the fileset. @@ -194,7 +194,7 @@ def check_fileset( cmdline = [ "nix-instantiate", "--show-trace", - str(here_directory.git_root()), + str(git_root), "-A", f"emacsPackages.{nix_attr}", ] @@ -264,6 +264,6 @@ if __name__ == "__main__": with contextlib.chdir(here_directory.path): main( emacs_overlay=emacs_overlay, - here_directory=here_directory, + git_root=here_directory.git_root(), argument_parser=argument_parser, ) From 5b81e30ba0cc3da802d1a24229ab3ab137f8e7ae Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 15:25:49 +0000 Subject: [PATCH 87/92] home-assistant-custom-lovelace-modules.universal-remote-card: 4.10.0 -> 4.10.2 --- .../universal-remote-card/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix index 78e295ac0259..a74ba8515af9 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/universal-remote-card/package.nix @@ -6,16 +6,16 @@ buildNpmPackage rec { pname = "universal-remote-card"; - version = "4.10.0"; + version = "4.10.2"; src = fetchFromGitHub { owner = "Nerwyn"; repo = "android-tv-card"; rev = version; - hash = "sha256-+OINeNnIDnunT6DaoUVvwaaIwTJ9perLq6/DmO3/utE="; + hash = "sha256-bWGddEJgD7BFPXMEJKvmhNqTsGFOQG8aDHGuecLYRHQ="; }; - npmDepsHash = "sha256-luJ9T7BRf76sANqEmVlWw/i0Y6QUf8uNW2CmlbF1c2E="; + npmDepsHash = "sha256-pYhPedK4Pxueg0dcUcuP9S5L3x18C1xzeyNWPllaAmM="; installPhase = '' runHook preInstall From d4239efeeed53fa2f83e22fbea010af48677488e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 15:51:16 +0000 Subject: [PATCH 88/92] monocle: 1.1.0 -> 1.2.0 --- pkgs/by-name/mo/monocle/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mo/monocle/package.nix b/pkgs/by-name/mo/monocle/package.nix index 04de34596e3e..03860c337a3c 100644 --- a/pkgs/by-name/mo/monocle/package.nix +++ b/pkgs/by-name/mo/monocle/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "monocle"; - version = "1.1.0"; + version = "1.2.0"; src = fetchFromGitHub { owner = "bgpkit"; repo = "monocle"; tag = "v${finalAttrs.version}"; - hash = "sha256-F7z8WZAj00dYfawUiCTLnipkut9QAnXiO8DgIhJ/78U="; + hash = "sha256-Ha9Q7FkEqoVi0SqmLfXG6ewexN+ad/RNfS4l4/QPo0o="; }; - cargoHash = "sha256-+XdOvjQJkeDBH/3XtMX0SCGyji10UgnSme4oZuhwiq8="; + cargoHash = "sha256-jI0uAXjj/GEgNtV6Pm/rpZJ0avVcnnBPnHZFmtxg/Zc="; # require internet access checkFlags = map (t: "--skip=${t}") [ From 8ba0f76f9c174266353a5ba6c2732c11052faa82 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 16:01:49 +0000 Subject: [PATCH 89/92] conventional-changelog-cli: 7.1.1 -> 7.2.0 --- pkgs/by-name/co/conventional-changelog-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/conventional-changelog-cli/package.nix b/pkgs/by-name/co/conventional-changelog-cli/package.nix index b1ee5ab384f1..9b528930fa51 100644 --- a/pkgs/by-name/co/conventional-changelog-cli/package.nix +++ b/pkgs/by-name/co/conventional-changelog-cli/package.nix @@ -13,19 +13,19 @@ stdenv.mkDerivation (finalAttrs: { pname = "conventional-changelog-cli"; - version = "7.1.1"; + version = "7.2.0"; src = fetchFromGitHub { owner = "conventional-changelog"; repo = "conventional-changelog"; tag = "conventional-changelog-v${finalAttrs.version}"; - hash = "sha256-Pgx5gM4SdSL6WCkStByA7AP2O96MjAjyeMOI+Lo2mt0="; + hash = "sha256-0Fee2sfLwxfE/MRLMUUMACTGVxnJJF1MPsWWzleVA3c="; }; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 2; - hash = "sha256-ZfG3F0J1hIhZlF2OadhVdbxhQrFcMYDG9gEXR04DgEI="; + hash = "sha256-vOZnVCz5lFdVD2qmlHdTRxzuEjpR3W/rXfzvjvdOh9E="; }; nativeBuildInputs = [ From 24127719cc5d6b886af4457398285112b1cad191 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 16:04:44 +0000 Subject: [PATCH 90/92] commitlint: 20.4.2 -> 20.4.3 --- pkgs/by-name/co/commitlint/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/commitlint/package.nix b/pkgs/by-name/co/commitlint/package.nix index 9fa41fab7014..ab49e0f225f3 100644 --- a/pkgs/by-name/co/commitlint/package.nix +++ b/pkgs/by-name/co/commitlint/package.nix @@ -12,18 +12,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "commitlint"; - version = "20.4.2"; + version = "20.4.3"; src = fetchFromGitHub { owner = "conventional-changelog"; repo = "commitlint"; tag = "v${finalAttrs.version}"; - hash = "sha256-NdoNuOhx+j2wn2O4seOvuTEZyUCLuoJi+y6jtpQFTLg="; + hash = "sha256-CciE9m22C1RvB2k0870walO3LwkXFZKVnTYQngq9pII="; }; yarnOfflineCache = fetchYarnDeps { inherit (finalAttrs) src; - hash = "sha256-xPjisH3mW5xgMy2ZPEfHWSX1lE5S3jqHzRdTXwNLyVc="; + hash = "sha256-zKODU4opWFY1dJ7/vx8q4DQ2NSclShULWv3XrTjpktk="; }; nativeBuildInputs = [ From 38203d9481ddace16734f3139f473d9dfdf9dd97 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 4 Mar 2026 16:21:36 +0000 Subject: [PATCH 91/92] cargo-sort: 2.0.2 -> 2.1.0 --- pkgs/by-name/ca/cargo-sort/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/cargo-sort/package.nix b/pkgs/by-name/ca/cargo-sort/package.nix index 11c16c8a83ee..a41fb567dac5 100644 --- a/pkgs/by-name/ca/cargo-sort/package.nix +++ b/pkgs/by-name/ca/cargo-sort/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cargo-sort"; - version = "2.0.2"; + version = "2.1.0"; src = fetchFromGitHub { owner = "devinr528"; repo = "cargo-sort"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-mdvaRTcs2zVXKX8LrqHFrWTdnFZpAfQuWjYmeWgdGVI="; + sha256 = "sha256-jmiCwXRyuK10qb1/7bwhOT/Cq335S9BzKiRc/02wc1E="; }; - cargoHash = "sha256-FoFzBf24mNDTRBfFyTEr9Q7sJjUhs0X/XWRGEoierQ4="; + cargoHash = "sha256-EzKXrN5TdWFP8zQjop2pIhavJ5a7t+YdK5s5WjwjLNM="; meta = { description = "Tool to check that your Cargo.toml dependencies are sorted alphabetically"; From 122fe8c72748d3e06a6b10afee45664ac4b1c4c7 Mon Sep 17 00:00:00 2001 From: K900 Date: Wed, 4 Mar 2026 20:49:27 +0300 Subject: [PATCH 92/92] Revert "nixos/qemu-vm: replace postBootCommands by a systemd service" --- nixos/modules/virtualisation/qemu-vm.nix | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 94e56a900c8a..5f001e05aa47 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -1236,25 +1236,11 @@ in # allow `system.build.toplevel' to be included. (If we had a direct # reference to ${regInfo} here, then we would get a cyclic # dependency.) - systemd.services.register-nix-paths = lib.mkIf config.nix.enable { - wantedBy = [ - "multi-user.target" - ]; - after = [ - "nix-daemon.service" - "nix-daemon.socket" - ]; - restartIfChanged = false; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - }; - script = '' - if [[ "$(cat /proc/cmdline)" =~ regInfo=([^ ]*) ]]; then - ${config.nix.package.out}/bin/nix-store --load-db < "''${BASH_REMATCH[1]}" - fi - ''; - }; + boot.postBootCommands = lib.mkIf config.nix.enable '' + if [[ "$(cat /proc/cmdline)" =~ regInfo=([^ ]*) ]]; then + ${config.nix.package.out}/bin/nix-store --load-db < ''${BASH_REMATCH[1]} + fi + ''; boot.initrd.availableKernelModules = optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx" ++ optional (cfg.tpm.enable) "tpm_tis";