-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathshell.nix
57 lines (48 loc) · 1.74 KB
/
shell.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
with import <nixpkgs> { };
let
cfg = {
nginxPort = "8080";
};
rootDir = toString ./.;
nginxDir = "${rootDir}/nixfiles/nginx";
phpDir = "${rootDir}/nixfiles/php";
phpConf = (import ./nixfiles/php/phpfpm-nginx.conf.nix) {inherit pkgs phpDir ;};
phpIni = (import ./nixfiles/php/phpini.nix) {inherit pkgs ;};
nginxConf = (import ./nixfiles/nginx/nginx.conf.nix) {inherit pkgs nginxDir rootDir phpDir; nginxPort = cfg.nginxPort; };
in
pkgs.mkShell {
name = "epicenter-works-spenden";
buildInputs = (with pkgs; [
php81
php81Packages.composer
nginx
]);
shellHook = ''
export COMPOSE_ENVIRONMENT=DEVELOPMENT
alias php="${php}/bin/php -c ${phpIni}"
function startServices {
if test -f ${nginxDir}/logs/nginx.pid && ps -p $(cat ${nginxDir}/logs/nginx.pid) > /dev/null; then
echo "NGINX already started"
else
echo "============== Starting nginx..."
${pkgs.nginx}/bin/nginx -p ${nginxDir}/tmp -c ${nginxConf}
fi
if test -f ${phpDir}/tmp/php-fpm.pid && ps -p $(cat ${phpDir}/tmp/php-fpm.pid) > /dev/null; then
echo "PHP-FPM already started"
else
echo "============== Starting phpfpm..."
${php}/bin/php-fpm -p ${phpDir} -y ${phpConf} -c ${phpIni}
fi
}
function stopServices {
if test -f ${nginxDir}/logs/nginx.pid && ps -p $(cat ${nginxDir}/logs/nginx.pid) > /dev/null; then
echo "============== Stopping nginx..."
kill $(cat ${nginxDir}/logs/nginx.pid)
fi
if test -f ${phpDir}/tmp/php-fpm.pid && ps -p $(cat ${phpDir}/tmp/php-fpm.pid) > /dev/null; then
echo "============== Stopping phpfpm..."
kill $(cat ${phpDir}/tmp/php-fpm.pid)
fi
}
'';
}