diff options
| author | DJ O'Leary <dijitol@proton.me> | 2025-03-06 02:40:30 +0100 |
|---|---|---|
| committer | DJ O'Leary <dijitol@proton.me> | 2025-03-06 02:40:30 +0100 |
| commit | b0a060330a6ed3c6c4c1d8c39dc702d8654672df (patch) | |
| tree | f969f1d9232891a9de305b5f8207178abe08ff10 /2024/PHP/flake.nix | |
| parent | 0db069e6f6992a544f9dda7657cb6367113a8fcf (diff) | |
feat: Replace PHP shell with flake
Diffstat (limited to '2024/PHP/flake.nix')
| -rw-r--r-- | 2024/PHP/flake.nix | 43 |
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 + ]; + }; + + }; +} |
