forked from jan-leila/nix-config
		
	feat: fixed actual install
This commit is contained in:
		
							parent
							
								
									7ad6a83dfa
								
							
						
					
					
						commit
						f72a6da013
					
				
					 3 changed files with 18 additions and 8 deletions
				
			
		|  | @ -6,14 +6,18 @@ | |||
|   const = import ./const.nix; | ||||
|   dataDirectory = const.dataDirectory; | ||||
| in { | ||||
|   options.services.actual = { | ||||
|     port = lib.mkOption { | ||||
|       type = lib.types.port; | ||||
|       description = "The port to listen on"; | ||||
|       default = 5006; | ||||
|     }; | ||||
|   }; | ||||
|   config = lib.mkIf config.services.actual.enable { | ||||
|     systemd.tmpfiles.rules = [ | ||||
|       "d ${dataDirectory} 2770 actual actual" | ||||
|     ]; | ||||
| 
 | ||||
|     services.actual = { | ||||
|       settings = { | ||||
|         ACTUAL_DATA_DIR = dataDirectory; | ||||
|         port = config.services.actual.port; | ||||
|         dataDir = dataDirectory; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
|  |  | |||
|  | @ -1,3 +1,3 @@ | |||
| { | ||||
|   dataDirectory = "/var/lib/actual/"; | ||||
|   dataDirectory = "/var/lib/private/actual"; | ||||
| } | ||||
|  |  | |||
|  | @ -5,6 +5,8 @@ | |||
| }: let | ||||
|   const = import ./const.nix; | ||||
|   dataDirectory = const.dataDirectory; | ||||
|   # Strip /private from dataDirectory for assertion check (systemd DynamicUser adds /private automatically) | ||||
|   configDataDirectory = lib.strings.replaceStrings ["/var/lib/private"] ["/var/lib"] dataDirectory; | ||||
| in { | ||||
|   options.services.actual = { | ||||
|     impermanence.enable = lib.mkOption { | ||||
|  | @ -16,8 +18,12 @@ in { | |||
|   config = lib.mkIf config.services.actual.impermanence.enable { | ||||
|     assertions = [ | ||||
|       { | ||||
|         assertion = config.services.actual.settings.ACTUAL_DATA_DIR == dataDirectory; | ||||
|         message = "actual data location does not match persistence"; | ||||
|         assertion = config.services.actual.settings.dataDir == dataDirectory; | ||||
|         message = "actual data location does not match persistence\nconfig directory: ${config.services.actual.settings.dataDir}\npersistence directory: ${dataDirectory}"; | ||||
|       } | ||||
|       { | ||||
|         assertion = config.systemd.services.actual.serviceConfig.DynamicUser or false; | ||||
|         message = "actual systemd service must have DynamicUser enabled to use private directory"; | ||||
|       } | ||||
|     ]; | ||||
|     environment.persistence."/persist/system/root" = { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue