with (import {}); mkShell { buildInputs = [ php phpPackages.composer nodejs mysql80 ]; shellHook = '' MYSQL_DIR=$(pwd)/.nix/mysql MYSQL_SOCKET=$(pwd)/.nix/mysql/mysql.sock MYSQL_ROOT_PASSWORD=123456 export MYSQL_UNIX_PORT=$MYSQL_SOCKET if [ ! -d $MYSQL_DIR ]; then mysqld --initialize-insecure --datadir=$MYSQL_DIR fi if ! mysqladmin status --user=root -p$MYSQL_ROOT_PASSWORD; then mysqld --datadir=$MYSQL_DIR --skip-networking & sleep 3 if ! mysql --user=root -p$MYSQL_ROOT_PASSWORD >> "SELECT 1"; then mysql --user=root <<< "ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';" fi fi ''; }