Merge pull request #299576 from SuperSandro2000/nix-ld-config

nixos/nix-ld: move default libraries to config
This commit is contained in:
Jörg Thalheim 2024-03-27 23:31:03 +01:00 committed by GitHub
commit 6d64d66af1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 24 additions and 21 deletions

View File

@ -146,6 +146,9 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
- `programs.nix-ld.libraries` no longer sets `baseLibraries` via the option's default but in config and now merges any additional libraries with the default ones.
This means that `lib.mkForce` must be used to clear the list of default libraries.
- `pdns` was updated to version [v4.9.x](https://doc.powerdns.com/authoritative/changelog/4.9.html), which introduces breaking changes. Check out the [Upgrade Notes](https://doc.powerdns.com/authoritative/upgrading.html#to-4-9-0) for details.
- `unrar` was updated to v7. See [changelog](https://www.rarlab.com/unrar7notes.htm) for more information.

View File

@ -3,7 +3,7 @@ let
cfg = config.programs.nix-ld;
nix-ld-libraries = pkgs.buildEnv {
name = "lb-library-path";
name = "ld-library-path";
pathsToLink = [ "/lib" ];
paths = map lib.getLib cfg.libraries;
# TODO make glibc here configurable?
@ -13,25 +13,6 @@ let
extraPrefix = "/share/nix-ld";
ignoreCollisions = true;
};
# We currently take all libraries from systemd and nix as the default.
# Is there a better list?
baseLibraries = with pkgs; [
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
];
in
{
meta.maintainers = [ lib.maintainers.mic92 ];
@ -41,7 +22,7 @@ in
libraries = lib.mkOption {
type = lib.types.listOf lib.types.package;
description = lib.mdDoc "Libraries that automatically become available to all programs. The default set includes common libraries.";
default = baseLibraries;
default = [ ];
defaultText = lib.literalExpression "baseLibraries derived from systemd and nix dependencies.";
};
};
@ -57,5 +38,24 @@ in
NIX_LD = "/run/current-system/sw/share/nix-ld/lib/ld.so";
NIX_LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib";
};
# We currently take all libraries from systemd and nix as the default.
# Is there a better list?
programs.nix-ld.libraries = with pkgs; [
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
];
};
}