workshop-typo3/shell.nix
Daniel Siepmann 63a65e3447
INITIAL Installation
This is the initial state after setting up TYPO3 via composer.
2023-02-15 10:29:51 +01:00

48 lines
1.2 KiB
Nix

{ pkgs ? import <nixpkgs> { } }:
let
projectInstall = pkgs.writeShellApplication {
name = "project-install";
runtimeInputs = [
pkgs.php82
pkgs.php82Packages.composer
];
text = ''
composer install --working-dir="$PROJECT_ROOT"
'';
};
projectUpdate = pkgs.writeShellApplication {
name = "project-update";
runtimeInputs = [
pkgs.php82
pkgs.php82Packages.composer
];
text = ''
rm -rf "$PROJECT_ROOT/public/typo3/" "$PROJECT_ROOT/public/index.php" "$PROJECT_ROOT/vendor/" "$PROJECT_ROOT/tags"
composer update --with-all-dependencies --working-dir="$PROJECT_ROOT"
"$PROJECT_ROOT/vendor/bin/typo3" cache:flush
"$PROJECT_ROOT/vendor/bin/typo3" cache:warmup
"$PROJECT_ROOT/vendor/bin/typo3" upgrade:run
composer audit
'';
};
in pkgs.mkShell {
name = "MyTypo3Website";
buildInputs = [
projectInstall
projectUpdate
pkgs.php82
pkgs.php82Packages.composer
];
TYPO3_DATABASE = "typo3_workshop";
TYPO3_CONTEXT = "Development/dsiepmann";
TYPO3_ADDITIONAL_CONFIGURATION = "/home/daniels/.local/share/typo3-configuration/AdditionalConfiguration.inc.php";
shellHook = ''
export PROJECT_ROOT="$(pwd)"
'';
}