summaryrefslogtreecommitdiff
path: root/2024/php/flake.nix
diff options
context:
space:
mode:
authorDJ O'Leary <dijitol@proton.me>2025-11-29 20:23:02 +0100
committerDJ O'Leary <dijitol@proton.me>2025-11-29 20:23:02 +0100
commit4c3a50166bf0f78ce89459c352cc1c6536a8b96d (patch)
tree02e4b66a1435680ef1e92bf82576747b27f16447 /2024/php/flake.nix
parentbe2f8528b3829f8263507da301812d852297c168 (diff)
chore: make language folders snake_case
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
+ ];
+ };
+
+ };
+}