krebs.pages: init
This commit is contained in:
parent
ee44d27ef7
commit
69ddda1380
@ -34,6 +34,7 @@ let
|
|||||||
./iptables.nix
|
./iptables.nix
|
||||||
./kapacitor.nix
|
./kapacitor.nix
|
||||||
./konsens.nix
|
./konsens.nix
|
||||||
|
./krebs-pages.nix
|
||||||
./monit.nix
|
./monit.nix
|
||||||
./nixpkgs.nix
|
./nixpkgs.nix
|
||||||
./on-failure.nix
|
./on-failure.nix
|
||||||
|
44
krebs/3modules/krebs-pages.nix
Normal file
44
krebs/3modules/krebs-pages.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{ config, modulesPath, pkgs, ... }: let
|
||||||
|
cfg = config.krebs.pages;
|
||||||
|
lib = import ../../lib;
|
||||||
|
extraTypes.nginx-vhost = lib.types.submodule (
|
||||||
|
lib.recursiveUpdate
|
||||||
|
(import (modulesPath + "/services/web-servers/nginx/vhost-options.nix")
|
||||||
|
{ inherit config lib; })
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
in {
|
||||||
|
options.krebs.pages = {
|
||||||
|
enable = lib.mkEnableOption "krebs-pages";
|
||||||
|
domain = lib.mkOption {
|
||||||
|
type = lib.types.hostname;
|
||||||
|
default = "krebsco.de";
|
||||||
|
};
|
||||||
|
nginx = lib.mkOption {
|
||||||
|
type = extraTypes.nginx-vhost;
|
||||||
|
default = {};
|
||||||
|
example = lib.literalExpression /* nix */ ''
|
||||||
|
{
|
||||||
|
# To enable encryption and let let's encrypt take care of certificate
|
||||||
|
enableACME = true;
|
||||||
|
forceSSL = true;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
description = lib.mkDoc ''
|
||||||
|
With this option, you can customize the nginx virtualHost settings.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
package = lib.mkOption {
|
||||||
|
type = lib.types.package;
|
||||||
|
default = pkgs.krebs-pages;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.nginx = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
virtualHosts.${cfg.domain} = lib.mkMerge [ cfg.nginx {
|
||||||
|
root = lib.mkForce cfg.package;
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user