]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - pkgs/private/webapps/ludivinecassal/default.nix
Move Ludivine website to pkgs
[perso/Immae/Config/Nix.git] / pkgs / private / webapps / ludivinecassal / default.nix
1 { environment ? "prod"
2 , varDir ? "/var/lib/ludivinecassal_${environment}"
3 , composerEnv, fetchurl, fetchgit, imagemagick, sass, ruby, mylibs }:
4 let
5 app = composerEnv.buildPackage (
6 import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } //
7 mylibs.fetchedGitPrivate ./ludivinecassal.json //
8 rec {
9 noDev = (environment == "prod");
10 preInstall = ''
11 export SYMFONY_ENV="${environment}"
12 cp app/config/parameters.yml.dist app/config/parameters.yml
13 cat >> app/config/parameters.yml <<EOF
14 leapt_im:
15 binary_path: ${imagemagick}/bin
16 assetic:
17 sass: ${sass}/bin/sass
18 ruby: ${ruby}/bin/ruby
19 EOF
20 sed -i -e "/Incenteev..ParameterHandler..ScriptHandler::buildParameters/d" composer.json
21 '';
22 # /!\ miniatures and data need to be in the same physical dir due to a
23 # bug in leapt.im (searches for data/../miniatures)
24 postInstall = ''
25 rm -rf var/{logs,cache,data,miniatures,tmp}
26 ln -sf ${varDir}/{logs,cache,data,miniatures,tmp} var/
27 ln -sf /var/secrets/webapps/${environment}-ludivinecassal app/config/parameters.yml
28 '';
29 buildInputs = [ sass ];
30 passthru = {
31 inherit varDir environment;
32 webRoot = "${app}/web";
33 };
34 });
35 in app