forked from jan-leila/nix-config
		
	
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1,015 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1,015 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   config,
 | |
|   lib,
 | |
|   pkgs,
 | |
|   osConfig,
 | |
|   ...
 | |
| }: let
 | |
|   cfg = config.services.panoramax;
 | |
| in {
 | |
|   options.services.panoramax = {
 | |
|     enable = lib.mkEnableOption "panoramax";
 | |
| 
 | |
|     package = lib.mkOption {
 | |
|       type = lib.types.package;
 | |
|       default = pkgs.panoramax;
 | |
|       description = "The panoramax package to use";
 | |
|     };
 | |
| 
 | |
|     # TODO: create configs
 | |
|     # TODO: auto config db
 | |
|     # config = {
 | |
|     #   DB_PORT = lib.mkOption {};
 | |
|     #   DB_HOST = lib.mkOption {};
 | |
|     #   DB_USERNAME = lib.mkOption {};
 | |
|     #   DB_PASSWORD = lib.mkOption {};
 | |
|     #   DB_NAME = lib.mkOption {};
 | |
|     #   FS_URL = lib.mkOption {};
 | |
|     # };
 | |
|   };
 | |
| 
 | |
|   config = lib.mkIf cfg.enable (
 | |
|     lib.mkMerge [
 | |
|       {
 | |
|         # TODO: configure options for the package
 | |
|       }
 | |
|       (
 | |
|         lib.mkIf config.services.fail2ban {
 | |
|           # TODO: configure options for fail2ban
 | |
|         }
 | |
|       )
 | |
|       (
 | |
|         lib.mkIf osConfig.host.impermanence.enable {
 | |
|           # TODO: configure impermanence for panoramax data
 | |
|         }
 | |
|       )
 | |
|     ]
 | |
|   );
 | |
| }
 |