42 lines
1.4 KiB
Nix
42 lines
1.4 KiB
Nix
{ pkgs, lib }:
|
|
let
|
|
phpEnv = pkgs.php84.buildEnv {
|
|
extensions = { enabled, all }: enabled ++ (with all; [ iconv mbstring pdo_mysql pdo_sqlite ]);
|
|
};
|
|
in
|
|
pkgs.mkShellNoCC {
|
|
buildInputs = with pkgs; [
|
|
phpEnv
|
|
php84Packages.composer
|
|
php84Packages.php-parallel-lint
|
|
php84Packages.php-cs-fixer
|
|
sqlite-interactive
|
|
sql-formatter
|
|
];
|
|
|
|
# Prepare dev environment with sqlite and config files
|
|
shellHook = ''
|
|
alias runDev='php -S localhost:1080 -d error_reporting=E_ALL -d display_errors=1 -t www/'
|
|
|
|
declare -a PROJECT_ROOT="$("${lib.getExe pkgs.git}" rev-parse --show-toplevel)"
|
|
|
|
mkdir -p "$PROJECT_ROOT/www/galleri/bilder/slideshow"
|
|
test -e "$PROJECT_ROOT/pvv.sqlite" || sqlite3 "$PROJECT_ROOT/pvv.sqlite" < "$PROJECT_ROOT/dist/pvv_sqlite.sql"
|
|
test -e "$PROJECT_ROOT/config.php" || cp -v "$PROJECT_ROOT/dist/config.local.php" "$PROJECT_ROOT/config.php"
|
|
|
|
if [ ! -d "$PROJECT_ROOT/vendor" ] ; then
|
|
pushd "$PROJECT_ROOT"
|
|
composer install || exit $?
|
|
|
|
cp dist/simplesamlphp-authsources.php vendor/simplesamlphp/simplesamlphp/config/authsources.php
|
|
cp dist/simplesamlphp-idp.php vendor/simplesamlphp/simplesamlphp/metadata/saml20-idp-remote.php
|
|
cp dist/simplesamlphp-config.php vendor/simplesamlphp/simplesamlphp/config/config.php
|
|
|
|
cp dist/config.local.php config.php
|
|
|
|
ln -s ../vendor/simplesamlphp/simplesamlphp/public/ www/simplesaml
|
|
popd
|
|
fi
|
|
'';
|
|
}
|