{ description = "A basic flake with a shell"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; inputs.systems.url = "github:nix-systems/default"; inputs.flake-utils = { url = "github:numtide/flake-utils"; inputs.systems.follows = "systems"; }; outputs = { nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = nixpkgs.legacyPackages.${system}; in { devShells.default = pkgs.mkShell { packages = with pkgs; [ bashInteractive # Executables nodejs pnpm biome postgresql # Dev Tools typescript-language-server astro-language-server ]; shellHook = '' export PORT=300 export PGDIR=$PWD/postgres export PGHOST=$PGDIR export PGDATA=$PGDIR/data export PGLOG=$PGDIR/log export DATABASE_URL="postgresql:///postgres?host=$PGDIR" if test ! -d $PGDIR; then mkdir $PGDIR fi if [[ ! -d "$PGDATA" ]]; then initdb $PGDATA --auth=trust >/dev/null cat >> "$PGDATA/postgresql.conf" <<-EOF unix_socket_directories = '$PGHOST' EOF fi echo "Bun Version: $(bun --version)" ''; }; } ); }