config/modules/nixos/sites/cv/default.nix

34 lines
708 B
Nix

{
lib,
config,
pkgs,
inputs,
...
}:
with lib;
with lib.custom; let
cfg = config.sites.cv;
in {
options.sites.cv = with types; {
enable = mkBoolOpt false "Enable CV site";
domain = mkStringOpt "cv.zackmyers.io" "The domain for the site";
};
config = mkIf cfg.enable {
warnings =
lib.optional (!config.services.nginx.enable)
"CV site is enabled, but it depends on Nginx which is not enabled.";
services.nginx.virtualHosts.${cfg.domain} = {
forceSSL = true;
enableACME = true;
locations."/" = {
root = "${inputs.resume.packages.${pkgs.system}.default}";
};
extraConfig = ''
index resume.pdf;
'';
};
};
}