added soju IRC bouncer and a couple of IRC clients.
This commit is contained in:
		
							parent
							
								
									5da8f42240
								
							
						
					
					
						commit
						63060d1a68
					
				
					 11 changed files with 86 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
      dex
 | 
			
		||||
      firefox
 | 
			
		||||
      thunderbird
 | 
			
		||||
      mpv
 | 
			
		||||
    ];
 | 
			
		||||
    services.playerctld.enable = true;
 | 
			
		||||
    xsession.enable = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,7 @@
 | 
			
		|||
  security.acme = {
 | 
			
		||||
    acceptTerms = true;
 | 
			
		||||
    defaults.email = "gabevenberg@gmail.com";
 | 
			
		||||
    defaults.webroot = "/var/lib/acme/acme-challenge/";
 | 
			
		||||
  };
 | 
			
		||||
  networking.firewall.allowedTCPPorts = [443 80];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										35
									
								
								configs/nixos/soju.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								configs/nixos/soju.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
{
 | 
			
		||||
  inputs,
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: let
 | 
			
		||||
  domain = "irc.venberg.xyz";
 | 
			
		||||
  port = 6697;
 | 
			
		||||
  certDir = config.security.acme.certs.${domain}.directory;
 | 
			
		||||
in {
 | 
			
		||||
  security.acme.certs.${domain} = {
 | 
			
		||||
    reloadServices = ["soju.service"];
 | 
			
		||||
    group = config.services.nginx.group;
 | 
			
		||||
  };
 | 
			
		||||
  # webserver for http challenge
 | 
			
		||||
  services.nginx.virtualHosts.${domain} = {
 | 
			
		||||
    forceSSL = true;
 | 
			
		||||
    useACMEHost = domain;
 | 
			
		||||
    locations."/.well-known/".root = "/var/lib/acme/acme-challenge/";
 | 
			
		||||
  };
 | 
			
		||||
  networking.firewall.allowedTCPPorts = [port 80];
 | 
			
		||||
  services.soju = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    hostName = domain;
 | 
			
		||||
    listen = [":${builtins.toString port}"];
 | 
			
		||||
    tlsCertificate = "/run/credentials/soju.service/cert.pem";
 | 
			
		||||
    tlsCertificateKey = "/run/credentials/soju.service/key.pem";
 | 
			
		||||
    enableMessageLogging = true;
 | 
			
		||||
  };
 | 
			
		||||
  systemd.services.soju.serviceConfig.LoadCredential = [
 | 
			
		||||
    "cert.pem:${certDir}/cert.pem"
 | 
			
		||||
    "key.pem:${certDir}/key.pem"
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue