2ba7926959
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 |