48 lines
1.2 KiB
Nix
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)"
|
||
|
'';
|
||
|
}
|