summaryrefslogtreecommitdiff
path: root/2024/PHP/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to '2024/PHP/flake.nix')
-rw-r--r--2024/PHP/flake.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/2024/PHP/flake.nix b/2024/PHP/flake.nix
new file mode 100644
index 0000000..2be5644
--- /dev/null
+++ b/2024/PHP/flake.nix
@@ -0,0 +1,43 @@
+{
+ description = "Advent of Code 2024: PHP";
+
+ inputs = {
+ nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
+ };
+
+ outputs =
+ { nixpkgs, ... }:
+ let
+ pkgs = import nixpkgs {
+ config.allowUnfree = true;
+ };
+ in
+ {
+ devShells.x86_64-linux.default =
+ let
+ phpVersion = "php84";
+
+ phpPackage = pkgs.lib.attrByPath [ phpVersion ] null pkgs;
+ phpPackages = pkgs.lib.attrByPath [ "${phpVersion}Packages" ] null pkgs;
+ phpExtensions = pkgs.lib.attrByPath [ "${phpVersion}Extensions" ] null pkgs;
+ in
+ pkgs.mkShell {
+ # build tools
+ nativeBuildInputs = with pkgs; [
+ phpPackage
+ nodejs_18
+ ];
+ # dependencies
+ buildInputs = with pkgs; [
+ intelephense
+ phpunit
+ phpPackages.php-cs-fixer
+ phpPackages.phpstan
+ phpExtensions.xdebug
+
+ gh # GitHub CLI
+ ];
+ };
+
+ };
+}