maybe this will do it
This commit is contained in:
		
							parent
							
								
									f28a92db30
								
							
						
					
					
						commit
						e24e984836
					
				|  | @ -107,7 +107,7 @@ | ||||||
|             cube = { |             cube = { | ||||||
|               modules = [ basant.nixosModule ]; |               modules = [ basant.nixosModule ]; | ||||||
|             }; |             }; | ||||||
|             # box = { }; |             box = { channelName = "nixos" }; | ||||||
|             # hypercube = { }; |             # hypercube = { }; | ||||||
|             # work = { }; |             # work = { }; | ||||||
|           }; |           }; | ||||||
|  | @ -118,8 +118,7 @@ | ||||||
|             suites = with profiles; rec { |             suites = with profiles; rec { | ||||||
|               base = [ core users.root users.anish ]; |               base = [ core users.root users.anish ]; | ||||||
|               sealight = [ base server ]; # matrix rsshub backup wireguard |               sealight = [ base server ]; # matrix rsshub backup wireguard | ||||||
|               mossnet = [ base server ]; # taskd nextcloud networking wireguard shaarli mod-wallabag wallabag headphones dns backup monitoring dev gonic module-gonic cron nfs |               mossnet = [ base server taskd nextcloud networking wireguard-box shaarli wallabag headphones dns backup monitoring dev gonic cron nfs];  | ||||||
| 
 |  | ||||||
|               cube = [ base site server ]; |               cube = [ base site server ]; | ||||||
|               graphical = [ base bluetooth music sync wireguard wifi desktop ]; |               graphical = [ base bluetooth music sync wireguard wifi desktop ]; | ||||||
|               curve = [ graphical secrets ]; |               curve = [ graphical secrets ]; | ||||||
|  |  | ||||||
							
								
								
									
										61
									
								
								profiles/wireguard-box/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								profiles/wireguard-box/default.nix
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,61 @@ | ||||||
|  | { config, pkgs, lib, ... }: | ||||||
|  | 
 | ||||||
|  | { | ||||||
|  |   services.tailscale.enable = true; | ||||||
|  |   networking.firewall.allowedUDPPorts = [ 60990 ]; | ||||||
|  | 
 | ||||||
|  |   # Enable WireGuard | ||||||
|  |   networking.wireguard.interfaces = { | ||||||
|  |     # "wg0" is the network interface name. You can name the interface arbitrarily. | ||||||
|  |     wg0 = { | ||||||
|  |       # Determines the IP address and subnet of the client's end of the tunnel interface. | ||||||
|  |       ips = [ "10.0.69.4/24" ]; | ||||||
|  |       listenPort = 60990; # to match firewall allowedUDPPorts (without this wg uses random port numbers) | ||||||
|  | 
 | ||||||
|  |       # Path to the private key file. | ||||||
|  |       # | ||||||
|  |       # Note: The private key can also be included inline via the privateKey option, | ||||||
|  |       # but this makes the private key world-readable; thus, using privateKeyFile is | ||||||
|  |       # recommended. | ||||||
|  |       privateKeyFile = "/home/anish/wg/privkey"; | ||||||
|  | 
 | ||||||
|  |       peers = [ | ||||||
|  |         # For a client configuration, one peer entry for the server will suffice. | ||||||
|  |         { | ||||||
|  |           # Public key of the server (not a file path). | ||||||
|  |           publicKey = "c1J4p63rD3IlszugMZiki7UBV3YmDdqa3DU4UejXzAI="; | ||||||
|  | 
 | ||||||
|  |           # Forward all the traffic via VPN. | ||||||
|  |           allowedIPs = [ "10.0.69.0/24" ]; | ||||||
|  |           # Or forward only particular subnets | ||||||
|  |           #allowedIPs = [ "10.100.0.1" "91.108.12.0/22" ]; | ||||||
|  | 
 | ||||||
|  |           # Set this to the server IP and port. | ||||||
|  |           endpoint = "sealight.xyz:60990"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577 | ||||||
|  | 
 | ||||||
|  |           # Send keepalives every 25 seconds. Important to keep NAT tables alive. | ||||||
|  |           persistentKeepalive = 25; | ||||||
|  |         } | ||||||
|  |       ]; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  | #  boot.extraModulePackages = with config.boot.kernelPackages; [ wireguard ]; | ||||||
|  | #  environment.systemPackages = [ pkgs.wireguard ]; | ||||||
|  | #  networking.wireguard.enable = true; | ||||||
|  | #  networking.wireguard.interfaces = { | ||||||
|  | #    wg0 = { | ||||||
|  | #      ips = [ "10.0.69.4/32" ]; | ||||||
|  | #      privateKeyFile = "/home/anish/wg/privkey"; | ||||||
|  | #      listenPort = 60990; | ||||||
|  | # | ||||||
|  | #      peers = [ | ||||||
|  | #        { # helix - server | ||||||
|  | #          publicKey = "{c1J4p63rD3IlszugMZiki7UBV3YmDdqa3DU4UejXzAI=}"; | ||||||
|  | #          allowedIPs = [ "10.0.69.1/24" ]; | ||||||
|  | #          endpoint = "sealight.xyz:60990"; | ||||||
|  | #          persistentKeepalive = 25; | ||||||
|  | #        } ]; | ||||||
|  | #    }; | ||||||
|  | #  }; | ||||||
|  | } | ||||||
		Loading…
	
		Reference in a new issue