mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-18 22:56:00 +01:00
Rework withExtensions / buildEnv to handle currently enabled
extensions better and make them compatible with override. They now
accept a function with the named arguments enabled and all, where
enabled is a list of currently enabled extensions and all is the set
of all extensions. This gives us several nice properties:
- You always get the right version of the list of currently enabled
extensions
- Invocations chain
- It works well with overridden PHP packages - you always get the
correct versions of extensions
As a contrived example of what's possible, you can add ImageMagick,
then override the version and disable fpm, then disable cgi, and
lastly remove the zip extension like this:
{ pkgs ? (import <nixpkgs>) {} }:
with pkgs;
let
phpWithImagick = php74.withExtensions ({ all, enabled }: enabled ++ [ all.imagick ]);
phpWithImagickWithoutFpm743 = phpWithImagick.override {
version = "7.4.3";
sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ=";
fpmSupport = false;
};
phpWithImagickWithoutFpmZip743 = phpWithImagickWithoutFpm743.withExtensions (
{ enabled, all }:
lib.filter (e: e != all.zip) enabled);
phpWithImagickWithoutFpmZipCgi743 = phpWithImagickWithoutFpmZip743.override {
cgiSupport = false;
};
in
phpWithImagickWithoutFpmZipCgi743
|
||
|---|---|---|
| .. | ||
| atlassian | ||
| icingaweb2 | ||
| ihatemoney | ||
| codimd.nix | ||
| cryptpad.nix | ||
| documize.nix | ||
| dokuwiki.nix | ||
| frab.nix | ||
| gerrit.nix | ||
| gotify-server.nix | ||
| grocy.nix | ||
| grocy.xml | ||
| jirafeau.nix | ||
| limesurvey.nix | ||
| matomo-doc.xml | ||
| matomo.nix | ||
| mattermost.nix | ||
| mediawiki.nix | ||
| miniflux.nix | ||
| moinmoin.nix | ||
| moodle.nix | ||
| nextcloud.nix | ||
| nextcloud.xml | ||
| nexus.nix | ||
| pgpkeyserver-lite.nix | ||
| restya-board.nix | ||
| selfoss.nix | ||
| shiori.nix | ||
| trac.nix | ||
| trilium.nix | ||
| tt-rss.nix | ||
| virtlyst.nix | ||
| wordpress.nix | ||
| youtrack.nix | ||
| zabbix.nix | ||