]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/websites/connexionswing/app/default.nix
Refactor websites
[perso/Immae/Config/Nix.git] / modules / private / websites / connexionswing / app / default.nix
diff --git a/modules/private/websites/connexionswing/app/default.nix b/modules/private/websites/connexionswing/app/default.nix
new file mode 100644 (file)
index 0000000..37ce42d
--- /dev/null
@@ -0,0 +1,28 @@
+{ environment ? "prod"
+, varDir ? "/var/lib/connexionswing_${environment}"
+, secretsPath ? "/var/secrets/webapps/${environment}-connexionswing"
+, composerEnv, fetchurl, fetchgit, mylibs }:
+let
+  app = composerEnv.buildPackage (
+    import ./php-packages.nix { inherit composerEnv fetchurl fetchgit; } //
+    mylibs.fetchedGitPrivate ./connexionswing.json //
+    rec {
+      noDev = (environment == "prod");
+      preInstall = ''
+          export SYMFONY_ENV="${environment}"
+      '';
+      postInstall = ''
+          cd $out
+          ${if environment == "prod" then "php ./bin/console assetic:dump --env=prod --no-debug" else ""}
+          rm app/config/parameters.yml
+          ln -sf ${secretsPath} app/config/parameters.yml
+          rm -rf var/{logs,cache}
+          ln -sf ${varDir}/var/{logs,cache} var/
+          ln -sf ${varDir}/{medias,uploads} web/images/
+      '';
+      passthru = {
+        inherit varDir environment;
+        webRoot = "${app}/web";
+      };
+    });
+in app