{ inputs = { nixpkgs.url = "github:NixOs/nixpkgs/nixos-unstable"; utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ php phpPackages.composer phpPackages.php-codesniffer vscode-langservers-extracted nodejs nixfmt-rfc-style nixfmt-tree cypress yaml-language-server typescript postgresql process-compose ]; shellHook = '' REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)" export PGDATA="$REPO_ROOT/.postgres" export PGHOST="$PGDATA" export PGUSER="postgres" export PGDATABASE="rabbigerzi" if [ ! -d "$PGDATA" ]; then echo "[pg] initializing cluster at $PGDATA" initdb --auth=trust --username=postgres --no-locale --encoding=UTF8 >/dev/null { echo "listen_addresses = '127.0.0.1'" echo "unix_socket_directories = '$PGDATA'" } >> "$PGDATA/postgresql.conf" fi echo "[dev] run 'process-compose up' to start postgres + backend + vite" ''; }; } ); }