puter/hosts/headful/work/php.nix

57 lines
1.2 KiB
Nix
Raw Normal View History

2025-01-18 21:32:36 +00:00
{
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;
}