hosts: make security settings common
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
This commit is contained in:
		@@ -12,6 +12,7 @@ let
 | 
			
		||||
    ./programs/gnupg
 | 
			
		||||
    ./programs/git
 | 
			
		||||
    ./programs/doas
 | 
			
		||||
    ./security
 | 
			
		||||
  ];
 | 
			
		||||
  desktopModules = [
 | 
			
		||||
    ./programs/adb
 | 
			
		||||
 
 | 
			
		||||
@@ -31,12 +31,5 @@ in
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  security.acme = {
 | 
			
		||||
    acceptTerms = true;
 | 
			
		||||
    certs = lib.mapAttrs (n: _: { email = "natto@${domain}"; })
 | 
			
		||||
      (lib.filterAttrs (_: v: v.enableACME) config.services.nginx.virtualHosts);
 | 
			
		||||
  };
 | 
			
		||||
  security.pki.certificateFiles = [ ../../cert.pem ];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,4 @@
 | 
			
		||||
 | 
			
		||||
  time.timeZone = "Asia/Kolkata";
 | 
			
		||||
  system.stateVersion = "21.05";
 | 
			
		||||
 | 
			
		||||
  security.pki.certificateFiles = [ ../../cert.pem ../../consul-agent-ca.pem ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,6 @@
 | 
			
		||||
    libvirtd.wantedBy = lib.mkForce [ ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  security.pki.certificateFiles = [ ../../cert.pem ];
 | 
			
		||||
  virtualisation = {
 | 
			
		||||
    docker = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
 
 | 
			
		||||
@@ -79,15 +79,5 @@ in
 | 
			
		||||
        };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  security.acme = {
 | 
			
		||||
    acceptTerms = true;
 | 
			
		||||
    certs = {
 | 
			
		||||
      "${domain}".extraDomainNames = lib.singleton "www.${domain}";
 | 
			
		||||
    } //
 | 
			
		||||
    lib.mapAttrs (n: _: { email = "natto@${domain}"; })
 | 
			
		||||
      (lib.filterAttrs (_: v: v.enableACME) config.services.nginx.virtualHosts);
 | 
			
		||||
  };
 | 
			
		||||
  security.pki.certificateFiles = [ ../../cert.pem ];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,6 @@
 | 
			
		||||
    libvirtd.wantedBy = lib.mkForce [ ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  security.pki.certificateFiles = [ ../../cert.pem ];
 | 
			
		||||
  virtualisation = {
 | 
			
		||||
    docker = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								hosts/security/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								hosts/security/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
{
 | 
			
		||||
  lib,
 | 
			
		||||
  conf,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
let
 | 
			
		||||
  domain = conf.network.addresses.domain.natto;
 | 
			
		||||
  nginx = config.services.nginx;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  security = {
 | 
			
		||||
    acme = lib.mkIf nginx.enable {
 | 
			
		||||
      acceptTerms = true;
 | 
			
		||||
      certs = lib.mapAttrs (n: _: { email = "natto@${domain}"; }) (
 | 
			
		||||
        lib.filterAttrs (_: v: v.enableACME) nginx.virtualHosts
 | 
			
		||||
      );
 | 
			
		||||
    };
 | 
			
		||||
    pki.certificateFiles = [ ../../cert.pem ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
{ lib, config, pkgs, ... }: {
 | 
			
		||||
  # sound stuff
 | 
			
		||||
  sound.enable = true;
 | 
			
		||||
{ ... }:
 | 
			
		||||
{
 | 
			
		||||
  services.pipewire = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    alsa = {
 | 
			
		||||
 
 | 
			
		||||
@@ -12,13 +12,5 @@ in
 | 
			
		||||
      ports = [ 22 ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  security.acme = {
 | 
			
		||||
    acceptTerms = true;
 | 
			
		||||
    certs = lib.mapAttrs (n: _: { email = "natto@${domain}"; })
 | 
			
		||||
      (lib.filterAttrs (_: v: v.enableACME) config.services.nginx.virtualHosts);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  security.pki.certificateFiles = [ ../../cert.pem ];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user