forked from jan-leila/nix-config
		
	moved defiant server configuration to server folder
This commit is contained in:
		
							parent
							
								
									24296367bc
								
							
						
					
					
						commit
						62fa9b6093
					
				
					 2 changed files with 58 additions and 87 deletions
				
			
		|  | @ -1,7 +1,63 @@ | ||||||
| { pkgs, ... }: | { config, ... }: | ||||||
| { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ../common |     ../common | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|  |   services = let | ||||||
|  |     headscaleDomain = "headscale.jan-leila.com"; | ||||||
|  |   in { | ||||||
|  |     nfs.server = { | ||||||
|  |       enable = true; | ||||||
|  |       exports = '' | ||||||
|  |         /home/leyla 192.168.1.0/22(rw,sync,no_subtree_check,crossmnt) | ||||||
|  |         /home/eve   192.168.1.0/22(rw,sync,no_subtree_check,crossmnt) | ||||||
|  |         /home/ester 192.168.1.0/22(rw,sync,no_subtree_check,crossmnt) | ||||||
|  |         /home/users 192.168.1.0/22(rw,sync,no_subtree_check,crossmnt) | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     headscale = { | ||||||
|  |       enable = true; | ||||||
|  |       address = "0.0.0.0"; | ||||||
|  |       port = 8080; | ||||||
|  |       settings = { | ||||||
|  |         server_url = "https://${headscaleDomain}"; | ||||||
|  |         dns_config.base_domain = "jan-leila.com"; | ||||||
|  |         logtail.enabled = false; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     nginx = { | ||||||
|  |       enable = false; # TODO: enable this when you want to test all the configs | ||||||
|  |       virtualHosts = { | ||||||
|  |         ${headscaleDomain} = { | ||||||
|  |           forceSSL = true; | ||||||
|  |           enableACME = true; | ||||||
|  |           locations."/" = { | ||||||
|  |             proxyPass = | ||||||
|  |               "http://localhost:${toString config.services.headscale.port}"; | ||||||
|  |             proxyWebsockets = true; | ||||||
|  |           }; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   security.acme = { | ||||||
|  |     acceptTerms = true; | ||||||
|  |     defaults.email = "jan-leila@protonmail.com"; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   # disable computer sleeping | ||||||
|  |   systemd.targets = { | ||||||
|  |     sleep.enable = false; | ||||||
|  |     suspend.enable = false; | ||||||
|  |     hibernate.enable = false; | ||||||
|  |     hybrid-sleep.enable = false; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   networking.firewall.allowedTCPPorts = [ 2049 ]; | ||||||
|  | 
 | ||||||
|  |   environment.systemPackages = [ config.services.headscale.package ]; | ||||||
| } | } | ||||||
|  | @ -20,14 +20,9 @@ | ||||||
|     efiInstallAsRemovable = true; |     efiInstallAsRemovable = true; | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   virtualisation.docker.enable = true; |  | ||||||
|   users.extraGroups.docker.members = [ "leyla" ]; |  | ||||||
| 
 |  | ||||||
|   nixpkgs.config.allowUnfree = true; |   nixpkgs.config.allowUnfree = true; | ||||||
| 
 | 
 | ||||||
|   services = let |   services = { | ||||||
|     headscaleDomain = "headscale.jan-leila.com"; |  | ||||||
|   in { |  | ||||||
|     zfs = { |     zfs = { | ||||||
|       autoScrub.enable = true; |       autoScrub.enable = true; | ||||||
|       autoSnapshot.enable = true; |       autoSnapshot.enable = true; | ||||||
|  | @ -50,88 +45,8 @@ | ||||||
|       # Get rid of xTerm |       # Get rid of xTerm | ||||||
|       excludePackages = [ pkgs.xterm ]; |       excludePackages = [ pkgs.xterm ]; | ||||||
|     }; |     }; | ||||||
| 
 |  | ||||||
|     nfs.server = { |  | ||||||
|       enable = true; |  | ||||||
|       exports = '' |  | ||||||
|         /srv/nfs4/docker 192.168.1.0/24(rw,sync,crossmnt,no_subtree_check) |  | ||||||
| 
 |  | ||||||
|         /srv/nfs4/leyla 192.168.1.0/22(rw,sync,no_subtree_check,nohide) |  | ||||||
|         /srv/nfs4/eve   192.168.1.0/22(rw,sync,no_subtree_check,crossmnt) |  | ||||||
|         /srv/nfs4/share 192.168.1.0/22(rw,sync,no_subtree_check,crossmnt) |  | ||||||
|          |  | ||||||
|         # /export         192.168.1.10(rw,fsid=0,no_subtree_check) 192.168.1.15(rw,fsid=0,no_subtree_check) |  | ||||||
|         # /export/kotomi  192.168.1.10(rw,nohide,insecure,no_subtree_check) 192.168.1.15(rw,nohide,insecure,no_subtree_check) |  | ||||||
|         # /export/mafuyu  192.168.1.10(rw,nohide,insecure,no_subtree_check) 192.168.1.15(rw,nohide,insecure,no_subtree_check) |  | ||||||
|         # /export/sen     192.168.1.10(rw,nohide,insecure,no_subtree_check) 192.168.1.15(rw,nohide,insecure,no_subtree_check) |  | ||||||
|         # /export/tomoyo  192.168.1.10(rw,nohide,insecure,no_subtree_check) 192.168.1.15(rw,nohide,insecure,no_subtree_check) |  | ||||||
|       ''; |  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|     headscale = { |  | ||||||
|       enable = true; |  | ||||||
|       address = "0.0.0.0"; |  | ||||||
|       port = 8080; |  | ||||||
|       settings = { |  | ||||||
|         server_url = "https://${headscaleDomain}"; |  | ||||||
|         dns_config.base_domain = "jan-leila.com"; |  | ||||||
|         logtail.enabled = false; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     nginx = { |  | ||||||
|       enable = false; # TODO: enable this when you want to test all the configs |  | ||||||
|       virtualHosts = { |  | ||||||
|         ${headscaleDomain} = { |  | ||||||
|           forceSSL = true; |  | ||||||
|           enableACME = true; |  | ||||||
|           locations."/" = { |  | ||||||
|             proxyPass = |  | ||||||
|               "http://localhost:${toString config.services.headscale.port}"; |  | ||||||
|             proxyWebsockets = true; |  | ||||||
|           }; |  | ||||||
|         }; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
|      |  | ||||||
|   security.acme = { |  | ||||||
|     acceptTerms = true; |  | ||||||
|     defaults.email = "jan-leila@protonmail.com"; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   # disable computer sleeping |  | ||||||
|   systemd.targets = { |  | ||||||
|     sleep.enable = false; |  | ||||||
|     suspend.enable = false; |  | ||||||
|     hibernate.enable = false; |  | ||||||
|     hybrid-sleep.enable = false; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   fileSystems = { |  | ||||||
|     "/srv/nfs4/docker" = { |  | ||||||
|       device = "/home/docker"; |  | ||||||
|       options = [ "bind" ]; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/srv/nfs4/users" = { |  | ||||||
|       device = "/home/users"; |  | ||||||
|       options = [ "bind" ]; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/srv/nfs4/leyla" = { |  | ||||||
|       device = "/home/leyla"; |  | ||||||
|       options = [ "bind" ]; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     "/srv/nfs4/eve" = { |  | ||||||
|       device = "/home/eve"; |  | ||||||
|       options = [ "bind" ]; |  | ||||||
|     }; |  | ||||||
|   }; |  | ||||||
| 
 |  | ||||||
|   environment.systemPackages = [ config.services.headscale.package ]; |  | ||||||
| 
 |  | ||||||
|   # This value determines the NixOS release from which the default |   # This value determines the NixOS release from which the default | ||||||
|   # settings for stateful data, like file locations and database versions |   # settings for stateful data, like file locations and database versions | ||||||
|   # on your system were taken. It‘s perfectly fine and recommended to leave |   # on your system were taken. It‘s perfectly fine and recommended to leave | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue