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/gnupg
 | 
				
			||||||
    ./programs/git
 | 
					    ./programs/git
 | 
				
			||||||
    ./programs/doas
 | 
					    ./programs/doas
 | 
				
			||||||
 | 
					    ./security
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
  desktopModules = [
 | 
					  desktopModules = [
 | 
				
			||||||
    ./programs/adb
 | 
					    ./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";
 | 
					  time.timeZone = "Asia/Kolkata";
 | 
				
			||||||
  system.stateVersion = "21.05";
 | 
					  system.stateVersion = "21.05";
 | 
				
			||||||
 | 
					 | 
				
			||||||
  security.pki.certificateFiles = [ ../../cert.pem ../../consul-agent-ca.pem ];
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,6 @@
 | 
				
			|||||||
    libvirtd.wantedBy = lib.mkForce [ ];
 | 
					    libvirtd.wantedBy = lib.mkForce [ ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  security.pki.certificateFiles = [ ../../cert.pem ];
 | 
					 | 
				
			||||||
  virtualisation = {
 | 
					  virtualisation = {
 | 
				
			||||||
    docker = {
 | 
					    docker = {
 | 
				
			||||||
      enable = true;
 | 
					      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 [ ];
 | 
					    libvirtd.wantedBy = lib.mkForce [ ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  security.pki.certificateFiles = [ ../../cert.pem ];
 | 
					 | 
				
			||||||
  virtualisation = {
 | 
					  virtualisation = {
 | 
				
			||||||
    docker = {
 | 
					    docker = {
 | 
				
			||||||
      enable = true;
 | 
					      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 = {
 | 
					  services.pipewire = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    alsa = {
 | 
					    alsa = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,13 +12,5 @@ in
 | 
				
			|||||||
      ports = [ 22 ];
 | 
					      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