fix(flake): Allow using EOL PHP versions

Signed-off-by: provokateurin <kate@provokateurin.de>
pull/56896/head
provokateurin 2025-12-06 14:49:05 +07:00
parent de381f3b5a
commit 8136b14d81
No known key found for this signature in database
2 changed files with 56 additions and 3 deletions

@ -15,6 +15,22 @@
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
@ -115,11 +131,36 @@
"type": "github"
}
},
"phps": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": [
"nixpkgs"
],
"utils": [
"flake-utils"
]
},
"locked": {
"lastModified": 1763965909,
"narHash": "sha256-Hx/ZHl8Tc8C6gP2xN0zAl7txk1sUZA98NrflyJuw+70=",
"owner": "fossar",
"repo": "nix-phps",
"rev": "8b3b0250e31d56283a8fa1b66dbd78fb21fa4893",
"type": "github"
},
"original": {
"owner": "fossar",
"repo": "nix-phps",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"haze": "haze",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"phps": "phps"
}
},
"rust-overlay": {

@ -1,14 +1,26 @@
{
nixConfig = {
extra-substituters = [ "https://fossar.cachix.org" ];
extra-trusted-public-keys = [ "fossar.cachix.org-1:Zv6FuqIboeHPWQS7ysLCJ7UT7xExb4OE8c4LyGb5AsE=" ];
};
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
flake-utils.url = "github:numtide/flake-utils";
phps = {
url = "github:fossar/nix-phps";
inputs = {
nixpkgs.follows = "nixpkgs";
utils.follows = "flake-utils";
};
};
haze = {
url = "git+https://codeberg.org/icewind/haze.git";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, flake-utils, haze, ... }:
outputs = { nixpkgs, flake-utils, phps, haze, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages.${system};
@ -18,7 +30,7 @@
devShells.default =
let
php_version = lib.strings.concatStrings (builtins.match ".*PHP_VERSION_ID < ([0-9])0([0-9])00.*" (builtins.readFile ./lib/versioncheck.php));
php = pkgs.pkgs."php${php_version}".buildEnv {
php = phps.packages.${system}."php${php_version}".buildEnv {
# Based off https://docs.nextcloud.com/server/latest/admin_manual/installation/php_configuration.html
extensions = ({ enabled, all }: enabled ++ (with all; [
# Required