aboutsummaryrefslogtreecommitdiff
path: root/modules/private/websites/ludivine/app/default.nix
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2020-04-18 16:10:56 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2020-04-20 01:51:48 +0200
commitd3452fc59b9839846225fd254926c64a9c71f071 (patch)
treea98a0958b826ac4b2ab137720edf0195c65dd958 /modules/private/websites/ludivine/app/default.nix
parent514f9ec3beec470c4445be690673a0ceab9115b4 (diff)
downloadNix-d3452fc59b9839846225fd254926c64a9c71f071.tar.gz
Nix-d3452fc59b9839846225fd254926c64a9c71f071.tar.zst
Nix-d3452fc59b9839846225fd254926c64a9c71f071.zip
Refactor websites
Diffstat (limited to 'modules/private/websites/ludivine/app/default.nix')
-rw-r--r--modules/private/websites/ludivine/app/default.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/private/websites/ludivine/app/default.nix b/modules/private/websites/ludivine/app/default.nix
new file mode 100644
index 0000000..05be0b1
--- /dev/null
+++ b/modules/private/websites/ludivine/app/default.nix
@@ -0,0 +1,36 @@
1{ environment ? "prod"
2, varDir ? "/var/lib/ludivinecassal_${environment}"
3, secretsPath ? "/var/secrets/webapps/${environment}-ludivinecassal"
4, composerEnv, fetchurl, fetchgit, imagemagick, sass, ruby, mylibs }:
5let
6 app = composerEnv.buildPackage (
7 import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } //
8 mylibs.fetchedGitPrivate ./ludivinecassal.json //
9 rec {
10 noDev = (environment == "prod");
11 preInstall = ''
12 export SYMFONY_ENV="${environment}"
13 cp app/config/parameters.yml.dist app/config/parameters.yml
14 cat >> app/config/parameters.yml <<EOF
15 leapt_im:
16 binary_path: ${imagemagick}/bin
17 assetic:
18 sass: ${sass}/bin/sass
19 ruby: ${ruby}/bin/ruby
20 EOF
21 sed -i -e "/Incenteev..ParameterHandler..ScriptHandler::buildParameters/d" composer.json
22 '';
23 # /!\ miniatures and data need to be in the same physical dir due to a
24 # bug in leapt.im (searches for data/../miniatures)
25 postInstall = ''
26 rm -rf var/{logs,cache,data,miniatures,tmp}
27 ln -sf ${varDir}/{logs,cache,data,miniatures,tmp} var/
28 ln -sf ${secretsPath} app/config/parameters.yml
29 '';
30 buildInputs = [ sass ];
31 passthru = {
32 inherit varDir environment;
33 webRoot = "${app}/web";
34 };
35 });
36in app