From 10c369ca16fe99fc15cf17c8ed38d52ec4338872 Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Wed, 6 Feb 2019 17:13:48 +0100 Subject: [PATCH] Add mathechor-de --- common/secret/default.nix | Bin 4435 -> 4465 bytes hosts/hera/configuration.nix | 4 ++ system/default.nix | 1 + system/modules/server/mathechor.de.nix | 68 +++++++++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 system/modules/server/mathechor.de.nix diff --git a/common/secret/default.nix b/common/secret/default.nix index 073857058cb1f67ba409a7ed136a46475bfe48b4..45184a5615c0adcc31d316d34e4b8e81c051b75b 100644 GIT binary patch literal 4465 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 D^hCt7 literal 4435 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 ZH~8k?i9C{h*Qa!3p_JhdccK~;^9m}jgoFS9 diff --git a/hosts/hera/configuration.nix b/hosts/hera/configuration.nix index d07d267a..4b71634a 100644 --- a/hosts/hera/configuration.nix +++ b/hosts/hera/configuration.nix @@ -73,6 +73,10 @@ m-0 = { server.enable = true; standalone.enable = true; git-server.enable = true; + mathechor-de = { + enable = true; + password = config.m-0.private.mathechor-pw; + }; }; home-manager.users."${me.user}" = (import ./home.nix); diff --git a/system/default.nix b/system/default.nix index 76dfcf00..9cf4cc97 100644 --- a/system/default.nix +++ b/system/default.nix @@ -8,6 +8,7 @@ in { ./modules/laptop.nix ./modules/git-server.nix ./modules/server + ./modules/server/mathechor.de.nix ./modules/standalone "${builtins.fetchGit "ssh://git@git.darmstadt.ccc.de/cdark.net/nixdark"}/default.nix" ./modules/loginctl-linger.nix diff --git a/system/modules/server/mathechor.de.nix b/system/modules/server/mathechor.de.nix new file mode 100644 index 00000000..d2c4a7d6 --- /dev/null +++ b/system/modules/server/mathechor.de.nix @@ -0,0 +1,68 @@ +{ config, pkgs, lib, ... }: +with lib; + +let + +me = config.m-0.private.me; +page = pkgs.stdenv.mkDerivation { + name = "mathechor.de"; + src = builtins.fetchGit "git@hera:mathechor.de"; + buildInputs = [ pkgs.pandoc pkgs.python3 ]; + LC_ALL="en_US.UTF-8"; + LOCALE_ARCHIVE="${pkgs.glibcLocales}/lib/locale/locale-archive"; + installPhase = '' + mkdir $out + cp -r intern/output $out/intern + cp -r public/output $out/public + ''; +}; + +in +{ + +options = { + m-0.mathechor-de = { + enable = mkOption { + type = types.bool; + default = false; + }; + password = mkOption { + type = types.str; + }; + }; +}; + +config = mkIf config.m-0.mathechor-de.enable { + networking.firewall.allowedTCPPorts = [ 80 443 ]; + + services = { + nginx = { + enable = true; + virtualHosts."mathechor.de" = { + serverAliases = ["www.mathechor.de"]; + forceSSL = true; + enableACME = true; + locations = { + "/" = { + root = "${page}/public"; + index = "index.html"; + extraConfig = "location ~* \.(otf)$ {add_header Access-Control-Allow-Origin *;}"; + }; + }; + }; + virtualHosts."intern.mathechor.de" = { + forceSSL = true; + enableACME = true; + basicAuth.mathechor = config.m-0.mathechor-de.password; + locations = { + "/" = { + root = "${page}/intern"; + index = "index.html"; + }; + }; + }; + }; + }; +}; + +}