Compare commits

..

55 Commits

Author SHA1 Message Date
nixpkgs-ci[bot]
f604e37bff Merge master into staging-nixos 2026-06-07 18:29:50 +00:00
nixpkgs-ci[bot]
a61d29425b Merge master into staging-nixos 2026-06-07 12:35:59 +00:00
K900
017b52a61a linux/common-config: Use LIST_HARDENED instead on >= 6.6 (#529025) 2026-06-07 07:28:12 +00:00
nixpkgs-ci[bot]
9b8fe7b84a Merge master into staging-nixos 2026-06-07 07:26:40 +00:00
dramforever
4df979114f linux/common-config: Use LIST_HARDENED instead on >= 6.6
According to the message in the patch that introduced LIST_HARDENED [1],
DEBUG_LIST was not optimized for performance in production and presents
a significant performance hit in hot paths in some workloads. Use the
new LIST_HARDENED option instead on >= 6.6 for better performance.

[1]: https://git.kernel.org/torvalds/c/aebc7b0d8d91bbc69e976909963046bc48bca4fd
2026-06-07 13:36:43 +08:00
nixpkgs-ci[bot]
ee34de17bb Merge master into staging-nixos 2026-06-07 00:49:05 +00:00
nixpkgs-ci[bot]
3fce1b29b4 Merge master into staging-nixos 2026-06-06 18:29:41 +00:00
Vladimír Čunát
9795e7469d perlPackages.DBI: 1.644 -> 1.648 (#528741) 2026-06-06 17:08:37 +00:00
nixpkgs-ci[bot]
20a844fabd Merge master into staging-nixos 2026-06-06 12:29:49 +00:00
Stig Palmquist
5083b13771 perlPackages.DBI: 1.644 -> 1.648 2026-06-06 11:34:51 +02:00
nixpkgs-ci[bot]
c35e2ad7c7 Merge master into staging-nixos 2026-06-06 07:07:25 +00:00
nixpkgs-ci[bot]
f3fe341d1f Merge master into staging-nixos 2026-06-06 00:45:45 +00:00
Will Fancher
2964861f87 systemd-logind: allow service reloads to apply new configuration (#523985) 2026-06-05 22:06:29 +00:00
Gaétan Lepage
ad710f62d2 ruff: 0.15.15 -> 0.15.16 (#528543) 2026-06-05 20:14:08 +00:00
Jost Alemann
38e91d6423 ruff: 0.15.15 -> 0.15.16
Changelog: https://github.com/astral-sh/ruff/releases/tag/0.15.16
Diff: https://github.com/astral-sh/ruff/compare/0.15.15...0.15.16
2026-06-05 21:17:44 +02:00
nixpkgs-ci[bot]
513af3a8b8 Merge master into staging-nixos 2026-06-05 18:41:48 +00:00
Thiago Kenji Okada
3c6fea25e6 nixos-rebuild-ng: disable flake auto-detection when --file or --attr is used (#527046) 2026-06-05 17:48:35 +00:00
nixpkgs-ci[bot]
208ca4b73e Merge master into staging-nixos 2026-06-05 13:02:58 +00:00
Gaétan Lepage
2eadef8b56 ty: 0.0.42 -> 0.0.44 (#527911) 2026-06-05 12:21:28 +00:00
Jost Alemann
dc965bdf7f ty: 0.0.42 -> 0.0.44
Changelog: https://github.com/astral-sh/ty/releases/tag/0.0.44
Diff: https://github.com/astral-sh/ty/compare/0.0.42...0.0.44
2026-06-05 11:38:03 +02:00
Dmitry Voronin
be84ec22c5 systemd-logind: allow service reloads to apply new configuration 2026-06-05 11:18:12 +03:00
nixpkgs-ci[bot]
bcf0672a6c Merge master into staging-nixos 2026-06-05 07:32:14 +00:00
nixpkgs-ci[bot]
6c241c7e70 Merge master into staging-nixos 2026-06-05 00:48:29 +00:00
nikstur
bd0813cd48 nixos/systemd: gnupg -> gnupgMinimal (#527976) 2026-06-04 23:05:38 +02:00
nikstur
603f171aa8 nixos/systemd: gnupg -> gnupgMinimal
This fixes the bashless tests as gnupgMinimal doest not depend on bash.
2026-06-04 22:53:26 +02:00
nikstur
1087b3eb08 gnupgMinimal: init
This used to be a non-exposed part of the systemd derivation. However,
in #509324 this was removed. Re-add this to use it for systemd-import
and systemd-sysupdate to provide a minimal gnupg without bash. This
fixes the bashless tests.
2026-06-04 22:52:52 +02:00
K900
c519e3619d Merge remote-tracking branch 'origin/master' into staging-nixos 2026-06-04 22:22:00 +03:00
Matt Sturgeon
96489aed91 pkgs-lib/formats: Use .attrs.json where possible (#524404) 2026-06-04 19:11:48 +00:00
Thiago Kenji Okada
d0fa46bc62 nixos-rebuild-ng: add env var to allow use without systemd-run (#527342) 2026-06-04 17:44:29 +00:00
Yuriy Taraday
691dc02df0 pkgs-lib/formats: Use .attrs.json where possible
This expands on https://github.com/NixOS/nixpkgs/pull/498928 that
introduced __structuredAttrs here by actually using data in
`.attrs.json` when it makes sense, instead of relying on environment
variables. This leads to less temporary files, faster execution and
nicer code.
2026-06-04 19:21:52 +02:00
nikstur
bf343540cd nixos/systemd/user: migrate to RFC 42-style settings (#516329) 2026-06-04 14:42:22 +00:00
nixpkgs-ci[bot]
1735c5d0c3 Merge master into staging-nixos 2026-06-04 13:06:58 +00:00
azuwis
b63a81166a nixos-rebuild-ng: add tests for --file/--attr disabling flake auto-detection 2026-06-04 20:01:07 +08:00
zowoq
095fb17676 nixos-rebuild-ng: add env var to allow use without systemd-run
useful if nixos-rebuild is already running under a systemd service, e.g. a pull deployment
2026-06-04 18:21:51 +10:00
nixpkgs-ci[bot]
820c4fb191 Merge master into staging-nixos 2026-06-04 07:40:39 +00:00
K900
c2ff225a34 linux/common-config: enable ARM_SMMU_V3_SVA on aarch64 (#527847) 2026-06-04 06:55:12 +00:00
Pratham Patel
32861fa28b linux/common-config: enable ARM_SMMU_V3_SVA on aarch64
This makes CUDA compute work with the GB10 platform on my ASUS Ascent
GX10. This wasn't enabled by `autoModules` because it is a boolean.

Before:
```
$ llama-cli --list-devices
0.00.468.603 E ggml_cuda_init: failed to initialize CUDA: initialization error
Available devices:

$ zcat /proc/config.gz | grep CONFIG_ARM_SMMU_V3_SVA=

$ echo $?
1
```

After:
```
$ llama-cli --list-devices
Available devices:
  CUDA0: NVIDIA GB10 (124534 MiB, 44410 MiB free)

$ zcat /proc/config.gz | grep CONFIG_ARM_SMMU_V3_SVA=
CONFIG_ARM_SMMU_V3_SVA=y
```

Here is the information about the GPU on the GB10 platform:
```
$ sudo lspci -vvv -s 000f:01:00.0
000f:01:00.0 VGA compatible controller: NVIDIA Corporation GB20B [GB10] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: NVIDIA Corporation Device 0000
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupts: pin B disabled, MSI(X) routed to IRQ 193-200
        IOMMU group: 20
        Region 0: Memory at 24000000 (64-bit, prefetchable) [size=64M]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [48] MSI: Enable- Count=1/16 Maskable+ 64bit+
                Address: 0000000000000000  Data: 0000
                Masking: 00000000  Pending: 00000000
        Capabilities: [60] Express (v2) Endpoint, IntMsgNum 0
                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W TEE-IO-
                DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L1, Exit Latency L1 <4us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 128 bytes, LnkDisable- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- FltModeDis-
                LnkSta: Speed 2.5GT/s, Width x1 (downgraded)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range AB, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp+ 10BitTagReq+ OBFF Via message, ExtFmt- EETLPPrefix+, MaxEETLPPrefixes 1
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
                         AtomicOpsCtl: ReqEn+
                         IDOReq- IDOCompl- LTR+ EmergencyPowerReductionReq-
                         10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer+ 2Retimers+ DRS-
                LnkCtl2: Target Link Speed: 32GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
                         EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported, FltMode-
        Capabilities: [9c] Vendor Specific Information: Len=14 <?>
        Capabilities: [b0] MSI-X: Enable+ Count=9 Masked-
                Vector table: BAR=0 offset=00b90000
                PBA: BAR=0 offset=00ba0000
        Capabilities: [100 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [12c v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns
        Capabilities: [14c v1] Data Link Feature <?>
        Capabilities: [158 v1] Physical Layer 16.0 GT/s
                Phy16Sta: EquComplete- EquPhase1- EquPhase2- EquPhase3- LinkEquRequest-
        Capabilities: [188 v1] Physical Layer 32.0 GT/s
                Phy32Cap: EqualizationBypass+ NoEqualizationNeeded-
                          ModTsMode0+ ModTsMode1- ModTsMode2-
                Phy32Ctl: EqualizationBypassDis- NoEqualizationNeededDis-
                          Modified TS Usage Mode: PCI Express
                Phy32Sta: EquComplete- EquPhase1- EquPhase2- EquPhase3- LinkEquRequest-
                          Received Enhanced Link Behavior Control: Full Equalization required
                          ModTsRecv- TxPrecodeOn- TxPrecodeReq- NoEqualizationNeededRecv-
        Capabilities: [1b8 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP-
                        ECRC- UnsupReq- ACSViol- UncorrIntErr- BlockedTLP- AtomicOpBlocked- TLPBlockedErr-
                        PoisonTLPBlocked- DMWrReqBlocked- IDECheck- MisIDETLP- PCRC_CHECK- TLPXlatBlocked-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP-
                        ECRC- UnsupReq- ACSViol- UncorrIntErr+ BlockedTLP- AtomicOpBlocked- TLPBlockedErr-
                        PoisonTLPBlocked- DMWrReqBlocked- IDECheck- MisIDETLP- PCRC_CHECK- TLPXlatBlocked-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+
                        ECRC- UnsupReq- ACSViol- UncorrIntErr+ BlockedTLP- AtomicOpBlocked- TLPBlockedErr-
                        PoisonTLPBlocked- DMWrReqBlocked- IDECheck- MisIDETLP- PCRC_CHECK- TLPXlatBlocked-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr- CorrIntErr- HeaderOF-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+ CorrIntErr+ HeaderOF+
                AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [200 v1] Lane Margining at the Receiver
                PortCap: Uses Driver+
                PortSta: MargReady- MargSoftReady-
        Capabilities: [248 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 0
                ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [290 v2] L1 PM Substates
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                          PortCommonModeRestoreTime=0us PortTPowerOnTime=10us
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                           T_CommonMode=0us LTR1.2_Threshold=0ns
                L1SubCtl2: T_PwrOn=10us
        Capabilities: [2a4 v1] Vendor Specific Information: ID=0001 Rev=1 Len=014 <?>
        Capabilities: [2c8 v1] Data Object Exchange
                DOECap: IntSup+
                        IntMsgNum 8
                DOECtl: IntEn-
                DOESta: Busy+ IntSta+ Error+ ObjectReady-
        Capabilities: [2e0 v1] Address Translation Service (ATS)
                ATSCap: Invalidate Queue Depth: 00
                ATSCtl: Enable+, Smallest Translation Unit: 00
        Capabilities: [2e8 v1] Process Address Space ID (PASID)
                PASIDCap: Exec- Priv-, Max PASID Width: 14
                PASIDCtl: Enable+ Exec- Priv-
        Capabilities: [2f0 v1] Device Serial Number 00-00-00-00-00-2d-b0-48
        Kernel driver in use: nvidia
        Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
```
2026-06-04 10:47:39 +05:30
nixpkgs-ci[bot]
1ca1e743a2 Merge master into staging-nixos 2026-06-04 00:55:27 +00:00
nixpkgs-ci[bot]
b254f3f549 Merge master into staging-nixos 2026-06-03 19:21:48 +00:00
nixpkgs-ci[bot]
4bc901828f Merge master into staging-nixos 2026-06-03 13:39:45 +00:00
K900
4b955908d1 nixos/virtualisation: (Aarch64) remove -device virtio-gpu-pci (#527511) 2026-06-03 10:59:00 +00:00
Doron Behar
48995a6ef9 nixos/virtualisation: (Aarch64) remove -device virtio-gpu-pci
In 9e78baf, Aarch64 machines were added the `-device virtio-gpu-pci`
argument, to mirror `-vga std` option that was added unconditionally to
virtualised x86_64 machines. This also enabled screenshots on aarch64
machines to be taken in tests. Since then, in a7ca287, the `-vga std`
option was removed, because that is the default value of this option
embedded in QEMU since version 2.2.

Removing it from the hard-coded list of qemu options makes it possible
for the user to choose their own `-vga` value. Similarly, for Aarch
virtualised machines, choosing unconditionally the `-device virtio-gpu-pci`
option instead of e.g `-device virtio-gpu-gl-pci`, can be bothersome too - see:

https://discourse.nixos.org/t/test-an-aarch64-linux-vm-wayland-compositor-from-an-x86-64-linux-host/77416/2

This commit is similar to 44c6c2ef16 which
was reverted in #527048.
2026-06-03 13:50:32 +03:00
nixpkgs-ci[bot]
b2b78e8274 Merge master into staging-nixos 2026-06-03 07:44:40 +00:00
nixpkgs-ci[bot]
cff2c31f82 Merge master into staging-nixos 2026-06-03 00:55:57 +00:00
nixpkgs-ci[bot]
c08d8d01e9 Merge master into staging-nixos 2026-06-02 19:16:37 +00:00
Ramses
46ff137a45 nixos/systemd: ship time-set.target (#526425) 2026-06-02 14:04:55 +00:00
nixpkgs-ci[bot]
540adb9a23 Merge master into staging-nixos 2026-06-02 13:18:52 +00:00
nixpkgs-ci[bot]
ca87bfdda4 Merge master into staging-nixos 2026-06-02 07:41:17 +00:00
Gaétan Lepage
323460b6b6 ty: 0.0.40 -> 0.0.42 (#526719) 2026-06-02 07:27:33 +00:00
nixpkgs-ci[bot]
0ca1e2583e Merge master into staging-nixos 2026-06-02 00:50:36 +00:00
Jost Alemann
5f567ce58e ty: 0.0.40 -> 0.0.42
Changelog: https://github.com/astral-sh/ty/releases/tag/0.0.42
Diff: https://github.com/astral-sh/ty/compare/0.0.40...0.0.42
2026-06-02 00:51:44 +02:00
azuwis
2e1d60e197 nixos-rebuild-ng: disable flake auto-detection when --file or --attr is used
When --file or --attr is explicitly passed, flake auto-detection should
not override the user's intent to use a non-flake configuration.
2026-06-01 20:05:16 +08:00
r-vdp
5197842329 nixos/systemd: ship time-set.target
time-sync.target has Wants/After=time-set.target, every OnCalendar=
timer gains an implicit After=time-set.target, and
systemd.special(7) documents it as the hook for "system clock has
been set from a local source". Without the unit file the target is
not-found, so WantedBy=time-set.target on third-party units is
silently ignored and the timer ordering is a no-op.
2026-05-31 21:12:39 +03:00
Jamie Magee
0522a75d35 nixos/systemd/user: migrate to RFC 42-style settings
Replace `systemd.user.extraConfig` with a freeform `systemd.user.settings.Manager` submodule, rendered via `utils.systemdUtils.lib.settingsToSections`. `extraConfig` is removed via `mkRemovedOptionModule`. Mirrors the existing `systemd.settings.Manager` migration of the system-side manager.

Updates the two in-tree consumers (`nixos/modules/testing/test-instrumentation.nix` and `nixos/tests/systemd.nix`) to the new option.

Adds `nixos/tests/systemd-user-settings` to assert the rendered `user.conf` contents.
2026-05-19 19:27:58 -07:00
Jamie Magee
4959eee3f3 nixos/systemd/user: drop with lib;
Drop the `with utils;`, `with systemdUtils.unitOptions;` and `with lib;` blocks and qualify all references with `lib.`, `utils.systemdUtils.lib.` and `utils.systemdUtils.types.` instead. No behavioural change.
2026-05-19 19:27:16 -07:00
82 changed files with 519 additions and 625 deletions

View File

@@ -16537,11 +16537,6 @@
github = "Macbucheron1";
githubId = 95475157;
};
mach = {
name = "Mach";
github = "MachXNU";
githubId = 42501418;
};
macronova = {
name = "Sicheng Pan";
email = "trivial@invariantspace.com";

View File

@@ -24,6 +24,8 @@
- Python 2 has been removed from the top-level package set, as it is long past end-of-life. The `python2`, `python27`, `python2Full`, `python27Full`, `python2Packages`, and `python27Packages` attributes, along with the legacy `python`, `pythonFull`, and `pythonPackages` aliases, now throw an error directing you to `python3`. The `isPy2` and `isPy27` package flags have been removed accordingly. The only remaining Python 2 interpreter is vendored inside the `resholve` package for its `oil` dependency and is not exposed for general use.
- `systemd.user.extraConfig` has been removed in favor of the structured [](#opt-systemd.user.settings.Manager) option. Use `systemd.user.settings.Manager` to set any `systemd-user.conf(5)` option directly. For example, replace `systemd.user.extraConfig = "DefaultTimeoutStartSec=60";` with `systemd.user.settings.Manager.DefaultTimeoutStartSec = 60;`.
- `services.timesyncd.extraConfig` has been removed in favor of the structured [](#opt-services.timesyncd.settings.Time) option. Use `services.timesyncd.settings.Time` to set any `timesyncd.conf(5)` option directly. For example, replace `services.timesyncd.extraConfig = "PollIntervalMaxSec=180";` with `services.timesyncd.settings.Time.PollIntervalMaxSec = 180;`.
## Other Notable Changes {#sec-release-26.11-notable-changes}

View File

@@ -14,7 +14,7 @@ let
inherit (config) sshBackdoor;
inherit (hostPkgs.stdenv.hostPlatform) isLinux;
inherit (hostPkgs.stdenv.hostPlatform) isLinux isAarch64;
# Reifies and correctly wraps the python test driver for
# the respective qemu version and with or without ocr support
@@ -256,6 +256,10 @@ in
#
# If needed, this can still be turned off.
virtualisation.qemu.enableSharedMemory = lib.mkDefault isLinux;
# Needed for screenshots to work (in e.g `nixosTests.login`)
virtualisation.qemu.options = lib.optionals (isLinux && isAarch64) [
"-device virtio-gpu-pci"
];
assertions = [
{

View File

@@ -40,6 +40,7 @@ let
"network-online.target"
"nss-lookup.target"
"nss-user-lookup.target"
"time-set.target"
"time-sync.target"
"first-boot-complete.target"
]
@@ -808,7 +809,7 @@ in
systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
systemd.services.systemd-importd = lib.mkIf cfg.package.withImportd {
environment = proxy_env;
path = [ pkgs.gnupg ];
path = [ pkgs.gnupgMinimal ];
};
systemd.services.systemd-pstore.wantedBy = [ "sysinit.target" ]; # see #81138

View File

@@ -64,13 +64,13 @@
environment.etc."systemd/logind.conf".text =
utils.systemdUtils.lib.settingsToSections config.services.logind.settings;
# Restarting systemd-logind breaks X11
# Restarting systemd-logind breaks X11 and other user sessions.
# However, reloading the service seems to do the trick of loading new configuration without breaking anything.
# - upstream commit: https://cgit.freedesktop.org/xorg/xserver/commit/?id=dc48bd653c7e101
# - systemd announcement: https://github.com/systemd/systemd/blob/22043e4317ecd2bc7834b48a6d364de76bb26d91/NEWS#L103-L112
# - this might be addressed in the future by xorg
#systemd.services.systemd-logind.restartTriggers = [ config.environment.etc."systemd/logind.conf".source ];
systemd.services.systemd-logind.restartIfChanged = false;
systemd.services.systemd-logind.stopIfChanged = false;
systemd.services.systemd-logind.reloadIfChanged = true;
# The user-runtime-dir@ service is managed by systemd-logind we should not touch it or else we break the users' sessions.
systemd.services."user-runtime-dir@".stopIfChanged = false;

View File

@@ -138,7 +138,7 @@ in
systemd.services.systemd-sysupdated = {
aliases = [ "dbus-org.freedesktop.sysupdate1.service" ];
path = [ pkgs.gnupg ];
path = [ pkgs.gnupgMinimal ];
};
systemd.timers = {

View File

@@ -5,16 +5,13 @@
utils,
...
}:
with utils;
with systemdUtils.unitOptions;
with lib;
let
cfg = config.systemd.user;
systemd = config.systemd.package;
inherit (systemdUtils.lib)
inherit (utils.systemdUtils.lib)
generateUnits
targetToUnit
serviceToUnit
@@ -53,7 +50,7 @@ let
user ? null,
}:
let
suffix = optionalString (user != null) "-${user}";
suffix = lib.optionalString (user != null) "-${user}";
in
pkgs.writeTextFile {
name = "nixos-user-tmpfiles.d${suffix}";
@@ -61,74 +58,86 @@ let
text = ''
# This file is created automatically and should not be modified.
# Please change the options systemd.user.tmpfiles instead.
${concatStringsSep "\n" rules}
${lib.concatStringsSep "\n" rules}
'';
};
in
{
imports = [
(lib.mkRemovedOptionModule [
"systemd"
"user"
"extraConfig"
] "Use systemd.user.settings.Manager instead.")
];
options = {
systemd.user.extraConfig = mkOption {
default = "";
type = types.lines;
example = "DefaultTimeoutStartSec=60";
systemd.user.settings.Manager = lib.mkOption {
default = { };
type = lib.types.submodule {
freeformType = lib.types.attrsOf utils.systemdUtils.unitOptions.unitOption;
};
example = {
DefaultTimeoutStartSec = 60;
};
description = ''
Extra config options for systemd user instances. See {manpage}`systemd-user.conf(5)` for
available options.
Settings for systemd user instances. See {manpage}`systemd-user.conf(5)`
for available options.
'';
};
systemd.user.units = mkOption {
systemd.user.units = lib.mkOption {
description = "Definition of systemd per-user units.";
default = { };
type = systemdUtils.types.units;
type = utils.systemdUtils.types.units;
};
systemd.user.paths = mkOption {
systemd.user.paths = lib.mkOption {
default = { };
type = systemdUtils.types.paths;
type = utils.systemdUtils.types.paths;
description = "Definition of systemd per-user path units.";
};
systemd.user.services = mkOption {
systemd.user.services = lib.mkOption {
default = { };
type = systemdUtils.types.services;
type = utils.systemdUtils.types.services;
description = "Definition of systemd per-user service units.";
};
systemd.user.slices = mkOption {
systemd.user.slices = lib.mkOption {
default = { };
type = systemdUtils.types.slices;
type = utils.systemdUtils.types.slices;
description = "Definition of systemd per-user slice units.";
};
systemd.user.sockets = mkOption {
systemd.user.sockets = lib.mkOption {
default = { };
type = systemdUtils.types.sockets;
type = utils.systemdUtils.types.sockets;
description = "Definition of systemd per-user socket units.";
};
systemd.user.targets = mkOption {
systemd.user.targets = lib.mkOption {
default = { };
type = systemdUtils.types.targets;
type = utils.systemdUtils.types.targets;
description = "Definition of systemd per-user target units.";
};
systemd.user.timers = mkOption {
systemd.user.timers = lib.mkOption {
default = { };
type = systemdUtils.types.timers;
type = utils.systemdUtils.types.timers;
description = "Definition of systemd per-user timer units.";
};
systemd.user.tmpfiles = {
enable =
(mkEnableOption "systemd user units systemd-tmpfiles-setup.service and systemd-tmpfiles-clean.timer")
(lib.mkEnableOption "systemd user units systemd-tmpfiles-setup.service and systemd-tmpfiles-clean.timer")
// {
default = true;
example = false;
};
rules = mkOption {
type = types.listOf types.str;
rules = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
example = [ "D %C - - - 7d" ];
description = ''
@@ -139,17 +148,17 @@ in
'';
};
users = mkOption {
users = lib.mkOption {
description = ''
Per-user rules for creation, deletion and cleaning of volatile and
temporary files automatically.
'';
default = { };
type = types.attrsOf (
types.submodule {
type = lib.types.attrsOf (
lib.types.submodule {
options = {
rules = mkOption {
type = types.listOf types.str;
rules = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
example = [ "D %C - - - 7d" ];
description = ''
@@ -165,8 +174,8 @@ in
};
};
systemd.user.generators = mkOption {
type = types.attrsOf types.path;
systemd.user.generators = lib.mkOption {
type = lib.types.attrsOf lib.types.path;
default = { };
example = {
systemd-gpt-auto-generator = "/dev/null";
@@ -179,9 +188,9 @@ in
'';
};
systemd.additionalUpstreamUserUnits = mkOption {
systemd.additionalUpstreamUserUnits = lib.mkOption {
default = [ ];
type = types.listOf types.str;
type = lib.types.listOf lib.types.str;
example = [ ];
description = ''
Additional units shipped with systemd that should be enabled for per-user systemd instances.
@@ -203,29 +212,26 @@ in
upstreamWants = [ ];
};
"systemd/user.conf".text = ''
[Manager]
${cfg.extraConfig}
'';
"systemd/user.conf".text = utils.systemdUtils.lib.settingsToSections cfg.settings;
};
systemd.user.units =
mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit v)) cfg.paths
// mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit v)) cfg.services
// mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit v)) cfg.slices
// mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit v)) cfg.sockets
// mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit v)) cfg.targets
// mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit v)) cfg.timers;
lib.mapAttrs' (n: v: lib.nameValuePair "${n}.path" (pathToUnit v)) cfg.paths
// lib.mapAttrs' (n: v: lib.nameValuePair "${n}.service" (serviceToUnit v)) cfg.services
// lib.mapAttrs' (n: v: lib.nameValuePair "${n}.slice" (sliceToUnit v)) cfg.slices
// lib.mapAttrs' (n: v: lib.nameValuePair "${n}.socket" (socketToUnit v)) cfg.sockets
// lib.mapAttrs' (n: v: lib.nameValuePair "${n}.target" (targetToUnit v)) cfg.targets
// lib.mapAttrs' (n: v: lib.nameValuePair "${n}.timer" (timerToUnit v)) cfg.timers;
systemd.user.timers = {
# enable systemd user tmpfiles
systemd-tmpfiles-clean.wantedBy = optional cfg.tmpfiles.enable "timers.target";
systemd-tmpfiles-clean.wantedBy = lib.optional cfg.tmpfiles.enable "timers.target";
}
# Generate timer units for all services that have a startAt value.
// (mapAttrs (name: service: {
// (lib.mapAttrs (name: service: {
wantedBy = [ "timers.target" ];
timerConfig.OnCalendar = service.startAt;
}) (filterAttrs (name: service: service.startAt != [ ]) cfg.services));
}) (lib.filterAttrs (name: service: service.startAt != [ ]) cfg.services));
# Provide the systemd-user PAM service, required to run systemd
# user instances.
@@ -244,18 +250,19 @@ in
systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions.
# enable systemd user tmpfiles
systemd.user.services.systemd-tmpfiles-setup.wantedBy = optional cfg.tmpfiles.enable "basic.target";
systemd.user.services.systemd-tmpfiles-setup.wantedBy =
lib.optional cfg.tmpfiles.enable "basic.target";
# /run/current-system/sw/etc/xdg is in systemd's $XDG_CONFIG_DIRS so we can
# write the tmpfiles.d rules for everyone there
environment.systemPackages = optional (cfg.tmpfiles.rules != [ ]) (writeTmpfiles {
environment.systemPackages = lib.optional (cfg.tmpfiles.rules != [ ]) (writeTmpfiles {
inherit (cfg.tmpfiles) rules;
});
# /etc/profiles/per-user/$USER/etc/xdg is in systemd's $XDG_CONFIG_DIRS so
# we can write a single user's tmpfiles.d rules there
users.users = mapAttrs (user: cfg': {
packages = optional (cfg'.rules != [ ]) (writeTmpfiles {
users.users = lib.mapAttrs (user: cfg': {
packages = lib.optional (cfg'.rules != [ ]) (writeTmpfiles {
inherit (cfg') rules;
inherit user;
});

View File

@@ -238,11 +238,11 @@ in
'';
systemd.settings.Manager = managerSettings;
systemd.user.extraConfig = ''
systemd.user.settings.Manager = {
# Allow very slow start
DefaultTimeoutStartSec=300
DefaultDeviceTimeoutSec=300
'';
DefaultTimeoutStartSec = 300;
DefaultDeviceTimeoutSec = 300;
};
boot.consoleLogLevel = 7;

View File

@@ -1379,7 +1379,6 @@ in
"-device usb-tablet,bus=usb-bus.0"
])
(mkIf pkgs.stdenv.hostPlatform.isAarch [
"-device virtio-gpu-pci"
"-device usb-ehci,id=usb0"
"-device usb-kbd"
"-device usb-tablet"

View File

@@ -1670,6 +1670,7 @@ in
systemd-timesyncd-nscd-dnssec = runTest ./systemd-timesyncd-nscd-dnssec.nix;
systemd-user-linger = runTest ./systemd-user-linger.nix;
systemd-user-linger-purge = runTest ./systemd-user-linger-purge.nix;
systemd-user-settings = runTest ./systemd-user-settings.nix;
systemd-user-tmpfiles-rules = runTest ./systemd-user-tmpfiles-rules.nix;
systemd-userdbd = runTest ./systemd-userdbd.nix;
systemtap = handleTest ./systemtap.nix { };

View File

@@ -0,0 +1,24 @@
{
name = "systemd-user-settings";
meta = {
maintainers = [ ];
};
nodes.machine =
{ lib, ... }:
{
systemd.user.settings.Manager = {
DefaultTimeoutStartSec = lib.mkForce "60";
DefaultEnvironment = "FOO=bar";
};
};
testScript = ''
machine.wait_for_unit("multi-user.target")
with subtest("settings.Manager renders user.conf"):
machine.succeed("grep -F '[Manager]' /etc/systemd/user.conf")
machine.succeed("grep -F 'DefaultTimeoutStartSec=60' /etc/systemd/user.conf")
machine.succeed("grep -F 'DefaultEnvironment=FOO=bar' /etc/systemd/user.conf")
'';
}

View File

@@ -34,7 +34,7 @@
RebootWatchdogSec = "10min";
KExecWatchdogSec = "5min";
};
systemd.user.extraConfig = "DefaultEnvironment=\"XXX_USER=bar\"";
systemd.user.settings.Manager.DefaultEnvironment = "\"XXX_USER=bar\"";
services.journald.extraConfig = "Storage=volatile";
test-support.displayManager.auto.user = "alice";

View File

@@ -87,9 +87,9 @@ rec {
)
{ }
[
"6_7"
"6_8"
"6_9"
"7_0"
];
testScript = ''

View File

@@ -2,21 +2,12 @@
lib,
fetchFromGitHub,
stdenvNoCC,
installFonts,
}:
stdenvNoCC.mkDerivation {
pname = "chunk";
version = "2021-03-03";
outputs = [
"out"
"webfont"
];
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "theleagueof";
repo = "chunk";
@@ -24,7 +15,14 @@ stdenvNoCC.mkDerivation {
hash = "sha256-NMkRvrUgy9yzOT3a1rN6Ch/p8Cr902CwL4G0w7jVm1E=";
};
nativeBuildInputs = [ installFonts ];
installPhase = ''
runHook preInstall
install -D -m444 -t $out/share/fonts/truetype $src/*.ttf
install -D -m444 -t $out/share/fonts/opentype $src/*.otf
runHook postInstall
'';
meta = {
description = "Ultra-bold, ultra-awesome slab serif typeface";

View File

@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "containerlab";
version = "0.76.0";
version = "0.71.0";
src = fetchFromGitHub {
owner = "srl-labs";
repo = "containerlab";
tag = "v${finalAttrs.version}";
hash = "sha256-ULO0I9ixhRKCHI6LT2lWn2wXEIMl87q3PXwus+b3VmM=";
hash = "sha256-wfkkRQ0F8G57pEuyLP1qjoZGkDNW/Ix4Nh3ZKoWK+w8=";
};
vendorHash = "sha256-US8y4AlO9fMD7bogIPT6bsrSsUx7c6X1Y0ooHiQ6WUc=";
vendorHash = "sha256-s5WBCYOdNooygEL0AbhIqZLeWd4gnpAvWjJu38QTKYU=";
nativeBuildInputs = [
installShellFiles

View File

@@ -58,7 +58,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
})
];
env.FRAMEWORK_CONTROL_PORT = controlPort;
FRAMEWORK_CONTROL_PORT = controlPort;
preBuild = ''
pushd web

View File

@@ -9,20 +9,20 @@
}:
buildGoModule (finalAttrs: {
pname = "go-hass-agent";
version = "14.12.0";
version = "14.11.0";
src = fetchFromGitHub {
owner = "joshuar";
repo = "go-hass-agent";
tag = "v${finalAttrs.version}";
hash = "sha256-KQRM6b6BtCkY+raJoshOYOoKwOzRwzFTLFnHTY6hCSY=";
hash = "sha256-mC/Y1z2kudBZOEQU5S17ROx3iHPpDGGSkUJe7MMb/iE=";
};
vendorHash = "sha256-WsxxT1hCpGt7YAcbp2NDVLPl4lFLHlZraiKUePoQwNU=";
vendorHash = "sha256-Xz7u8SSlxlDB5HbKMbm1xVYrtp1/zy2yBgoWS3NcTew=";
npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
hash = "sha256-K/VrxDlE3MVDBItsx4ADkAgn3W06onfVwpBYoU3kejs=";
hash = "sha256-LwOVVVGWufQ+Q3jiv0H9lf7zg3R9fXvvAlLiUWqtmZs=";
};
overrideModAttrs = oldAttrs: {

View File

@@ -11,6 +11,7 @@
meson,
ninja,
pkg-config,
python3,
vala,
wrapGAppsHook4,
}:
@@ -26,12 +27,17 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-BKpHAlhxd8Zy/ZpPkLhXqlgZsil9JEZmVmHis1gte4Q=";
};
postPatch = ''
patchShebangs meson_post_install.py
'';
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
python3
vala
wrapGAppsHook4
desktop-file-utils # for update-desktop-database
@@ -55,7 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://haguichi.net/";
changelog = "https://haguichi.net/news/release${
lib.strings.replaceStrings [ "." ] [ "" ] finalAttrs.version
}/";
}";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ OPNA2608 ];

View File

@@ -9,13 +9,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mathic";
version = "1.4";
version = "1.3";
src = fetchFromGitHub {
owner = "Macaulay2";
repo = "mathic";
tag = "v${finalAttrs.version}";
hash = "sha256-0/ws95MTrNXt6BhqyWjsOGyXvh2tTd48/pT6kWwQPd4=";
hash = "sha256-6xkNnn/8XugeBi91+9iTWHj8l5M6SH8tjsC8N2sLEnA=";
};
buildInputs = [

View File

@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "memtailor";
version = "1.4";
version = "1.3";
src = fetchFromGitHub {
owner = "Macaulay2";
repo = "memtailor";
tag = "v${finalAttrs.version}";
hash = "sha256-cpM/oa4GAKDxs6yrxHngpvam18cGA2u9Ftvd2WW4vdI=";
hash = "sha256-x6z/BzU78od21l72ZAnX37UHHdyMHfJ6cjwJwNYOIcY=";
};
nativeBuildInputs = [

View File

@@ -2,17 +2,11 @@
lib,
stdenvNoCC,
fetchFromGitHub,
installFonts,
}:
stdenvNoCC.mkDerivation {
pname = "mitimasu";
version = "0-unstable-2023-10-24";
outputs = [
"out"
"webfont"
];
src = fetchFromGitHub {
owner = "kemomimi-no-sato";
repo = "mitimasu-webfont";
@@ -20,7 +14,16 @@ stdenvNoCC.mkDerivation {
hash = "sha256-yiAnIVZY9DoIborO/s2KSlt6Zq1kAjKewLd30qBQqio=";
};
nativeBuildInputs = [ installFonts ];
installPhase = ''
runHook preInstall
install -m444 -Dt $out/share/fonts/truetype fonts/mitimasu.ttf
install -m444 -Dt $out/share/fonts/eot fonts/mitimasu.eot
install -m444 -Dt $out/share/fonts/woff fonts/mitimasu.woff
install -m444 -Dt $out/share/fonts/woff2 fonts/mitimasu.woff2
runHook postInstall
'';
meta = {
description = "Mitimasu webfont";

View File

@@ -12,7 +12,6 @@ buildPythonPackage (finalAttrs: {
pname = "netbox-attachments";
version = "11.2.1";
pyproject = true;
__structuredAttrs = true;
disabled = python.pythonVersion != netbox.python.pythonVersion;

View File

@@ -12,7 +12,6 @@ buildPythonPackage rec {
pname = "netbox-bgp";
version = "0.18.1";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "netbox-community";

View File

@@ -11,7 +11,6 @@ buildPythonPackage rec {
pname = "netbox-contextmenus";
version = "1.4.14";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "PieterL75";

View File

@@ -13,7 +13,6 @@ buildPythonPackage (finalAttrs: {
pname = "netbox-contract";
version = "2.4.5";
pyproject = true;
__structuredAttrs = true;
disabled = python.pythonVersion != netbox.python.pythonVersion;

View File

@@ -9,7 +9,6 @@ buildPythonPackage rec {
pname = "netbox-plugin-dns";
version = "1.5.8";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "peteeckel";

View File

@@ -12,7 +12,6 @@ buildPythonPackage rec {
pname = "netbox-documents";
version = "0.8.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "jasonyates";

View File

@@ -12,7 +12,6 @@ buildPythonPackage rec {
pname = "netbox-floorplan-plugin";
version = "0.9.1";
pyproject = true;
__structuredAttrs = true;
disabled = python.pythonVersion != netbox.python.pythonVersion;

View File

@@ -21,7 +21,6 @@ buildPythonPackage (finalAttrs: {
pname = "netbox-interface-synchronization";
version = "4.5.8";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "NetTech2001";

View File

@@ -12,7 +12,6 @@ buildPythonPackage (finalAttrs: {
pname = "netbox-napalm-plugin";
version = "0.3.4";
pyproject = true;
__structuredAttrs = true;
disabled = python.pythonVersion != netbox.python.pythonVersion;

View File

@@ -17,7 +17,6 @@ buildPythonPackage (finalAttrs: {
pname = "netbox-plugin-prometheus-sd";
version = "1.3.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "FlxPeters";

View File

@@ -23,7 +23,6 @@ buildPythonPackage (finalAttrs: {
pname = "netbox-qrcode";
version = "0.0.21";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "netbox-community";

View File

@@ -11,7 +11,6 @@ buildPythonPackage rec {
pname = "netbox-reorder-rack";
version = "1.1.4";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "netbox-community";

View File

@@ -13,7 +13,6 @@ buildPythonPackage rec {
pname = "netbox-routing";
version = "0.4.3";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "DanSheps";

View File

@@ -12,7 +12,6 @@ buildPythonPackage rec {
pname = "netbox-topology-views";
version = "4.5.1";
pyproject = true;
__structuredAttrs = true;
disabled = python.pythonVersion != netbox.python.pythonVersion;

View File

@@ -7,13 +7,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nextvi";
version = "5.3";
version = "5.2";
src = fetchFromGitHub {
owner = "kyx0r";
repo = "nextvi";
tag = finalAttrs.version;
hash = "sha256-06z7zAJ8pRYhGQsNYgfSBDn8UgyGkeqXz6MHY+IaKYU=";
hash = "sha256-AjKcM/JD43htQZhNWcVv6ljhN2T9BPOv9ZdO6uxImOw=";
};
nativeBuildInputs = [ installShellFiles ];

View File

@@ -314,13 +314,16 @@ It must be one of the following:
be made using _nixos_ function in nixpkgs or importing and calling
nixos/lib/eval-config.nix from nixpkgs. If specified without *--attr*
option, builds the configuration from the top-level attribute set of the
file.
file. Using this option disables automatic flake detection, same as
*--no-flake*.
*--attr* _attrPath_, *-A* _attrPath_
Build the NixOS system from a nix file and use the specified
attribute path from the file specified by the *--file* option.
If specified without *--file* option, uses _system.nix_ in current directory,
the system-wide _<nixos-system>_ file, or finally, /etc/nixos/system.nix.
Using this option disables automatic flake detection, same as
*--no-flake*.
*--flake* _flake-uri[#name]_, *-F* _flake-uri[#name]_
Build the NixOS system from the specified flake. It defaults to the
@@ -379,6 +382,10 @@ NIX_SSHOPTS
NIX_SUDOOPTS
Additional options to be passed to sudo on the command line.
NIXOS_REBUILD_NO_SYSTEMD_RUN
If set, then *nixos-rebuild* will run without the
_systemd-run_ wrapper.
# FILES
/etc/nixos/system.nix

View File

@@ -329,6 +329,10 @@ def parse_args(
if args.flake and (args.file or args.attr):
parser.error("--flake cannot be used with --file or --attr")
if (args.file or args.attr) and args.flake is None:
# Disable flake auto-detection when --file or --attr is used
args.flake = False
if args.store_path:
if args.rollback:
parser.error("--store-path and --rollback are mutually exclusive")

View File

@@ -708,6 +708,8 @@ def switch_to_configuration(
"not working in target host"
)
cmd = []
elif os.environ.get("NIXOS_REBUILD_NO_SYSTEMD_RUN"):
cmd = []
run_wrapper(
[*cmd, path_to_config / "bin/switch-to-configuration", str(action)],

View File

@@ -89,6 +89,22 @@ def test_parse_args() -> None:
assert r_store_path.flake is False
assert r_store_path.store_path == "/nix/store/foo"
# --file and --attr should disable flake auto-detection
r_file, _ = nr.parse_args(["nixos-rebuild", "switch", "--file", "foo.nix"])
assert r_file.flake is False
assert r_file.file == "foo.nix"
r_attr, _ = nr.parse_args(["nixos-rebuild", "switch", "--attr", "bar"])
assert r_attr.flake is False
assert r_attr.attr == "bar"
r_file_attr, _ = nr.parse_args(
["nixos-rebuild", "switch", "--file", "foo.nix", "--attr", "bar"]
)
assert r_file_attr.flake is False
assert r_file_attr.file == "foo.nix"
assert r_file_attr.attr == "bar"
r1, g1 = nr.parse_args(
[
"nixos-rebuild",

View File

@@ -819,6 +819,38 @@ def test_switch_to_configuration_without_systemd_run(
)
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
def test_switch_to_configuration_without_systemd_run_env_var(
mock_run: Any, monkeypatch: MonkeyPatch
) -> None:
profile_path = Path("/path/to/profile")
mock_run.return_value = CompletedProcess([], 0)
with monkeypatch.context() as mp:
mp.setenv("LOCALE_ARCHIVE", "")
mp.setenv("NIXOS_REBUILD_NO_SYSTEMD_RUN", "1")
n.switch_to_configuration(
profile_path,
m.Action.SWITCH,
elevate=e.NO_ELEVATOR,
target_host=None,
specialisation=None,
install_bootloader=False,
)
mock_run.assert_called_with(
[profile_path / "bin/switch-to-configuration", "switch"],
env={
"LOCALE_ARCHIVE": e.PRESERVE_ENV,
"NIXOS_NO_CHECK": e.PRESERVE_ENV,
"NIXOS_INSTALL_BOOTLOADER": "0",
},
elevate=e.NO_ELEVATOR,
remote=None,
stdout=sys.stderr,
)
@patch(get_qualified_name(n.run_wrapper, n), autospec=True)
def test_switch_to_configuration_with_systemd_run(
mock_run: Mock, monkeypatch: MonkeyPatch

View File

@@ -2,6 +2,7 @@
lib,
fetchFromGitHub,
rustPlatform,
makeWrapper,
pkg-config,
pipewire,
wayland,
@@ -13,30 +14,28 @@
libxi,
libxcursor,
libx11,
vulkan-loader,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "openmeters";
version = "1.4.1";
version = "0-unstable-2025-12-15";
src = fetchFromGitHub {
owner = "httpsworldview";
repo = "openmeters";
tag = "v${finalAttrs.version}";
hash = "sha256-7B/S3B15xfjZEFvzISBvyIzszoIQ1CRXexPrsnFQ+YM=";
rev = "701b22b40796e33b118719724a54be231144a5ac";
hash = "sha256-svsC0lxAnkVuyk6LZPyFSjeOL8H0yY3dRA37+K1e/xY=";
};
cargoHash = "sha256-SiXv93Bir1Qq9T3blfcFdfDkmp00OIq9odxRrwcz/50=";
cargoHash = "sha256-jm/8FdJiVVh/PAyJiLA/KK4IaXi4gUBMGIKz/FL3KZ8=";
nativeBuildInputs = [
makeWrapper
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
pipewire
libxkbcommon
];
postFixup = ''
@@ -51,31 +50,15 @@ rustPlatform.buildRustPackage (finalAttrs: {
libxcursor
libxi
libxrandr
vulkan-loader
]
}' $out/bin/openmeters
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Fast and professional audio metering/visualization for Linux";
longDescription = ''
OpenMeters is a fast audio metering application for Linux built with
Rust and PipeWire. It provides LUFS/RMS/true-peak loudness meters
(ITU-R BS.1770-5), a spectrogram with spectral reassignment, a
spectrum analyser, an oscilloscope with stable-trigger mode, a
stereometer (X/Y vector scope, M/S goniometer) and a waveform view,
with per-application and per-device capture.
'';
description = "Fast and simple audio metering/visualization program for Linux";
homepage = "https://github.com/httpsworldview/openmeters";
changelog = "https://github.com/httpsworldview/openmeters/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
bitbloxhub
magnetophon
];
license = lib.licenses.mit;
maintainers = [ lib.maintainers.bitbloxhub ];
platforms = lib.platforms.linux;
mainProgram = "openmeters";
};

View File

@@ -13,13 +13,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "openspec";
version = "1.4.1";
version = "1.3.1";
src = fetchFromGitHub {
owner = "Fission-AI";
repo = "OpenSpec";
tag = "v${finalAttrs.version}";
hash = "sha256-VZZ/ukjciXqiebwei2JizyOnxx0T3IeoowFWElKec4o=";
hash = "sha256-L4LBHVVtgMhSJm+IzZSYOR0UXPbvIRg4xiEV5urYxdI=";
};
pnpmDeps = fetchPnpmDeps {

View File

@@ -1,90 +0,0 @@
{
lib,
fetchFromGitLab,
fontforge,
stdenvNoCC,
installFonts,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "peppercarrot-fonts";
version = "1.0.0";
outputs = [
"out"
"webfont"
];
src = fetchFromGitLab {
domain = "framagit.org";
owner = "peppercarrot";
repo = "fonts";
tag = "v${finalAttrs.version}";
hash = "sha256-tabiNRJZRwSYGV3DtXhg0C78E7TlDQYcpa/5bJrkhfs=";
};
# Other folders include third-party fonts for other alphabets
sourceRoot = "${finalAttrs.src.name}/Latin";
postPatch = ''
# Some fonts are duplicated with symlinks
find . -type l -delete
# Already in pkgs.yanone-kaffeesatz
rm YanoneKaffeesatz*
'';
nativeBuildInputs = [
fontforge
installFonts
];
# Those are only built as woff2
buildPhase = ''
runHook preBuild
fontforge -lang=ff -c 'Open("sources/Handserah.sfd"); Generate("Handserah.otf")'
fontforge -lang=ff -c 'Open("sources/PepperCarrot.sfd"); Generate("PepperCarrot.otf")'
runHook postBuild
'';
strictDeps = true;
__structuredAttrs = true;
meta = {
description = "Open fonts used in the webcomic Pepper&Carrot";
homepage = "https://www.peppercarrot.com/en/fonts";
changelog = "https://framagit.org/peppercarrot/fonts/-/blob/master/CHANGELOG.md";
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.nim65s ];
license =
with lib.licenses;
let
gpl2font = {
deprecated = true;
free = true;
fullName = "GNU General Public License v2.0 w/Font exception";
redistributable = true;
shortName = "gpl2font";
spdxId = " GPL-2.0-with-font-exception";
url = "https://spdx.org/licenses/GPL-2.0-with-font-exception.html";
};
ofl10 = {
deprecated = false;
free = true;
fullName = "SIL Open Font License 1.0";
redistributable = true;
shortName = "ofl10";
spdxId = "OFL-1.0";
url = "https://spdx.org/licenses/OFL-1.0.html";
};
in
[
asl20
cc-by-30
gpl2font
gpl3
mplus
ofl
ofl10
];
};
})

View File

@@ -1,22 +1,13 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
installFonts,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation {
pname = "prociono";
version = "2011-05-25";
outputs = [
"out"
"webfont"
];
strictDeps = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "theleagueof";
repo = "prociono";
@@ -24,7 +15,14 @@ stdenvNoCC.mkDerivation {
hash = "sha256-gC5E0Z0O2cnthoBEu+UOQLsr3/a/3/JPIx3WCPsXXtk=";
};
nativeBuildInputs = [ installFonts ];
installPhase = ''
runHook preInstall
install -D -m444 -t $out/share/fonts/truetype $src/*.ttf
install -D -m444 -t $out/share/fonts/opentype $src/*.otf
runHook postInstall
'';
meta = {
description = "Roman serif with blackletter elements";

View File

@@ -27,13 +27,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "proxsuite";
version = "0.7.3";
version = "0.7.2";
src = fetchFromGitHub {
owner = "simple-robotics";
repo = "proxsuite";
tag = "v${finalAttrs.version}";
hash = "sha256-qJZQV9vNLQ/rtPMRdAfjwrYExyyDC2OP8uVeywkQ56Y=";
rev = "v${finalAttrs.version}";
hash = "sha256-1+a5tFOlEwzhGZtll35EMFceD0iUOOQCbwJd9NcFDlk=";
};
patches = [
@@ -41,6 +41,13 @@ stdenv.mkDerivation (finalAttrs: {
./fix-cmake-python-version.patch
];
# ref. https://github.com/Simple-Robotics/proxsuite/pull/408 merged upstream
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
"cmake_minimum_required(VERSION 3.10)" \
"cmake_minimum_required(VERSION 3.22)"
'';
outputs = [
"doc"
"out"

View File

@@ -2,7 +2,6 @@
lib,
stdenvNoCC,
fetchzip,
installFonts,
}:
stdenvNoCC.mkDerivation {
@@ -15,7 +14,13 @@ stdenvNoCC.mkDerivation {
stripRoot = false;
};
nativeBuildInputs = [ installFonts ];
installPhase = ''
runHook preInstall
install -m444 -Dt $out/share/fonts/truetype *.ttf
runHook postInstall
'';
meta = {
description = "Narrow monospaced font, designed to fit a fifteen pixel bitmap";

View File

@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "radcli";
version = "1.5.2";
version = "1.5.1";
src = fetchFromGitHub {
owner = "radcli";
repo = "radcli";
tag = finalAttrs.version;
hash = "sha256-8lumfZXIYeFTjtakj1s+gxoVaDMzoKlQMYgpq4BIc+U=";
hash = "sha256-bp6qwnedyutS2d97AUDCBEVyu8hAKq72zdCLvpRFuJM=";
};
postUnpack = ''

View File

@@ -4,22 +4,21 @@
fetchFromGitHub,
pkg-config,
oniguruma,
openssl,
stdenv,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rucola";
version = "0.9.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "Linus-Mussmaecher";
repo = "rucola";
tag = "v${finalAttrs.version}";
hash = "sha256-gBX7ivLiCpdVE77O+Qy2fVGjvh/qG9FxX4jNxsTL03s=";
rev = "v${finalAttrs.version}";
hash = "sha256-vBY6tkzLgZuSU5AqH3uzDwjPl/ayWY0S8uRvlgE/Wmw=";
};
cargoHash = "sha256-9QBZEZS1LFfjlKVTM5vAbm+8tFlZVyWDLEKvpsDIu5E=";
cargoHash = "sha256-a1f+WSXMNaZCKc7bScknW9WW+Qi1CZIuNLdJseem11I=";
nativeBuildInputs = [
pkg-config
@@ -27,7 +26,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
buildInputs = [
oniguruma
openssl
];
env = {

View File

@@ -16,7 +16,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ruff";
version = "0.15.15";
version = "0.15.16";
__structuredAttrs = true;
@@ -24,12 +24,12 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "astral-sh";
repo = "ruff";
tag = finalAttrs.version;
hash = "sha256-WpjOOCYLZ1d8XPUx3qNHD+fuK6t65u/1/ZezABWpBD0=";
hash = "sha256-krmHCLijp+D4gBjKV9cdicPob4ry5I6QwB3MUz0z7zA=";
};
cargoBuildFlags = [ "--package=ruff" ];
cargoHash = "sha256-SfkoLl43Y1DNqIRW+HljVcEHWhedTS99SGhMvkQ4dmo=";
cargoHash = "sha256-d2iV7iWf7lVhj1Bbaxxk5Zao4KK3oC7whppRvk0erzA=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "terranix";
version = "2.9.0";
version = "2.8.0";
src = fetchFromGitHub {
owner = "mrVanDalo";
repo = "terranix";
rev = finalAttrs.version;
sha256 = "sha256-Jh0Zk+g0pEbNopADEtqvrnhrl83rlNFHpn3Zhz4s+VM=";
sha256 = "sha256-1Pu2j5xsBTuoyga08ZVf+rKp3FOMmJh/0fXen/idOrA=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@@ -3178,10 +3178,10 @@
};
zig = {
version = "1.1.2-unstable-2025-09-10";
url = "github:tree-sitter-grammars/tree-sitter-zig";
rev = "6479aa13f32f701c383083d8b28360ebd682fb7d";
hash = "sha256-T9Q6EhJ20tH5v1fUlnNA3UcdX52DMZE/PQjPWQtcHw0=";
version = "0-unstable-2024-10-13";
url = "github:maxxnino/tree-sitter-zig";
rev = "a80a6e9be81b33b182ce6305ae4ea28e29211bd5";
hash = "sha256-o3RAbW8kLSfKxuQ/z7WDb5BaDVxZUG5oFutovRkErjk=";
meta = {
license = lib.licenses.mit;
};

View File

@@ -51,7 +51,6 @@ python3Packages.buildPythonApplication (finalAttrs: {
mainProgram = "tt-smi";
description = "Tenstorrent console based hardware information program";
homepage = "https://github.com/tenstorrent/tt-smi";
changelog = "https://github.com/tenstorrent/tt-smi/blob/${finalAttrs.src.tag}/CHANGELOG.md";
maintainers = with lib.maintainers; [ RossComputerGuy ];
license = with lib.licenses; [ asl20 ];
};

View File

@@ -17,7 +17,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ty";
version = "0.0.40";
version = "0.0.44";
__structuredAttrs = true;
src = fetchFromGitHub {
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
repo = "ty";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-kdfPnyQXYtf3BDrYCFGfX0bMoPGjRpyH3aUeRZBiUKY=";
hash = "sha256-P19+C6u0mkIrR0H8M/l7Wn3r8JSY4Ul9p64oXaLdWCQ=";
};
# For Darwin platforms, remove the integration test for file notifications,
@@ -39,7 +39,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
cargoBuildFlags = [ "--package=ty" ];
cargoHash = "sha256-yUbHTzUGNdpm3b1s/SkcpFGdp7WjN+xO+CVrPPwrh6A=";
cargoHash = "sha256-d2iV7iWf7lVhj1Bbaxxk5Zao4KK3oC7whppRvk0erzA=";
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ rust-jemalloc-sys ];

View File

@@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "weaviate";
version = "1.38.0";
version = "1.37.4";
src = fetchFromGitHub {
owner = "weaviate";
repo = "weaviate";
rev = "v${finalAttrs.version}";
hash = "sha256-dYApKcDW8Cs/T3uszohy0PQqKar9lkiNBMY0mnPr5xs=";
hash = "sha256-mjjDya02L9q/pi7337v5CEnKpugIK2YJt3kRLtwQSmk=";
};
vendorHash = "sha256-1uOPet4HywajcPbZuT2ePRUrcT9mwNx0n2vFUkxUn6s=";
vendorHash = "sha256-rxdln7k0VKFaEehrej4KOyqWugsrz63jdLxwD/ywGug=";
subPackages = [ "cmd/weaviate-server" ];

View File

@@ -44,14 +44,6 @@ buildPythonPackage (finalAttrs: {
pythonImportsCheck = [ "aerosandbox" ];
pythonRemoveDeps = [
# infinite recursion
"neuralfoil"
# not pypa-installed, so no metadata
# good candidate for https://github.com/NixOS/nixpkgs/pull/518530
"casadi"
];
meta = {
description = "Aircraft design optimization made fast through modern automatic differentiation";
homepage = "https://peterdsharpe.github.io/AeroSandbox";

View File

@@ -1,49 +1,32 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system,
setuptools,
# dependencies
babel,
buildPythonPackage,
fetchPypi,
langcodes,
pytestCheckHook,
setuptools,
tld,
urllib3,
# tests
pytest-httpserver,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "courlan";
version = "1.4.0";
version = "1.3.2";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "adbar";
repo = "courlan";
tag = "v${finalAttrs.version}";
hash = "sha256-hDbeAd/gil6S8zggBjmrDmnW3DMMdRvG1vULuhYA1zc=";
src = fetchPypi {
inherit pname version;
hash = "sha256-C2b02zqcOabiLdJHxyz6pX1o6mYOlLsshOx9uHEq8ZA=";
};
# Tests try to write to /tmp directly. use $TMPDIR instead.
postPatch =
let
courlanBinPath = "${placeholder "out"}/bin/courlan";
in
''
substituteInPlace tests/unit_tests.py \
--replace-fail \
'assert os.system("courlan --help") == 0' \
'assert os.system("${courlanBinPath} --help") == 0' \
--replace-fail \
'courlan_bin = "courlan"' \
'courlan_bin = "${courlanBinPath}"'
'';
postPatch = ''
substituteInPlace tests/unit_tests.py \
--replace-fail "\"courlan --help\"" "\"$out/bin/courlan --help\"" \
--replace-fail "courlan_bin = \"courlan\"" "courlan_bin = \"$out/bin/courlan\"" \
--replace-fail "/tmp" "$TMPDIR"
'';
build-system = [ setuptools ];
@@ -54,24 +37,19 @@ buildPythonPackage (finalAttrs: {
urllib3
];
nativeCheckInputs = [
pytest-httpserver
pytestCheckHook
];
nativeCheckInputs = [ pytestCheckHook ];
# disable tests that require an internet connection
disabledTests = [ "test_urlcheck" ];
pythonImportsCheck = [ "courlan" ];
__darwinAllowLocalNetworking = true;
meta = {
description = "Clean, filter and sample URLs to optimize data collection";
homepage = "https://github.com/adbar/courlan";
changelog = "https://github.com/adbar/courlan/blob/${finalAttrs.src.tag}/HISTORY.md";
changelog = "https://github.com/adbar/courlan/blob/v${version}/HISTORY.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jokatzke ];
mainProgram = "courlan";
};
})
}

View File

@@ -5,29 +5,27 @@
unittestCheckHook,
cython,
setuptools,
wheel,
numpy,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "daqp";
version = "0.8.4";
version = "0.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "darnstrom";
repo = "daqp";
tag = "v${finalAttrs.version}";
hash = "sha256-UakuHHsz4LXDfI7+VT5TO+jg90gpgu3lTJL8RGhtODQ=";
tag = "v${version}";
hash = "sha256-I+ObnFAAhRoYtPEDXGP6BI+Zk9CH5yU27JJ+tWbcACQ=";
};
# Don't try to `rmtree` to "Cleanup C-source"
# TODO: to update on next release, master already has `if daqp_src_exists:`
postPatch = ''
substituteInPlace setup.py --replace-fail \
"if src_path.exists():" \
"if False:"
'';
sourceRoot = "${src.name}/interfaces/daqp-python";
sourceRoot = "${finalAttrs.src.name}/interfaces/daqp-python";
postPatch = ''
sed -i 's|../../../daqp|../..|' setup.py
sed -i 's|if src_path and os.path.exists(src_path):|if False:|' setup.py
'';
nativeCheckInputs = [ unittestCheckHook ];
@@ -39,12 +37,13 @@ buildPythonPackage (finalAttrs: {
"-v"
];
build-system = [
nativeBuildInputs = [
cython
setuptools
wheel
];
dependencies = [ numpy ];
propagatedBuildInputs = [ numpy ];
pythonImportsCheck = [ "daqp" ];
@@ -54,4 +53,4 @@ buildPythonPackage (finalAttrs: {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ renesat ];
};
})
}

View File

@@ -14,20 +14,22 @@
setuptools,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "google-cloud-datastore";
version = "2.25.0";
version = "2.24.0";
pyproject = true;
src = fetchPypi {
pname = "google_cloud_datastore";
inherit (finalAttrs) version;
hash = "sha256-3WRqPY+ZwnULtfbg8Y7Oe+2V/XbgLayt2/o1orIjKP8=";
inherit version;
hash = "sha256-8IfAKmqkrGi78X8MBIrj7jVYVr8JxRQ5v7oZN0E4d5I=";
};
build-system = [ setuptools ];
pythonRelaxDeps = [ "protobuf" ];
pythonRelaxDeps = [
"protobuf"
];
dependencies = [
google-api-core
@@ -72,8 +74,8 @@ buildPythonPackage (finalAttrs: {
meta = {
description = "Google Cloud Datastore API client library";
homepage = "https://github.com/googleapis/python-datastore";
changelog = "https://github.com/googleapis/python-datastore/blob/v${finalAttrs.version}/CHANGELOG.md";
changelog = "https://github.com/googleapis/python-datastore/blob/v${version}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = [ ];
};
})
}

View File

@@ -12,14 +12,14 @@
buildPythonPackage (finalAttrs: {
pname = "hyponcloud";
version = "0.9.4";
version = "0.9.3";
pyproject = true;
src = fetchFromGitHub {
owner = "jcisio";
repo = "hyponcloud";
tag = "v${finalAttrs.version}";
hash = "sha256-eehYzPv527zfWAL1vyb6R6iRZW7sYcaOzJBetCHL8jE=";
hash = "sha256-qPELNzaVQtlQQ8u1IvJNkEzywuVHol79Tv3w9Sfaar0=";
};
build-system = [

View File

@@ -1,9 +1,9 @@
{
lib,
buildPythonPackage,
runCommand,
fetchFromGitHub,
rustPlatform,
maturin,
protobuf_30,
}:
@@ -21,11 +21,11 @@ buildPythonPackage (finalAttrs: {
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname version src;
inherit (finalAttrs) src;
hash = "sha256-QBGXbRiBk4WIQFopq1OccmUHgx5GzR/PKhMH4Ie+fyg=";
};
sourceRoot = "${finalAttrs.src.name}/bind/pyluwen";
sourceRoot = "${finalAttrs.src.name}/bind/${finalAttrs.pname}";
prePatch = ''
chmod -R u+w ../../
@@ -49,7 +49,6 @@ buildPythonPackage (finalAttrs: {
meta = {
description = "Tenstorrent system interface library";
homepage = "https://github.com/tenstorrent/luwen";
changelog = "https://github.com/tenstorrent/luwen/releases/tag/${finalAttrs.src.tag}";
maintainers = with lib.maintainers; [ RossComputerGuy ];
license = with lib.licenses; [ asl20 ];
};

View File

@@ -23,14 +23,14 @@
}:
buildPythonPackage rec {
pname = "qpsolvers";
version = "4.12.0";
version = "4.11.0";
pyproject = true;
src = fetchFromGitHub {
owner = "qpsolvers";
repo = "qpsolvers";
tag = "v${version}";
hash = "sha256-KUaDas2PIkTuy+Yi94vKm1P/n6QLPDcUXm8KjOq6JzI=";
hash = "sha256-j4GHlRXtNJxcM8xuSz+a8NwhNPg4wEyMyvhyb40QEZs=";
};
build-system = [ flit-core ];

View File

@@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "scikit-base";
version = "1.0.1";
version = "1.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "sktime";
repo = "skbase";
tag = "v${version}";
hash = "sha256-XqmmKU9+QeUKVXUX6Xa3LkmZqDP3mRzxi1TA/6wRxTI=";
hash = "sha256-qKMOvGm876zG2P9W593922YZvOOCSgUeEWXWkKiTnEY=";
};
build-system = [ setuptools ];

View File

@@ -19,33 +19,27 @@
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
buildPythonPackage rec {
pname = "trafilatura";
version = "2.1.0";
version = "2.0.0";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "adbar";
repo = "trafilatura";
tag = "v${finalAttrs.version}";
hash = "sha256-hSeJH+8JX8QC3zHMZ3+M2H0C3xI+BCvLnSo/Ih1wUQw=";
tag = "v${version}";
hash = "sha256-Cf1W3JEGSMkVmRZVTXYsXzZK/Nt/aDG890Sf0/0OZAA=";
};
postPatch =
postPatch = ''
# nixify path to the trafilatura binary in the test suite
''
substituteInPlace tests/cli_tests.py \
--replace-fail \
'trafilatura_bin = "trafilatura"' \
'trafilatura_bin = "${placeholder "out"}/bin/trafilatura"'
'';
substituteInPlace tests/cli_tests.py \
--replace-fail 'trafilatura_bin = "trafilatura"' \
'trafilatura_bin = "${placeholder "out"}/bin/trafilatura"'
'';
build-system = [ setuptools ];
pythonRelaxDeps = [
"lxml"
];
dependencies = [
certifi
charset-normalizer
@@ -59,6 +53,15 @@ buildPythonPackage (finalAttrs: {
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = [
# TypeError: argument of type 'NoneType' is not iterable
# https://github.com/adbar/trafilatura/issues/805
"test_external"
"test_extract"
# AttributeError: 'NoneType' object has no attribute 'find'
# https://github.com/adbar/trafilatura/issues/805
"test_table_processing"
# Disable tests that require an internet connection
"test_cli_pipeline"
"test_crawl_page"
@@ -72,6 +75,10 @@ buildPythonPackage (finalAttrs: {
"test_queue"
"test_redirection"
"test_whole"
# AssertionError: assert ['deflate', 'gzip', 'zstd'] == ['deflate', 'gzip']
# https://github.com/adbar/trafilatura/issues/823
"test_config"
];
pythonImportsCheck = [ "trafilatura" ];
@@ -79,10 +86,10 @@ buildPythonPackage (finalAttrs: {
meta = {
description = "Python package and command-line tool designed to gather text on the Web";
homepage = "https://trafilatura.readthedocs.io";
changelog = "https://github.com/adbar/trafilatura/blob/${finalAttrs.src.tag}/HISTORY.md";
changelog = "https://github.com/adbar/trafilatura/blob/v${version}/HISTORY.md";
downloadPage = "https://github.com/adbar/trafilatura";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jokatzke ];
mainProgram = "trafilatura";
};
})
}

View File

@@ -1,48 +0,0 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
setuptools-scm,
numpy,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "trsfile";
version = "2.2.5";
src = fetchFromGitHub {
owner = "Keysight";
repo = "python-trsfile";
rev = version;
hash = "sha256-mY4L1FFg2wDWAGVadOca7GDffA05O3v317SCqHxt4F0=";
};
pyproject = true;
SETUPTOOLS_SCM_PRETEND_VERSION = version;
build-system = [
setuptools
setuptools-scm
];
dependencies = [
numpy
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"trsfile"
];
meta = with lib; {
description = "Python library for reading/writing .trs files used by Riscure Inspector";
homepage = "https://github.com/Keysight/python-trsfile";
license = licenses.bsd3;
maintainers = with lib.maintainers; [ mach ];
};
}

View File

@@ -2,18 +2,12 @@
lib,
buildPythonPackage,
fetchFromGitHub,
# build-system
fetchpatch,
setuptools,
# dependencies
pyyaml,
tabulate,
pyluwen,
tt-tools-common,
# tests
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "tt-flash";
@@ -32,10 +26,6 @@ buildPythonPackage (finalAttrs: {
setuptools
];
pythonRelaxDeps = [
"pyyaml"
"tabulate"
];
dependencies = [
tabulate
pyyaml
@@ -44,16 +34,14 @@ buildPythonPackage (finalAttrs: {
];
pythonImportsCheck = [ "tt_flash" ];
nativeCheckInputs = [
pytestCheckHook
pythonRelaxDeps = [
"pyyaml"
"tabulate"
];
meta = {
description = "Tenstorrent Firmware Update Utility";
homepage = "https://tenstorrent.com";
downloadPage = "https://github.com/tenstorrent/tt-flash";
changelog = "https://github.com/tenstorrent/tt-flash/blob/${finalAttrs.src.tag}/CHANGELOG.md";
maintainers = with lib.maintainers; [ RossComputerGuy ];
license = with lib.licenses; [ asl20 ];
};

View File

@@ -77,12 +77,12 @@
}:
let
version = "0.27.2";
version = "0.27.1";
src = fetchFromGitHub {
owner = "wandb";
repo = "wandb";
tag = "v${version}";
hash = "sha256-guNepG8h8Pl8SaJqImS5UsWNFmPyrWidsXh+q9Es73I=";
hash = "sha256-gaZUp4yOnajEyJ5pXXOMCPk7uQ5GEGPrrKMgC6NxIAY=";
};
wandb-xpu = rustPlatform.buildRustPackage {
@@ -445,7 +445,7 @@ buildPythonPackage (finalAttrs: {
meta = {
description = "CLI and library for interacting with the Weights and Biases API";
homepage = "https://github.com/wandb/wandb";
changelog = "https://github.com/wandb/wandb/blob/${finalAttrs.src.tag}/CHANGELOG.md";
changelog = "https://github.com/wandb/wandb/raw/${finalAttrs.version}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ samuela ];
broken = wandb-xpu.meta.broken || wandb-core.meta.broken;

View File

@@ -3,24 +3,22 @@
stdenv,
fetchFromGitHub,
cmake,
lua5_1,
lua,
}:
stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation rec {
version = "1.0.93";
pname = "toluapp";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "LuaDist";
repo = "toluapp";
tag = finalAttrs.version;
rev = version;
sha256 = "0zd55bc8smmgk9j4cf0jpibb03lgsvl0knpwhplxbv93mcdnw7s0";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ lua5_1 ];
buildInputs = [ lua ];
patches = [
./environ-and-linux-is-kinda-posix.patch
@@ -43,4 +41,4 @@ stdenv.mkDerivation (finalAttrs: {
mainProgram = "tolua++";
platforms = with lib.platforms; unix;
};
})
}

View File

@@ -248,6 +248,10 @@ let
BOUNCE = option yes;
};
iommu = lib.optionalAttrs stdenv.hostPlatform.isAarch64 {
ARM_SMMU_V3_SVA = whenAtLeast "5.9" yes;
};
memtest = {
MEMTEST = yes;
};
@@ -798,7 +802,9 @@ let
FORTIFY_SOURCE = option yes;
# https://googleprojectzero.blogspot.com/2019/11/bad-binder-android-in-wild-exploit.html
DEBUG_LIST = yes;
DEBUG_LIST = whenOlder "6.6" yes;
# https://git.kernel.org/torvalds/c/aebc7b0d8d91bbc69e976909963046bc48bca4fd
LIST_HARDENED = whenAtLeast "6.6" yes;
HARDENED_USERCOPY = yes;
RANDOMIZE_BASE = option yes;

View File

@@ -142,14 +142,12 @@ optionalAttrs allowAliases aliases
runCommand name
{
nativeBuildInputs = [ jq ];
value = builtins.toJSON value;
inherit value;
preferLocalBuild = true;
__structuredAttrs = true;
}
''
valuePath="$TMPDIR/value"
printf "%s" "$value" > "$valuePath"
jq . "$valuePath" > $out
jq .value "$NIX_ATTRS_JSON_FILE" > $out
''
) { };
@@ -167,14 +165,12 @@ optionalAttrs allowAliases aliases
runCommand name
{
nativeBuildInputs = [ remarshal_0_17 ];
value = builtins.toJSON value;
inherit value;
preferLocalBuild = true;
__structuredAttrs = true;
}
''
valuePath="$TMPDIR/value"
printf "%s" "$value" > "$valuePath"
json2yaml "$valuePath" "$out"
json2yaml --unwrap value "$NIX_ATTRS_JSON_FILE" "$out"
''
) { };
@@ -192,14 +188,12 @@ optionalAttrs allowAliases aliases
runCommand name
{
nativeBuildInputs = [ remarshal ];
value = builtins.toJSON value;
inherit value;
preferLocalBuild = true;
__structuredAttrs = true;
}
''
valuePath="$TMPDIR/value"
printf "%s" "$value" > "$valuePath"
json2yaml "$valuePath" "$out"
json2yaml --unwrap value "$NIX_ATTRS_JSON_FILE" "$out"
''
) { };
@@ -938,8 +932,8 @@ optionalAttrs allowAliases aliases
python3
black
];
imports = builtins.toJSON (value._imports or [ ]);
value = builtins.toJSON (removeAttrs value [ "_imports" ]);
imports = value._imports or [ ];
value = removeAttrs value [ "_imports" ];
pythonGen = pkgs.writeText "pythonGen" ''
import json
import os
@@ -962,26 +956,20 @@ optionalAttrs allowAliases aliases
else:
return repr(value)
with open(os.environ["importsPath"], "r") as f:
imports = json.load(f)
if imports is not None:
for i in imports:
with open(os.environ["NIX_ATTRS_JSON_FILE"], "r") as f:
attrs = json.load(f)
if attrs["imports"] is not None:
for i in attrs["imports"]:
print(f"import {i}")
print()
with open(os.environ["valuePath"], "r") as f:
for key, value in json.load(f).items():
for key, value in attrs["value"].items():
print(f"{key} = {recursive_repr(value)}")
'';
preferLocalBuild = true;
__structuredAttrs = true;
}
''
export importsPath="$TMPDIR/imports"
printf "%s" "$imports" > "$importsPath"
export valuePath="$TMPDIR/value"
printf "%s" "$value" > "$valuePath"
cat "$valuePath"
python3 "$pythonGen" > $out
black $out
''
@@ -1011,14 +999,14 @@ optionalAttrs allowAliases aliases
python3Packages.xmltodict
libxml2Python
];
value = builtins.toJSON value;
inherit value;
pythonGen = pkgs.writeText "pythonGen" ''
import json
import os
import xmltodict
with open(os.environ["valuePath"], "r") as f:
print(xmltodict.unparse(json.load(f), full_document=${
with open(os.environ["NIX_ATTRS_JSON_FILE"], "r") as f:
print(xmltodict.unparse(json.load(f)["value"], full_document=${
if withHeader then "True" else "False"
}, pretty=True, indent=" " * 2))
'';
@@ -1026,8 +1014,6 @@ optionalAttrs allowAliases aliases
__structuredAttrs = true;
}
''
export valuePath="$TMPDIR/value"
printf "%s" "$value" > "$valuePath"
python3 "$pythonGen" > $out
xmllint $out > /dev/null
''

View File

@@ -1,6 +1,10 @@
{ callPackage }:
builtins.mapAttrs (_: callPackage ./generic.nix) rec {
wordpress = wordpress_7_0;
wordpress = wordpress_6_9;
wordpress_6_7 = {
version = "6.7.5";
hash = "sha256-IS9B6kwjWLYLybmWG2Ym5+JAgFExMqhcEQsJJF2puXg=";
};
wordpress_6_8 = {
version = "6.8.5";
hash = "sha256-N/WVUQxI0W3t4L+lr6KcuK8S2/Dj00WyXElMFfjIHYE=";
@@ -9,8 +13,4 @@ builtins.mapAttrs (_: callPackage ./generic.nix) rec {
version = "6.9.4";
hash = "sha256-22EK2fVJ4Ku1rz49XGcpxY2HRDllTN8K/qQlsuqJXzU=";
};
wordpress_7_0 = {
version = "7.0";
hash = "sha256-UwyP3rFvsK/9tT63J7agS7jRZmIcIAKeOJyrsBoPqSE=";
};
}

View File

@@ -8,15 +8,12 @@
writeScript,
}:
stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation rec {
pname = "wordpress";
inherit version;
__structuredAttrs = true;
strictDeps = true;
src = fetchurl {
url = "https://wordpress.org/wordpress-${finalAttrs.version}.tar.gz";
url = "https://wordpress.org/${pname}-${version}.tar.gz";
inherit hash;
};
@@ -53,11 +50,8 @@ stdenv.mkDerivation (finalAttrs: {
meta = {
homepage = "https://wordpress.org";
description = "Open source software you can use to create a beautiful website, blog, or app";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
bartoostveen
basvandijk
];
license = [ lib.licenses.gpl2Plus ];
maintainers = [ lib.maintainers.basvandijk ];
platforms = lib.platforms.all;
};
})
}

View File

@@ -1,26 +1,26 @@
{
"de_DE": {
"path": "de_DE",
"rev": "2214206",
"sha256": "03yrqgk0r6lin1hlq6lib4g5h358ckxf9g7rp0h3sfj6yb9l9b88",
"version": "7.0"
"rev": "1551261",
"sha256": "0d4kxfzvpyp9p4kl7mfhvm2pilh27rbvsd3hv3p0y8hl33r96avb",
"version": "6.6"
},
"fr_FR": {
"path": "fr_FR",
"rev": "2212303",
"sha256": "0ac31iy80qd3bd42k8454zmgsvl93sqvrb391y8l3bzk6k5h692r",
"version": "7.0"
"rev": "1566738",
"sha256": "1x4sxs40fal6qlbj9x8f0wwbji20729l25axcxx62rd98y47llg5",
"version": "6.6"
},
"ro_RO": {
"path": "ro_RO",
"rev": "2213066",
"sha256": "033dnjrjwnssl8a8izx5v94sdpfgyhx90pb5lfm340a6fgqk9j21",
"version": "7.0"
"rev": "1551215",
"sha256": "00i2grjcr7n2bqknff39ar7maz7gk7d17dqrl2p9smlhkj6m1bbp",
"version": "6.6"
},
"ru_RU": {
"path": "ru_RU",
"rev": "2210454",
"sha256": "0zm2b2n4i1rm7cf8n44q71nhizb9mxpwsy90zc6dy3yim3vl0gy4",
"version": "7.0"
"rev": "1551262",
"sha256": "0d5bdq99h9g6pcs3fw7czb4w4p60cjiizxqlbzan4p1g9056mmbl",
"version": "6.6"
}
}

View File

@@ -6,16 +6,16 @@
"version": "2.5.3"
},
"akismet": {
"path": "akismet/tags/5.7",
"rev": "3514187",
"sha256": "0b68w62wy0v7qi9q0hfyxhmqilznagq43f21r3ym53ga4nm5vp5i",
"version": "5.7"
"path": "akismet/tags/5.6",
"rev": "3394510",
"sha256": "15cmbbimwr1d3x7cadrzvish2m4js8hyyi9jd3ms2xffmhpxnm79",
"version": "5.6"
},
"antispam-bee": {
"path": "antispam-bee/tags/2.11.11",
"rev": "3515277",
"sha256": "1hp7jhrhvrdqrdabkbd15b5paaycxqqqxjvzi23lcss9fcxh2rh4",
"version": "2.11.11"
"path": "antispam-bee/tags/2.11.8",
"rev": "3332199",
"sha256": "1hr9wd79v917xl1gg21pd7a10xhvckbzvcpl0hg5c1av157vdcac",
"version": "2.11.8"
},
"async-javascript": {
"path": "async-javascript/tags/2.21.08.31",
@@ -24,16 +24,16 @@
"version": "2.21.08.31"
},
"breeze": {
"path": "breeze/tags/2.5.3",
"rev": "3541694",
"sha256": "1fbfypv8gajpk2rkds8g8ama1235m3vx5na42wyjlkbkag0mcdm4",
"version": "2.5.3"
"path": "breeze/tags/2.2.24",
"rev": "3446924",
"sha256": "19zypbqjwsbabdwq31rlirfvqsqb33kx24h0y7jwz95j2q45rba6",
"version": "2.2.24"
},
"co-authors-plus": {
"path": "co-authors-plus/tags/4.0.2",
"rev": "3518612",
"sha256": "0bmxpkwdm84zsy29wvzdki4ss06bgpviwgjn44fzmlbjnr09ffjm",
"version": "4.0.2"
"path": "co-authors-plus/tags/3.7.0",
"rev": "3381038",
"sha256": "04p6adhv60ngn42vpxcncanwpridwkxpw91ipxgibvaaj2p72v01",
"version": "3.7.0"
},
"code-syntax-block": {
"path": "code-syntax-block/tags/3.2.1",
@@ -42,10 +42,10 @@
"version": "3.2.1"
},
"cookie-notice": {
"path": "cookie-notice/tags/3.0.6",
"rev": "3539409",
"sha256": "0c5r0zi45nb62yb82ywd0532m41jgj2k218v8gbj285lmx9imly6",
"version": "3.0.6"
"path": "cookie-notice/tags/2.5.11",
"rev": "3416491",
"sha256": "0g9xy3dgywnqv2v0wd34rixdqavkrp8zkv6bm8h6kh5q77n168a5",
"version": "2.5.11"
},
"disable-xml-rpc": {
"path": "disable-xml-rpc/tags/1.0.1",
@@ -60,16 +60,16 @@
"version": "1.4.0"
},
"gutenberg": {
"path": "gutenberg/tags/23.2.2",
"rev": "3542978",
"sha256": "0w71p6yng9k7lkg5lfys087xr9fkca96gyabh3c2mh5i1c5qa6wf",
"version": "23.2.2"
"path": "gutenberg/tags/22.5.0",
"rev": "3453880",
"sha256": "164mxbn55kq4cfl0maj63y5slv7rq1krzd4b3schz94bd5zqf10s",
"version": "22.5.0"
},
"hcaptcha-for-forms-and-more": {
"path": "hcaptcha-for-forms-and-more/tags/4.26.0",
"rev": "3524788",
"sha256": "0l2942in25dpgpr7n57l9x99kbhlxlz1qfcg2j1lgp8fvjlv9xb8",
"version": "4.26.0"
"path": "hcaptcha-for-forms-and-more/tags/4.23.0",
"rev": "3456290",
"sha256": "222ae768d76ba2e447185619357e5adc0282f14451534b11dcd6a2358f0d212e",
"version": "4.23.0"
},
"hello-dolly": {
"path": "hello-dolly/tags/1.7.2",
@@ -84,10 +84,10 @@
"version": "3.1.3"
},
"jetpack": {
"path": "jetpack/tags/15.8",
"rev": "3523625",
"sha256": "0cf9iqwcwh86vbqsh8863p6ph8bzf7n9a6vcqg73hzhkkzmpiv9j",
"version": "15.8"
"path": "jetpack/tags/15.5",
"rev": "3453646",
"sha256": "0z0zlpfba4jd42q6kxc964y6xg8jqy84j655143kl80zjq7jwdq3",
"version": "15.5"
},
"jetpack-lite": {
"path": "jetpack-lite/tags/3.0.3",
@@ -96,22 +96,22 @@
"version": "3.0.3"
},
"lightbox-photoswipe": {
"path": "lightbox-photoswipe/tags/5.8.3",
"rev": "3470492",
"sha256": "003lbsx2jssvw7pbka96amfwqa3ir46jf40yly4h65xs2l588r58",
"version": "5.8.3"
"path": "lightbox-photoswipe/tags/5.8.2",
"rev": "3427659",
"sha256": "04cm39mdpx304qsf9l672b90qxv20mk1qsyxya53fvh8fbw6dlan",
"version": "5.8.2"
},
"login-lockdown": {
"path": "login-lockdown/tags/2.16",
"rev": "3506152",
"sha256": "16xflxfsajkw8fvfllvnmnirks3x0i8dsr4k5p46swm810rjwm4y",
"version": "2.16"
"path": "login-lockdown/tags/2.15",
"rev": "3410032",
"sha256": "0v2qncagf67g5srjkcbnjq9d3j6vdvf7hnkihc39a6m7pbkcbb2n",
"version": "2.15"
},
"mailpoet": {
"path": "mailpoet/tags/5.27.0",
"rev": "3537320",
"sha256": "0x9kwi6ynk22pw2m5gh0229ff0r4k0n3k02dh3ii664l2y9hy35q",
"version": "5.27.0"
"path": "mailpoet/tags/5.20.0",
"rev": "3452849",
"sha256": "169a54lfmc2bkwvk757qc618ir87ld1nkpaqhiq4cc9sjf5vydhh",
"version": "5.20.0"
},
"merge-minify-refresh": {
"path": "merge-minify-refresh/tags/2.15",
@@ -138,10 +138,10 @@
"version": "2.0.3"
},
"sqlite-database-integration": {
"path": "sqlite-database-integration/tags/2.2.23",
"rev": "3503394",
"sha256": "1glrya18mpfbj3yjx4rlwcxz8zls1fcdlw9lfh27p6wmhc40qgx3",
"version": "2.2.23"
"path": "sqlite-database-integration/tags/2.2.17",
"rev": "3451878",
"sha256": "0glgkscnyxgm6f7k2760wnaz9j5y0hrkgwwkwcbx26qlzlpgsb9r",
"version": "2.2.17"
},
"static-mail-sender-configurator": {
"path": "static-mail-sender-configurator/tags/0.10.0",
@@ -150,10 +150,10 @@
"version": "0.10.0"
},
"surge": {
"path": "surge/tags/1.2.1",
"rev": "3524687",
"sha256": "0rrjvafyv5ljfc883x1h5z4vazfca7cf0vnizrxwwr95qai5rjjd",
"version": "1.2.1"
"path": "surge/tags/1.1.0",
"rev": "3370320",
"sha256": "1j7yc512317ljl50qls6pbhmcvwqlxbq6p2k8xaxnvzmxkb3358x",
"version": "1.1.0"
},
"tc-custom-javascript": {
"path": "tc-custom-javascript/tags/1.2.3",
@@ -162,10 +162,10 @@
"version": "1.2.3"
},
"webp-converter-for-media": {
"path": "webp-converter-for-media/tags/6.6.0",
"rev": "3538008",
"sha256": "004x7xyzbmbqh9lwnb6bz2s8a1599kjqpg4prbccjmapz80l4jvk",
"version": "6.6.0"
"path": "webp-converter-for-media/tags/6.5.3",
"rev": "3445921",
"sha256": "1pni7cw8fa20zlv173618qj4whg2k7mpsn077kd47c8505flckyi",
"version": "6.5.3"
},
"webp-express": {
"path": "webp-express/tags/0.25.14",
@@ -174,22 +174,22 @@
"version": "0.25.14"
},
"wordpress-seo": {
"path": "wordpress-seo/tags/27.6",
"rev": "3529588",
"sha256": "1cnvmzrrnf5f0z6c0drjv935yn43pnbmxmbj27sd0ffmmdv9c9r6",
"version": "27.6"
"path": "wordpress-seo/tags/26.9",
"rev": "3452706",
"sha256": "1inirysnpj4mrzk4k5h2wascmfzawk69i9z6mlwvzx4xg0as0asl",
"version": "26.9"
},
"worker": {
"path": "worker/tags/4.9.34",
"rev": "3528692",
"sha256": "1836v703qyk49r74ym1xc9wbwj1d0sdd7z4s5w4vv9zgng5jg0s5",
"version": "4.9.34"
"path": "worker/tags/4.9.30",
"rev": "3453142",
"sha256": "12fb7p9aba1692gys5bx23x16s46n65vyn47lifagqyrmkq4k4g9",
"version": "4.9.30"
},
"wp-change-email-sender": {
"path": "wp-change-email-sender/tags/3.3.1",
"rev": "3532899",
"sha256": "031g6jp3irpm69hav8hsbmfr43g31rc2dzrryf7mixh728h5vbqg",
"version": "3.3.1"
"path": "wp-change-email-sender/tags/3.2",
"rev": "3426289",
"sha256": "1bczsf95b6r8mb3rzfplsvjzlbwzahs421xzz7fcjz1jpxw1praw",
"version": "3.2"
},
"wp-fail2ban": {
"path": "wp-fail2ban/tags/5.4.1",
@@ -204,10 +204,10 @@
"version": "2.0.0"
},
"wp-fastest-cache": {
"path": "wp-fastest-cache/tags/1.4.9",
"rev": "3540132",
"sha256": "1jd2sma8y3lzsqw36zzhal8xf3ksn9v7c6bzdpdimaz4ddhcwqsq",
"version": "1.4.9"
"path": "wp-fastest-cache/tags/1.4.6",
"rev": "3453207",
"sha256": "1gjf5r89j4zs5ddsf3z8f68y73kznmnl5hisa1pqhwdk5sjkiayc",
"version": "1.4.6"
},
"wp-gdpr-compliance": {
"path": "wp-gdpr-compliance/tags/2.0.22",
@@ -222,16 +222,16 @@
"version": "3.9.30"
},
"wp-mail-smtp": {
"path": "wp-mail-smtp/tags/4.8.0",
"rev": "3508233",
"sha256": "1wm4vv303rapbw61hlb12h8y1vxs1sh7ak7xajq1vzlwyfkab3h8",
"version": "4.8.0"
"path": "wp-mail-smtp/tags/4.7.1",
"rev": "3403481",
"sha256": "1701c6ii4rvxi32fwlvdwmkw52x4k7x10hals5q32nml9i227jdn",
"version": "4.7.1"
},
"wp-statistics": {
"path": "wp-statistics/tags/14.16.8",
"rev": "3537179",
"sha256": "19sv54i8r5v5lvq7mxfm2gqvy68pw95jx2zv3izls15zl868qcal",
"version": "14.16.8"
"path": "wp-statistics/tags/14.16",
"rev": "3406504",
"sha256": "1cncnmvq9y4jzbl2rlzpncn12q6cfpwrsbgb68q5ynx64sjfkhrh",
"version": "14.16"
},
"wp-swiper": {
"path": "wp-swiper/trunk",
@@ -240,15 +240,15 @@
"version": "1.4.3"
},
"wp-user-avatars": {
"path": "wp-user-avatars/tags/1.4.1",
"rev": "3493554",
"path": "wp-user-avatars/trunk",
"rev": "2540784",
"sha256": "1g21nl6xs9zyq0ainjwa06wl90975l8f9rj0fa20zkmw17w2mdgl",
"version": "1.4.1"
},
"wpforms-lite": {
"path": "wpforms-lite/tags/1.10.0.5",
"rev": "3532389",
"sha256": "1gcglajl782mx8rr5196mlp42avlcqnw4riy4fnj0dcfvbi8jlmv",
"version": "1.10.0.5"
"path": "wpforms-lite/tags/1.9.9.2",
"rev": "3449730",
"sha256": "00xbq2ndxg82slxl7lc0nwxfp22v3zvamq8pcz3wif89n82nl49d",
"version": "1.9.9.2"
}
}

View File

@@ -1,33 +1,33 @@
{
"twentynineteen": {
"path": "twentynineteen/3.3",
"rev": "329585",
"sha256": "1h7a0w716spxhqf0pm21056s8z3pjxljhmx9by8lfxkhzsdpb5js",
"version": "3.3"
"path": "twentynineteen/3.2",
"rev": "301643",
"sha256": "1xvyvkfzf0lzq55g24j5rx40jdv84jsbcf4bhc9y358cwcy4cvh4",
"version": "3.2"
},
"twentytwenty": {
"path": "twentytwenty/3.1",
"rev": "329586",
"sha256": "1gibv7zhjn7jmdx3cpxg47kf6j93xdckgh3n3brq6gi6n2746ln4",
"version": "3.1"
"path": "twentytwenty/3.0",
"rev": "301649",
"sha256": "02wqwxl6zdbs64j6zapmrxdfhai29mk6fq5sbdrmjy9yc26vyn3s",
"version": "3.0"
},
"twentytwentyfive": {
"path": "twentytwentyfive/1.5",
"rev": "329589",
"sha256": "0vi6ing7d47qsdxgxvynwvq38dn8c7p0i8gd85hcik7bq82gjdzx",
"version": "1.5"
"path": "twentytwentyfive/1.4",
"rev": "301650",
"sha256": "1knpjhql8ccczjclg2wcacjp5adhxafh4bnw5mrgf34wghna0j6w",
"version": "1.4"
},
"twentytwentyfour": {
"path": "twentytwentyfour/1.5",
"rev": "329588",
"sha256": "0v91qmk5spn2zchyczpw8np1xam02wp3kg0q0h3p9rxn24hnbnlw",
"version": "1.5"
"path": "twentytwentyfour/1.4",
"rev": "301651",
"sha256": "1agfpdazn91win42k75gj8aznf4d86cmqk8kvv6md9z4zcxw5nzn",
"version": "1.4"
},
"twentytwentyone": {
"path": "twentytwentyone/2.8",
"rev": "329587",
"sha256": "1mi5gzjxkivjff4r21qikkmc7l2brlhjmdm2aada3g9ybplwjx6a",
"version": "2.8"
"path": "twentytwentyone/2.7",
"rev": "301652",
"sha256": "14n3lsm698phfyp3mjkdz82s574zpnr8nijxfsbbxim136x4fmn8",
"version": "2.7"
},
"twentytwentythree": {
"path": "twentytwentythree/1.6",

View File

@@ -9,12 +9,9 @@
libx11,
spirv-headers,
vulkan-headers,
pkgsi686Linux,
vkbasalt32,
}:
let
vkbasalt32 = pkgsi686Linux.vkbasalt;
in
stdenv.mkDerivation (finalAttrs: {
pname = "vkbasalt";
version = "0.3.2.10";

View File

@@ -2305,7 +2305,6 @@ mapAliases {
wmii_hg = throw "'wmii_hg' has been renamed to/replaced by 'wmii'"; # Converted to throw 2025-10-27
wolfssl = throw "'wolfssl' has been removed because it has an unclear licensing situation and no remaining users in Nixpkgs"; # Added 2026-04-03
woof = throw "'woof' has been removed as it is broken and unmaintained upstream"; # Added 2025-09-04
wordpress_6_7 = throw "'wordpress_6_7' has been removed in favor of the new release, as it is unmaintained upstream"; # Added 2026-05-22
worldengine-cli = throw "'worldengine-cli' has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-04
wpa_supplicant_ro_ssids = throw "'wpa_supplicant_ro_ssids' has been renamed to/replaced by 'wpa_supplicant'"; # Converted to throw 2025-10-27
wrangler_1 = throw "'wrangler_1' has been removed as it has been abandoned upstream and has known vulnerabilities, consider using 'wrangler' instead."; # Added 2026-02-01

View File

@@ -2265,6 +2265,10 @@ with pkgs;
pinentry = if stdenv.hostPlatform.isDarwin then pinentry_mac else pinentry-gtk2;
};
gnupg = gnupg24;
gnupgMinimal = gnupg.override {
enableMinimal = true;
guiSupport = false;
};
gnused = callPackage ../tools/text/gnused { };
@@ -3212,6 +3216,10 @@ with pkgs;
vimwiki-markdown = python3Packages.callPackage ../tools/misc/vimwiki-markdown { };
vkbasalt = callPackage ../tools/graphics/vkbasalt {
vkbasalt32 = pkgsi686Linux.vkbasalt;
};
voxtype-vulkan = callPackage ../by-name/vo/voxtype/package.nix { vulkanSupport = true; };
voxtype-onnx = callPackage ../by-name/vo/voxtype/package.nix { onnxSupport = true; };
@@ -4757,6 +4765,10 @@ with pkgs;
luarocks = luaPackages.luarocks;
luarocks-nix = luaPackages.luarocks-nix;
toluapp = callPackage ../development/tools/toluapp {
lua = lua5_1; # doesn't work with any other :(
};
### END OF LUA
### CuboCore
@@ -11402,9 +11414,9 @@ with pkgs;
inherit (callPackage ../servers/web-apps/wordpress { })
wordpress
wordpress_6_7
wordpress_6_8
wordpress_6_9
wordpress_7_0
;
wordpressPackages = recurseIntoAttrs (

View File

@@ -9997,11 +9997,11 @@ with self;
DBI = buildPerlPackage {
pname = "DBI";
version = "1.644";
version = "1.648";
src = fetchurl {
url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBI-1.644.tar.gz";
hash = "sha256-Ipe5neCeZwhmQLWQaZ4OmC+0adpjqT/ijcFHgtt6U8g=";
url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBI-1.648.tgz";
hash = "sha256-7yZqrWAQzi6rt+Rl69c8owILxYFQ9pib2Jwrj5usaoY=";
};
env = lib.optionalAttrs stdenv.cc.isGNU {

View File

@@ -20141,8 +20141,6 @@ self: super: with self; {
trove-classifiers = callPackage ../development/python-modules/trove-classifiers { };
trsfile = callPackage ../development/python-modules/trsfile { };
trubar = callPackage ../development/python-modules/trubar { };
trueskill = callPackage ../development/python-modules/trueskill { };