57 lines
1.2 KiB
Nix
57 lines
1.2 KiB
Nix
|
{
|
||
|
inputs,
|
||
|
pkgs,
|
||
|
...
|
||
|
}: let
|
||
|
supportedPhps = [
|
||
|
"php72"
|
||
|
"php73"
|
||
|
"php74"
|
||
|
"php80"
|
||
|
"php81"
|
||
|
"php82"
|
||
|
"php83"
|
||
|
"php84"
|
||
|
];
|
||
|
in {
|
||
|
nix.settings = {
|
||
|
substituters = ["https://fossar.cachix.org/"];
|
||
|
trusted-public-keys = ["fossar.cachix.org-1:Zv6FuqIboeHPWQS7ysLCJ7UT7xExb4OE8c4LyGb5AsE="];
|
||
|
};
|
||
|
|
||
|
environment.systemPackages =
|
||
|
map (
|
||
|
phpName:
|
||
|
pkgs.writeShellApplication {
|
||
|
name = "with-${phpName}";
|
||
|
runtimeInputs = let
|
||
|
php = inputs.phps.packages.${pkgs.system}.${phpName}.buildEnv {
|
||
|
extensions = {
|
||
|
enabled,
|
||
|
all,
|
||
|
}:
|
||
|
enabled ++ [all.xdebug all.amqp];
|
||
|
extraConfig = ''
|
||
|
display_errors = On
|
||
|
error_reporting = E_ALL
|
||
|
|
||
|
memory_limit = -1
|
||
|
|
||
|
xdebug.mode = develop,coverage,gcstats,profile,debug,trace
|
||
|
xdebug.discover_client_host = 1
|
||
|
xdebug.client_host = localhost
|
||
|
'';
|
||
|
};
|
||
|
in [
|
||
|
php
|
||
|
php.packages.composer
|
||
|
pkgs.symfony-cli
|
||
|
];
|
||
|
text = ''
|
||
|
exec "$@"
|
||
|
'';
|
||
|
}
|
||
|
)
|
||
|
supportedPhps;
|
||
|
}
|