diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 45a55eb45dce..73f9e3a2e7f0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,7 +13,6 @@ For new packages please briefly describe the package or provide a link to its ho - Built on platform: - [ ] x86_64-linux - [ ] aarch64-linux - - [ ] x86_64-darwin - [ ] aarch64-darwin - Tested, as applicable: - [ ] [NixOS tests] in [nixos/tests]. diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b5a9e5c05687..2ced78e8360b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,21 +34,18 @@ jobs: matrix: include: - runner: ubuntu-24.04 - name: x86_64-linux - systems: x86_64-linux + system: x86_64-linux builds: [shell, manual-nixos, lib-tests, tarball] desc: shell, docs, lib, tarball - runner: ubuntu-24.04-arm - name: aarch64-linux - systems: aarch64-linux + system: aarch64-linux builds: [shell, manual-nixos, manual-nixpkgs] desc: shell, docs - runner: macos-14 - name: darwin - systems: aarch64-darwin x86_64-darwin + system: aarch64-darwin builds: [shell] desc: shell - name: '${{ matrix.name }}: ${{ matrix.desc }}' + name: '${{ matrix.system }}: ${{ matrix.desc }}' runs-on: ${{ matrix.runner }} timeout-minutes: 60 steps: @@ -80,7 +77,9 @@ jobs: - name: Build shell if: contains(matrix.builds, 'shell') - run: echo "${{ matrix.systems }}" | xargs -n1 nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A shell --argstr system + env: + system: ${{ matrix.system }} + run: nix-build-uncached nixpkgs/untrusted/ci --arg nixpkgs ./nixpkgs/untrusted-pinned -A shell --argstr system "$system" - name: Build NixOS manual if: | @@ -108,5 +107,5 @@ jobs: contains(fromJSON(inputs.baseBranch).type, 'primary') uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: - name: ${{ inputs.artifact-prefix }}nixos-manual-${{ matrix.name }} + name: ${{ inputs.artifact-prefix }}nixos-manual-${{ matrix.system }} path: nixos-manual diff --git a/nixos/tests/alps.nix b/nixos/tests/alps.nix index 55adcb9f3a19..11237b7ff7ec 100644 --- a/nixos/tests/alps.nix +++ b/nixos/tests/alps.nix @@ -52,7 +52,7 @@ in certs.ca.cert ]; networking.extraHosts = '' - ${nodes.server.config.networking.primaryIPAddress} ${domain} + ${nodes.server.networking.primaryIPAddress} ${domain} ''; services.alps = { enable = true; @@ -74,7 +74,7 @@ in baseurl = "http://localhost:${toString config.services.alps.port}" username = "alice" - password = "${nodes.server.config.users.users.alice.password}" + password = "${nodes.server.users.users.alice.password}" cookiejar = CookieJar() cookieprocessor = HTTPCookieProcessor(cookiejar) opener = build_opener(cookieprocessor) @@ -116,7 +116,7 @@ in client.start() client.wait_for_unit("alps.service") - client.wait_for_open_port(${toString nodes.client.config.services.alps.port}) + client.wait_for_open_port(${toString nodes.client.services.alps.port}) client.succeed("test-alps-login") ''; } diff --git a/nixos/tests/cage.nix b/nixos/tests/cage.nix index 585968b5e0e4..0e89d5288bf1 100644 --- a/nixos/tests/cage.nix +++ b/nixos/tests/cage.nix @@ -29,7 +29,7 @@ testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; + user = nodes.machine.users.users.alice; in '' with subtest("Wait for cage to boot up"): diff --git a/nixos/tests/cagebreak.nix b/nixos/tests/cagebreak.nix index 13012281a151..7a2c0a381836 100644 --- a/nixos/tests/cagebreak.nix +++ b/nixos/tests/cagebreak.nix @@ -47,7 +47,7 @@ in testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; + user = nodes.machine.users.users.alice; XDG_RUNTIME_DIR = "/run/user/${toString user.uid}"; in '' diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix index 8dceda8db4c6..7465813775e0 100644 --- a/nixos/tests/containers-ip.nix +++ b/nixos/tests/containers-ip.nix @@ -47,9 +47,9 @@ in # need to distinguish because show-ip won't work for ipv6 if container == "webserver4": ip = machine.succeed(f"nixos-container show-ip {container}").rstrip() - assert ip == "${nodes.machine.config.containers.webserver4.localAddress}" + assert ip == "${nodes.machine.containers.webserver4.localAddress}" return ip - return "${nodes.machine.config.containers.webserver6.localAddress}" + return "${nodes.machine.containers.webserver6.localAddress}" for container in "webserver4", "webserver6": diff --git a/nixos/tests/docker-rootless.nix b/nixos/tests/docker-rootless.nix index fcd33476ae45..17fec3e04f65 100644 --- a/nixos/tests/docker-rootless.nix +++ b/nixos/tests/docker-rootless.nix @@ -22,7 +22,7 @@ testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; + user = nodes.machine.users.users.alice; sudo = lib.concatStringsSep " " [ "XDG_RUNTIME_DIR=/run/user/${toString user.uid}" "DOCKER_HOST=unix:///run/user/${toString user.uid}/docker.sock" diff --git a/nixos/tests/enlightenment.nix b/nixos/tests/enlightenment.nix index 41dfc754e7fe..e5e6589976f6 100644 --- a/nixos/tests/enlightenment.nix +++ b/nixos/tests/enlightenment.nix @@ -33,7 +33,7 @@ testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; + user = nodes.machine.users.users.alice; in '' with subtest("Ensure x starts"): diff --git a/nixos/tests/iscsi-multipath-root.nix b/nixos/tests/iscsi-multipath-root.nix index 860faa0a32c1..bbe630e60d1c 100644 --- a/nixos/tests/iscsi-multipath-root.nix +++ b/nixos/tests/iscsi-multipath-root.nix @@ -129,7 +129,7 @@ in ]; environment.etc."initiator-root-disk-closure".source = - nodes.initiatorRootDisk.config.system.build.toplevel; + nodes.initiatorRootDisk.system.build.toplevel; nix.settings = { substituters = lib.mkForce [ ]; diff --git a/nixos/tests/iscsi-root.nix b/nixos/tests/iscsi-root.nix index c279a0d7e49e..bc8de7ab5247 100644 --- a/nixos/tests/iscsi-root.nix +++ b/nixos/tests/iscsi-root.nix @@ -166,7 +166,7 @@ in initiatorAuto.succeed("mkfs.xfs /dev/sda") initiatorAuto.succeed("mkdir /mnt && mount /dev/sda /mnt") initiatorAuto.succeed( - "nixos-install --no-bootloader --no-root-passwd --system ${nodes.initiatorRootDisk.config.system.build.toplevel}" + "nixos-install --no-bootloader --no-root-passwd --system ${nodes.initiatorRootDisk.system.build.toplevel}" ) initiatorAuto.succeed("umount /mnt && rmdir /mnt") initiatorAuto.shutdown() diff --git a/nixos/tests/kerberos/heimdal.nix b/nixos/tests/kerberos/heimdal.nix index f12141d94627..e399bf0c3d67 100644 --- a/nixos/tests/kerberos/heimdal.nix +++ b/nixos/tests/kerberos/heimdal.nix @@ -169,7 +169,7 @@ import ../make-test-python.nix ( with subtest("Server: initialize host principal with keytab"): server.send_chars("sudo ktutil get -p alice/admin host/server.foo.bar\n") server.wait_until_tty_matches("1", "password for alice:") - server.send_chars("${nodes.server.config.users.users.alice.password}\n") + server.send_chars("${nodes.server.users.users.alice.password}\n") server.wait_until_tty_matches("1", "alice/admin@FOO.BAR's Password:") server.send_chars(f'{alice_krb_admin_pw}\n') server.wait_for_file("/etc/krb5.keytab") @@ -194,7 +194,7 @@ import ../make-test-python.nix ( client.send_chars("sudo ktutil get -p alice/admin host/client.foo.bar\n") client.wait_until_tty_matches("1", "password for alice:") - client.send_chars("${nodes.client.config.users.users.alice.password}\n") + client.send_chars("${nodes.client.users.users.alice.password}\n") client.wait_until_tty_matches("1", "alice/admin@FOO.BAR's Password:") client.send_chars(f"{alice_krb_admin_pw}\n") client.wait_for_file("/etc/krb5.keytab") diff --git a/nixos/tests/knot.nix b/nixos/tests/knot.nix index 651fccc21949..3c6217195464 100644 --- a/nixos/tests/knot.nix +++ b/nixos/tests/knot.nix @@ -209,11 +209,11 @@ in testScript = { nodes, ... }: let - primary4 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv4.addresses).address; - primary6 = (lib.head nodes.primary.config.networking.interfaces.eth1.ipv6.addresses).address; + primary4 = (lib.head nodes.primary.networking.interfaces.eth1.ipv4.addresses).address; + primary6 = (lib.head nodes.primary.networking.interfaces.eth1.ipv6.addresses).address; - secondary4 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv4.addresses).address; - secondary6 = (lib.head nodes.secondary.config.networking.interfaces.eth1.ipv6.addresses).address; + secondary4 = (lib.head nodes.secondary.networking.interfaces.eth1.ipv4.addresses).address; + secondary6 = (lib.head nodes.secondary.networking.interfaces.eth1.ipv6.addresses).address; in '' import re diff --git a/nixos/tests/libuiohook.nix b/nixos/tests/libuiohook.nix index 34a200bd0349..47114bcd8e88 100644 --- a/nixos/tests/libuiohook.nix +++ b/nixos/tests/libuiohook.nix @@ -8,7 +8,7 @@ nodes.client = { nodes, ... }: let - user = nodes.client.config.users.users.alice; + user = nodes.client.users.users.alice; in { imports = [ @@ -24,7 +24,7 @@ testScript = { nodes, ... }: let - user = nodes.client.config.users.users.alice; + user = nodes.client.users.users.alice; in '' client.wait_for_x() diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix index 3d51924af8de..f561f89df221 100644 --- a/nixos/tests/lightdm.nix +++ b/nixos/tests/lightdm.nix @@ -20,7 +20,7 @@ testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; + user = nodes.machine.users.users.alice; in '' start_all() diff --git a/nixos/tests/nsd.nix b/nixos/tests/nsd.nix index 747d691a87d6..04e9fd7f1ba4 100644 --- a/nixos/tests/nsd.nix +++ b/nixos/tests/nsd.nix @@ -21,7 +21,7 @@ in { imports = [ common ]; networking.nameservers = lib.mkForce [ - (lib.head nodes.server.config.networking.interfaces.eth1.ipv4.addresses).address + (lib.head nodes.server.networking.interfaces.eth1.ipv4.addresses).address ]; networking.interfaces.eth1.ipv4.addresses = [ { @@ -36,7 +36,7 @@ in { imports = [ common ]; networking.nameservers = lib.mkForce [ - (lib.head nodes.server.config.networking.interfaces.eth1.ipv6.addresses).address + (lib.head nodes.server.networking.interfaces.eth1.ipv6.addresses).address ]; networking.interfaces.eth1.ipv4.addresses = [ { diff --git a/nixos/tests/parsedmarc/default.nix b/nixos/tests/parsedmarc/default.nix index 571fe1d5f75f..41112707aea0 100644 --- a/nixos/tests/parsedmarc/default.nix +++ b/nixos/tests/parsedmarc/default.nix @@ -93,8 +93,8 @@ in testScript = { nodes }: let - esPort = toString nodes.parsedmarc.config.services.elasticsearch.port; - valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value"; + esPort = toString nodes.parsedmarc.services.elasticsearch.port; + valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.services.elasticsearch.package.version "7") ".value"; in '' parsedmarc.start() @@ -143,7 +143,7 @@ in networking.extraHosts = '' 127.0.0.1 ${parsedmarcDomain} - ${nodes.mail.config.networking.primaryIPAddress} ${mailDomain} + ${nodes.mail.networking.primaryIPAddress} ${mailDomain} ''; services.parsedmarc = { @@ -170,7 +170,7 @@ in networking.extraHosts = '' 127.0.0.1 ${mailDomain} - ${nodes.parsedmarc.config.networking.primaryIPAddress} ${parsedmarcDomain} + ${nodes.parsedmarc.networking.primaryIPAddress} ${parsedmarcDomain} ''; services.dovecot2 = { @@ -204,8 +204,8 @@ in testScript = { nodes }: let - esPort = toString nodes.parsedmarc.config.services.elasticsearch.port; - valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.config.services.elasticsearch.package.version "7") ".value"; + esPort = toString nodes.parsedmarc.services.elasticsearch.port; + valueObject = lib.optionalString (lib.versionAtLeast nodes.parsedmarc.services.elasticsearch.package.version "7") ".value"; in '' mail.start() diff --git a/nixos/tests/pass-secret-service.nix b/nixos/tests/pass-secret-service.nix index 57c7ac8bdcbc..6ef896f78bf2 100644 --- a/nixos/tests/pass-secret-service.nix +++ b/nixos/tests/pass-secret-service.nix @@ -39,7 +39,7 @@ testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; + user = nodes.machine.users.users.alice; gpg-uid = "alice@example.net"; gpg-pw = "foobar9000"; ready-file = "/tmp/secrets-dbus-init.done"; diff --git a/nixos/tests/proxy.nix b/nixos/tests/proxy.nix index f051d429a508..1e76c7811c79 100644 --- a/nixos/tests/proxy.nix +++ b/nixos/tests/proxy.nix @@ -41,8 +41,8 @@ in Require all granted - BalancerMember http://${nodes.backend1.config.networking.hostName} retry=0 - BalancerMember http://${nodes.backend2.config.networking.hostName} retry=0 + BalancerMember http://${nodes.backend1.networking.hostName} retry=0 + BalancerMember http://${nodes.backend2.networking.hostName} retry=0 ProxyStatus full diff --git a/nixos/tests/service-runner.nix b/nixos/tests/service-runner.nix index e7a552b9e536..ce7fecdb143b 100644 --- a/nixos/tests/service-runner.nix +++ b/nixos/tests/service-runner.nix @@ -29,7 +29,7 @@ machine.succeed( """ mkdir -p /run/nginx /var/log/nginx /var/cache/nginx - ${nodes.machine.config.systemd.services.nginx.runner} >&2 & + ${nodes.machine.systemd.services.nginx.runner} >&2 & echo $!>my-nginx.pid """ ) diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix index 398f8603308c..a6c5d08c0d30 100644 --- a/nixos/tests/signal-desktop.nix +++ b/nixos/tests/signal-desktop.nix @@ -42,7 +42,7 @@ in testScript = { nodes, ... }: let - user = nodes.machine.config.users.users.alice; + user = nodes.machine.users.users.alice; in '' start_all() diff --git a/nixos/tests/sway.nix b/nixos/tests/sway.nix index 92d99e6a37be..a3126a0e6ad9 100644 --- a/nixos/tests/sway.nix +++ b/nixos/tests/sway.nix @@ -196,7 +196,7 @@ swaymsg("exec swaylock") machine.wait_until_succeeds("pgrep -xf swaylock") machine.sleep(3) - machine.send_chars("${nodes.machine.config.users.users.alice.password}") + machine.send_chars("${nodes.machine.users.users.alice.password}") machine.send_key("ret") machine.wait_until_fails("pgrep -xf swaylock") diff --git a/nixos/tests/thanos.nix b/nixos/tests/thanos.nix index d1ba83868bbc..63391cd3f31e 100644 --- a/nixos/tests/thanos.nix +++ b/nixos/tests/thanos.nix @@ -310,7 +310,7 @@ in # and check if the blocks have the correct labels: store.succeed( "thanos tools bucket ls " - + "--objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file} " + + "--objstore.config-file=${nodes.store.services.thanos.store.objstore.config-file} " + "--output=json | " + "jq .thanos.labels.some_label | " + "grep 'required by thanos'" diff --git a/nixos/tests/txredisapi.nix b/nixos/tests/txredisapi.nix index 171d3efee78f..57a32e624c24 100644 --- a/nixos/tests/txredisapi.nix +++ b/nixos/tests/txredisapi.nix @@ -25,7 +25,7 @@ testScript = { nodes, ... }: let - inherit (nodes.machine.config.services) redis; + inherit (nodes.machine.services) redis; in '' start_all() diff --git a/nixos/tests/xrdp-with-audio-pulseaudio.nix b/nixos/tests/xrdp-with-audio-pulseaudio.nix index cc630143b990..813dc6193c05 100644 --- a/nixos/tests/xrdp-with-audio-pulseaudio.nix +++ b/nixos/tests/xrdp-with-audio-pulseaudio.nix @@ -73,7 +73,7 @@ testScript = { nodes, ... }: let - user = nodes.client.config.users.users.alice; + user = nodes.client.users.users.alice; in '' start_all() diff --git a/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix b/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix index 5516097c33e8..614410a039aa 100644 --- a/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix +++ b/pkgs/by-name/bc/bcachefs-tools/kernel-module.nix @@ -50,6 +50,6 @@ stdenv.mkDerivation { platforms ; - broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "7.1"); + broken = !(lib.versionAtLeast kernel.version "6.16" && lib.versionOlder kernel.version "7.2"); }; } diff --git a/pkgs/by-name/ma/mailpit/source.nix b/pkgs/by-name/ma/mailpit/source.nix index bb8737aef7fe..163ac2f273cb 100644 --- a/pkgs/by-name/ma/mailpit/source.nix +++ b/pkgs/by-name/ma/mailpit/source.nix @@ -1,6 +1,6 @@ { - version = "1.30.0"; - hash = "sha256-lUynHDFfbX9BxwTdREbgAMil7S3+vwAl05myzMEWgGQ="; - npmDepsHash = "sha256-snWhjSy9au81bJZwjh/KVvchjEaJJ05HYhyh3V8/Y5g="; - vendorHash = "sha256-LMjS0YxRTvHZ8U10BOST/5Zthqhoi5OxngWWB+2CSeQ="; + version = "1.30.2"; + hash = "sha256-37nJRJL1mxvUdD7L9/yO/Lzyjvn09Tu9xHTEt4pxu2s="; + npmDepsHash = "sha256-AApRrIIYC4NtKIFyGQ3lnKIOk7LZNDK8wvUUbSczTrA="; + vendorHash = "sha256-em0317Q1u5sl8gws4/qqM8e9H5F4vfBiM7tLCyufgEk="; } diff --git a/pkgs/by-name/sq/squid/package.nix b/pkgs/by-name/sq/squid/package.nix index 25c457e2152a..f46b3efb88c9 100644 --- a/pkgs/by-name/sq/squid/package.nix +++ b/pkgs/by-name/sq/squid/package.nix @@ -19,13 +19,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "squid"; - version = "7.5"; + version = "7.6"; src = fetchurl { url = "https://github.com/squid-cache/squid/releases/download/SQUID_${ builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version }/squid-${finalAttrs.version}.tar.xz"; - hash = "sha256-9gWJB9sBUNL10ihIK1qeVniSDPNorgzLzszrL/TDUQY="; + hash = "sha256-hSF4/cN8WweGqTT8mQx9L//IKs8ZsihL4gm5ZDHSWZI="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index d964971d22e5..2d65f3fb9cbe 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -27,9 +27,9 @@ let "20.1.8".officialRelease.sha256 = "sha256-ysyB/EYxi2qE9fD5x/F2zI4vjn8UDoo1Z9ukiIrjFGw="; "21.1.7".officialRelease.sha256 = "sha256-SaRJ7+iZMhhBdcUDuJpMAY4REQVhrvYMqI2aq3Kz08o="; "23.0.0-git".gitRelease = { - rev = "625facd4375f6bfa5de501d0559bd262062e2dc3"; - rev-version = "23.0.0-unstable-2026-06-14"; - sha256 = "sha256-myNSe9+nBTd28BnEmq+Ysp0kiY6KtOJSmbnGjQgGxRI="; + rev = "d1744cf76fbea0c407c5e793a380ffca4e5829be"; + rev-version = "23.0.0-unstable-2026-06-21"; + sha256 = "sha256-gtfU3pO3xiZtxz/iRmkWnaEx/DEomkOi9r6jsCbLOgQ="; }; } // llvmVersions; diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 54ff5434cfe3..c71350cfe8a5 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.94", - "hash": "sha256:1ln83ljmc7wr1nrjjq1hp1m1vx54j7i6i15m3hqb73a1p4ra5679", + "version": "6.12.93", + "hash": "sha256:18sg154hqw8l98pfim2hjm1y604h5dwn9gj3gyncas8bgjl4h9j9", "lts": true }, "6.18": {