myphps/nixos/default.nix

41 lines
836 B
Nix
Raw Normal View History

2025-04-13 15:32:07 +00:00
self: {
2025-04-13 15:13:51 +00:00
lib,
config,
2025-04-13 15:32:07 +00:00
pkgs,
2025-04-13 15:13:51 +00:00
...
}: let
2025-04-13 15:32:07 +00:00
phps = let
packages = self.packages.${pkgs.system};
filter = name: _: builtins.match "^php[[:digit:]]*$" name;
in
lib.filterAttrs filter packages;
2025-04-13 15:13:51 +00:00
cfg = config.programs.phps;
inherit (lib) types;
in {
2025-04-13 15:18:18 +00:00
options.services.myphps = {
enable = lib.mkEnableOption "myphps";
2025-04-13 15:13:51 +00:00
phps = lib.mkOption {
description = ''
PHPs to use.
'';
default = phps;
type = types.attrsOf types.package;
};
prefix = lib.mkOption {
description = ''
The prefix for every PHP installation.
'';
2025-04-17 20:12:55 +00:00
default = "/run/phps";
2025-04-13 15:13:51 +00:00
type = types.str;
};
};
config = {
systemd.tmpfiles.settings =
builtins.mapAttrs (name: drv: {
"${cfg.prefix}/${name}"."L+".argument = drv.outPath;
})
phps;
};
}