{ description = "HashRU Pics dev environment"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; outputs = { self, nixpkgs }: let forAllSystems = f: nixpkgs.lib.genAttrs [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ] (system: f nixpkgs.legacyPackages.${system}); php = pkgs: pkgs.php.buildEnv { extensions = { enabled, all }: enabled ++ (with all; [ imagick pdo_mysql pdo_sqlite ]); extraConfig = '' memory_limit = 256M upload_max_filesize = 50M post_max_size = 50M ''; }; in { devShells = forAllSystems (pkgs: { default = pkgs.mkShell { buildInputs = [ (php pkgs) (php pkgs).packages.composer pkgs.sqlite ]; shellHook = '' export COMPOSER_HOME="$PWD/.composer" if [ ! -d vendor ]; then echo "Running composer install..." composer install fi ''; }; }); }; }