{ 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; [ onefetch php phpPackages.composer phpPackages.php-codesniffer vscode-langservers-extracted sqlite nodejs nixfmt-rfc-style nixfmt-tree cypress yaml-language-server typescript postgresql process-compose ]; shellHook = '' export PGDATA="$PWD/.postgres" export PGHOST="$PGDATA" export PGUSER="postgres" export PGDATABASE="postgres" 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" ''; }; }); }