X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fsystem%2Fquatresaisons.nix;h=82db70ff0d1c7a97e50e7b98b779625b98aad8d8;hb=1a64deeb894dc95e2645a75771732c6cc53a79ad;hpb=fa25ffd4583cc362075cd5e1b4130f33306103f0;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/system/quatresaisons.nix b/modules/private/system/quatresaisons.nix deleted file mode 100644 index 82db70f..0000000 --- a/modules/private/system/quatresaisons.nix +++ /dev/null @@ -1,436 +0,0 @@ -{ config, pkgs, lib, ... }: -let - serverSpecificConfig = config.myEnv.serverSpecific.quatresaisons; - yarnModules = pkgs.yarn2nix-moretea.mkYarnModules rec { - name = "landing"; - pname = name; - version = "v1.0.0"; - packageJSON = "${pkgs.sources.webapps-landing}/package.json"; - yarnLock = "${pkgs.sources.webapps-landing}/yarn.lock"; - yarnNix = ../websites/tools/tools/landing/yarn-packages.nix; - }; - toLanding = landingConfig: pkgs.stdenv.mkDerivation rec { - pname = "landing"; - version = "v1.0.0"; - src = pkgs.sources.webapps-landing; - - buildInputs = [ yarnModules pkgs.yarn2nix-moretea.yarn ]; - configurePhase = '' - ln -s ${yarnModules}/node_modules . - ''; - buildPhase = '' - yarn build - ''; - installPhase = '' - cp -a dist $out - cp -f ${landingConfig} $out/config.yml - ln -s service-worker.js $out/worker.js - ''; - }; - normalUsers = serverSpecificConfig.users; - sponsoredUser = pkgs.writeScriptBin "sponsored_user" '' - #!/usr/bin/env bash - - set -euo pipefail - [ -z "''${SUDO_USER+x}" ] && echo "Must be run with sudo" && exit 1 - - mygroup=$(id -ng $SUDO_USER) - - sponsored=$(getent group $mygroup | cut -d':' -f4) - - echo "Sponsored users: ''${sponsored:-}" - - log () { - touch /var/log/sponsored_users - chmod go-rwx /var/log/sponsored_users - echo "`date` $mygroup $1" | LANG=C cat -v | tr '\012' ' ' | sed 's:$:\x0a:' >> /var/log/sponsored_users - } - - create_user () { - log "creates $1: $2" - useradd -m -G users,$mygroup -g $mygroup -p '!' "$1" - touch /var/lib/nixos/sponsored_users - chmod go-rwx /var/lib/nixos/sponsored_users - echo "$mygroup $1 $2" >> /var/lib/nixos/sponsored_users - (${pkgs.openldap}/bin/ldapadd -c -D cn=root,dc=salle-s,dc=org \ - -y ${config.secrets.fullPaths."ldap/sync_password"} 2>/dev/null >/dev/null || true) </dev/null >/dev/null || true - - # Remove obsolete users - ${pkgs.openldap}/bin/ldapsearch -LLL ${com} -s one -b "ou=users,dc=salle-s,dc=org" "uid" |\ - grep "^uid" | ${pkgs.gnused}/bin/sed -e "s/uid: //" | while read ldapuser; do - - for user in ${builtins.concatStringsSep " " (builtins.attrNames normalUsers)}; do - if [ "$user" = "$ldapuser" ]; then - continue 2 - fi - done - ${pkgs.openldap}/bin/ldapdelete -r ${com} uid=$ldapuser,ou=users,dc=salle-s,dc=org - done - - # Subusers - if [ -f /var/lib/nixos/sponsored_users ]; then - cat /var/lib/nixos/sponsored_users | while read mainUser subUser name; do - (${pkgs.openldap}/bin/ldapadd -c ${com} 2>/dev/null >/dev/null || true) <s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedVhost - Protocols h2 http/1.1 - AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript - '' ]; - ips = - let ips = config.hostEnv.ips.main; - in [ips.ip4] ++ (ips.ip6 or []); - - fallbackVhost = { - certName = "quatresaisons"; - hosts = [ "quatresaisons.immae.eu" ]; - root = pkgs.runCommand "empty" {} "mkdir $out && touch $out/index.html"; - extraConfig = [ "DirectoryIndex index.html" ]; - }; - vhostConfs.salle-s = { - certName = "quatresaisons"; - addToCerts = true; - hosts = [ "salle-s.org" ]; - root = toLanding ./quatresaisons/landing.yml; - extraConfig = [ - '' - - AllowOverride None - Require all granted - DirectoryIndex index.html - - '' - ]; - }; - vhostConfs.tools = { - certName = "quatresaisons"; - addToCerts = true; - hosts = [ "4c.salle-s.org" "quatresaisons.salle-s.org" "quatre-saisons.salle-s.org" ]; - root = toLanding ./quatresaisons/landing_4c.yml; - extraConfig = [ - '' - Alias /charte ${serverSpecificConfig.charte_path} - - AllowOverride None - Require all granted - DirectoryIndex index.html index.txt - - - - AllowOverride None - Require all granted - DirectoryIndex index.html - - '' - ]; - }; - }; - system.activationScripts.httpd = '' - install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php - install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions - ''; - - services.phpfpm = { - phpOptions = '' - session.save_path = "/var/lib/php/sessions" - post_max_size = 20M - ; 15 days (seconds) - session.gc_maxlifetime = 1296000 - ; 30 days (minutes) - session.cache_expire = 43200 - ''; - settings = { - log_level = "notice"; - }; - }; - -}