1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-06-29 04:26:32 +03:00
Commit graph

44920 commits

Author SHA1 Message Date
Franz Pletz
e1635a35b9
nixos/nginx: add option typesHashMaxSize (#341072) 2024-09-26 14:42:26 +02:00
Lucas Chaim
9e6338ffaf nixos/tailscale: add authKeyParameters
Adds `config.services.tailscale.authKeyParameters`
2024-09-26 07:28:19 -03:00
Izorkin
9343e69f8f
nixos/tests/nginx-mime: add check optimal size of types_hash 2024-09-26 10:51:59 +03:00
Rolf Schröder
8d15ee11ac tests/nextflow: init 2024-09-26 10:10:03 +03:00
K900
26afe129f5
nixos/graphics: fix typo (#344551) 2024-09-26 08:18:28 +03:00
Bjørn Forsman
732d36522f nixos/influxdb2: wait until service is ready
Factor out part of the provisioning script into a
wait-until-service-is-ready script, and put it unconditionally in
front of ExecStartPost=, so that services that depend on influxdb2 are
not started until influxdb2 responds to requests.

Fixes https://github.com/NixOS/nixpkgs/issues/317017 ("Scrutiny tries to start before influxdb has started")
2024-09-26 06:54:54 +02:00
Will Fancher
ea2838e1ce
nixos/qemu-vm: Ensure 9pnet_virtio module is loaded for shared dirs (#343574) 2024-09-25 23:11:08 -04:00
Lin Jian
11f1d318f6
nixos/graphics: fix typo
Searching hardware.*.extraPackages on search.nixos.org[1] shows there
is only hardware.graphics.extraPackages.

[1]: https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=hardware.*.extraPackages
2024-09-26 09:08:43 +08:00
Emily
77eb5dfe22 cudaPackages_{10*,11*}: warn about upcoming removal
We currently package all CUDA versions from 10.0 onwards. In
some cases, CUDA is the only thing preventing us from removing old
versions of GCC. Since we currently don’t deprecate or remove CUDA
versions, this will be an increasing drag on compiler maintenance in
Nixpkgs going forward unless we establish a sensible policy. After
discussing this with @SomeoneSerge in the context of old versions
of GCC, I learned that there was already a desire to remove at least
versions prior to 11.3, as those versions were only packaged in the
old “runfile” format, but that it was blocked on someone doing
the work to warn about the upcoming deprecation for a release cycle.

This change adds a release note and warnings indicating that CUDA 10.x
and 11.x will be removed in Nixpkgs 25.05, about 8 months from now.

I chose this version cut‐off because these versions of CUDA require
GCC < 12. GCC releases a major version every year, and seems to
support about four releases at a time, releasing the last update to
the oldest version and marking it as unsupported on their site around
the time of the release of the next major version. Therefore, by the
time of the 25.05 release, we should expect GCC 15 to be released
and GCC 11 to become unsupported. Adding a warning and communicating
the policy of only shipping CUDA versions that work with supported
compilers in the release notes means that we should be able to
clean up old versions as required without any issue or extensive
deprecation period in future, without obligating us to do so if there
is a strongly compelling reason to be more lenient. That should help
solve both shipping an indefinitely‐growing list of CUDA versions
and an indefinitely‐growing list of GCC and LLVM versions.

As I’m not a user of CUDA myself, I can’t be sure of how sensible
this version support policy is, but I think it’s fair to say that
it’s reasonable for Nixpkgs to choose not to maintain compiler
versions that are unsupported upstream just for the sake of versions
of CUDA that are also unmaintained. CUDA 11.x has not received an
update for two years already, and would only become unsupported in
Nixpkgs in over half a year’s time.

CUDA 10.x is currently unused in‐tree except for the unmaintained
Caffe and NVIDIA DCGM, which depends on multiple CUDA versions solely
so that it can provide plugins for those versions. The latest DCGM
version has already removed support for CUDA 10.x and is just awaiting
an update in Nixpkgs. They maintain a list of supported versions to
build plugins for in their CMake build system, so it should be simple
enough for us to only build support for the versions of CUDA that we
support in Nixpkgs.

From what I can tell, CUDA 11.x is currently used by the following
packages other than DCGM:

* `catboost`, because of
  <https://github.com/catboost/catboost/issues/2540>. It looks like
  upstream has since redesigned this part of their build system, so
  perhaps the problem is no longer present, or would be easier to fix.

* `magma_2_6_2`, an old version from before upstream added CUDA
  12 support. This seems okay to break to me; that version is not
  maintained and will never be updated for new CUDA versions, and
  the CUDA support is optional.

* `paddlepaddle`, which, uh, also requires OpenSSL 1.1 of all
  things. <https://github.com/PaddlePaddle/Paddle/issues/67571>
  states that PaddlePaddle supports up to 12.3.

* `python3Packages.cupy`, which is listed as “possibly incompatible
  with cutensor 2.0 that comes with `cudaPackages_12`”. I’m
  not sure what the “possibly” means here, but according to
  <https://github.com/cupy/cupy/tree/v13.3.0?tab=readme-ov-file#installation>
  they ship binary wheels using CUDA 12.x so I think this should
  be fine.

* `python3Packages.tensorrt`, which supports CUDA 12.x going by
  <https://github.com/NVIDIA/TensorRT/blob/release/10.4/CMakeLists.txt#L111>.

* TensorFlow, which has a link to
  <https://www.tensorflow.org/install/source#gpu> above the
  `python3Packages.tensorflow-bin` definition, but that page lists
  the versions we package as supporting CUDA 12.x.

Given the years since CUDA 11.x received any update upstream, and the
seemingly very limited set of packages that truly require it, I think
the policy of being able to drop versions that require unsupported
compilers starting from the next Nixpkgs release is a reasonable
one, but of course I’m open to feedback from the CUDA maintainers
about this.
2024-09-26 00:38:18 +01:00
Will Fancher
4e54d10912 nixos/qemu-vm: Ensure 9pnet_virtio module is loaded for shared dirs
When `diskImage = null`, the root fs is a tmpfs instead of
`/dev/vda`. Thus, it doesn't have to wait for virtio modules to load
before being mounted. The root fs is a dependency of shared
directories by nature of being their parent directory. Without
depending on `/dev/vda`, these shared directories may attempt to mount
without virtio modules being loaded.
2024-09-25 17:37:34 -04:00
Kevin Cox
0dcfe7e565
nixos.mautrix-meta: Update config to 0.4 format
The package has been updated to 0.4 which will result in an auto-migration of the config. This updates our config to match the new expected format. Assertions have been added to warn users that they need to migrate their configuration.
2024-09-25 17:35:19 -04:00
Will Fancher
1f34534920
Systemd tpm fixes (#343307) 2024-09-25 17:17:57 -04:00
Izorkin
d856c0374d
nixos/nginx: add option typesHashMaxSize 2024-09-25 20:57:13 +03:00
Artturin
ecd4ea0ab2
nixos/auto-upgrade: correct typo in assertion message (#295125) 2024-09-25 20:41:02 +03:00
Patrick Collins
448240f6e2
nixos/nfsd: fix typo that breaks services.nfs.settings (#342200)
Currently will always fail when nfs.server.hostName is specified alongside nfs.settings.
2024-09-25 20:33:23 +03:00
Artturin
f1901cf0b0
nixos/cupsd: typo (#330884) 2024-09-25 20:27:19 +03:00
Robert James Hernandez
57b9f12728 nixos/scion: init scion ip gateway config in test
create a scion-ip-gateway between scion04 and scion05
2024-09-25 19:08:33 +02:00
Robert James Hernandez
6c527bf0fb nixos/scion: init scion-ip-gateway module 2024-09-25 19:08:33 +02:00
Robert James Hernandez
828ce9b123 nixos/scion: breakout bootstrap.sh in freestanding 2024-09-25 19:08:33 +02:00
Sandro
6ac83e9406
nixos/mailman: configure web frontend with postfix when enablePostfix… (#333295) 2024-09-25 18:33:50 +02:00
Hustler One
29449deaf7 Add more options to unl0kr 2024-09-25 18:01:10 +02:00
Franz Pletz
2ae5404ed9
scion: vmTest should fail if certs expire (#342107) 2024-09-25 17:16:46 +02:00
Bruno BELANYI
b2512bb043
nixos/stirling-pdf: add missing dependency ghostscript (#344331) 2024-09-25 14:09:00 +01:00
Daniel Sidhion
15ddcc64cd
nixos/tigerbeetle: add docs on upgrading, add more systemd hardening (#332899) 2024-09-24 23:56:38 -07:00
DCsunset
68d108bb04 nixos/stirling-pdf: add missing dependency ghostscript 2024-09-25 01:01:33 +00:00
Artturin
e0464e4788 treewide: replace stdenv.is with stdenv.hostPlatform.is
In preparation for the deprecation of `stdenv.isX`.

These shorthands are not conducive to cross-compilation because they
hide the platforms.

Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way

One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059

There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.

```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
2024-09-25 00:04:37 +03:00
Martin Weinelt
aaa7fb5840
nixos/{pretix,pretalx}: set up log rotation (#343982) 2024-09-24 22:48:17 +02:00
Philip Taron
a829e3a287
nixos/services.snapserver: fix regression introduced in #339099 by renaming local function (#344243) 2024-09-24 13:37:17 -07:00
Maximilian Bosch
2a0f7e30e8
Merge: Revert "nixos/profiles/base: install vim w/nix-syntax plugin" (#343800) 2024-09-24 22:31:02 +02:00
Robert Schütz
eb28b94bd1
nixos/iptsd: Touch was renamed to Touchscreen in v3 (#344036) 2024-09-24 09:59:14 -07:00
Robert Schütz
7cdda564e0 nixos/immich: override machine-learning with cfg.package
Otherwise they could use different versions:

    nix-repl> (immich.overrideAttrs { version = "0"; }).machine-learning.version
    "1.115.0"
2024-09-24 09:53:24 -07:00
Philip Taron
48d6e1118b
nixos/services.snapserver: fix regression introduced in #339099 by renaming local function 2024-09-24 09:08:43 -07:00
K900
17e1a5cf5d nixos/doc: add release note for DT matching changes
See #341883.
2024-09-24 14:19:54 +03:00
Alois Wohlschlager
3616cfb8d9 replaceDependencies: add support for ca-derivations
Unlike regular input-addressed or fixed-output derivations, floating and
deferred derivations do not have their store path available at evaluation time,
so their outPath is a placeholder. The following changes are needed for
replaceDependencies to continue working:
* Detect the placeholder and retrieve the store path using another IFD hack
  when collecting the rewrite plan.
* Try to obtain the derivation name needed for replaceDirectDependencies from
  the derivation arguments if a placeholder is detected.
* Move the length mismatch detection to build time, since the placeholder has a
  fixed length which is unrelated to the store path.
2024-09-24 12:20:15 +02:00
Alois Wohlschlager
59ca239d1a replaceDirectDependencies: split off from replaceDependencies
This allows both swapping out and reusing the rewrite machinery.
2024-09-24 12:20:15 +02:00
Alois Wohlschlager
fee5c7e1c2 replaceDependencies: add tests
The tests cannot be directly built by Hydra, because replaceDependencies relies
on IFD. Instead, they are put inside a NixOS test where they are built on the
guest.
2024-09-24 12:20:15 +02:00
Alois Wohlschlager
63d6a7037c nixos/top-level: wire up cutoffPackages for replaceDependencies
Move replaceRuntimeDependencies to the replaceDependencies namespace,
where the structure is more consistent with the replaceDependencies
function. This makes space for wiring up cutoffPackages as an option
too.

By default, the system's initrd is excluded. The replacement process does not
work properly anyway due to the structure of the initrd (the files being copied
into it, and it being compressed). In the worst case (which has been observed
to actually occur in practice), a store path makes it into the incompressible
parts of the archive, checksums are broken, and the system won't boot.
2024-09-24 12:20:15 +02:00
Alois Wohlschlager
d3abae8dee nixos/top-level: improve replaceRuntimeDependencies
Instead of iterating over all replacements and applying them one by one,
use the newly introduced replaceDependencies function to apply them all
at once for replaceRuntimeDependencies. The advantages are twofold in
case there are multiple replacements:
* Performance is significantly improved, because there is only one pass
  over the closure to be made.
* Correctness is improved, because replaceDependencies also replaces
  dependencies of the replacements themselves if applicable.

Fixes: https://github.com/NixOS/nixpkgs/issues/4336
2024-09-24 12:20:15 +02:00
Yt
d026e3fa1a
immich: init at 1.115.0; nixos/immich: init module (#324127) 2024-09-24 05:56:12 -04:00
K900
e9a78e0285 nixos/installer/tools: only enable tools if nix is enabled
This restores the old behavior of being able to remove
everything nix-related with just `nix.enable = false`.

Fixes #344083.
2024-09-24 08:19:36 +03:00
Aleksana
f56dcfffb6
doc: 24.11: fix taskwarrior typo (#343217) 2024-09-24 11:27:23 +08:00
Jan van Brügge
9d834dc4ec
nixos/tests/immich: init tests 2024-09-23 22:38:03 +02:00
Jan van Brügge
cedcd9f4f0
nixos/immich: init module 2024-09-23 22:38:02 +02:00
Robert Schütz
030f88a326 nixos/iptsd: Touch was renamed to Touchscreen in v3 2024-09-23 12:31:51 -07:00
Anthony ROUSSEL
c1104aee4d nixos/gns3-server: disable SystemD hardening 2024-09-23 20:46:18 +02:00
Anthony Roussel
77edd2b066 nixos/gns3-server: disable SystemD DisableUser
Usage of DynamicUser is compatible with SUID wrappers.
GNS3 needs to call ubridge via its SUID Wrapper to work.
2024-09-23 20:46:17 +02:00
Anthony Roussel
46044101f3 nixos/gns3-server: fix ubridge_path 2024-09-23 20:46:17 +02:00
Simon Hauser
32cc042368
mariadb: 10.5.26, 10.6.19, 10.11.9, 11.4.3 (#334878)
* mariadb: 10.5.26, 10.6.19, 10.11.9, 11.4.3

* nixos/tests/automysqlbackup: nixfmt

* nixos/automysqlbackup: fix tests

* nixos/tests/mariadb-galera: nixfmt

* nixos/tests/mariadb-galera: fix test failing with new default IPv6 configuration
2024-09-23 20:00:19 +02:00
Luflosi
d979b45371
nixos/iso-image: avoid collision between GRUB2 versions
4b836fb680 added `pkgs.grub2_efi` to `environment.systemPackages` so that it would be in the Nix store and available for install. But `pkgs.grub2` is already in the list. This causes the various paths of the two GRUB2 versions to collide. To fix this, put `pkgs.grub2_efi` into `system.extraDependencies` instead. This should achieve the same effect of adding the second GRUB2 version to the Nix store without the paths colliding in the environment.

To reproduce the problem, execute `nix-build nixos -I nixos-config=nixos/modules/installer/cd-dvd/iso-image.nix -A config.system.build.isoImage` and look for messages like
```
warning: collision between `/nix/store/9jk1p9n5dl431lcm4w9p6x6x8a00dm0q-grub-2.12/bin/grub-install' and `/nix/store/809l0i6aydg4zhn3kqf723brjyp2qm8h-grub-2.12/bin/grub-install'
```
2024-09-23 17:59:26 +02:00
Martin Weinelt
9b9ca77050
nixos/logrotate: harden systemd unit (#339050) 2024-09-23 17:49:29 +02:00