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; |   const = import ./const.nix; | ||||||
|   dataDirectory = const.dataDirectory; |   dataDirectory = const.dataDirectory; | ||||||
| in { | 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 { |   config = lib.mkIf config.services.actual.enable { | ||||||
|     systemd.tmpfiles.rules = [ |  | ||||||
|       "d ${dataDirectory} 2770 actual actual" |  | ||||||
|     ]; |  | ||||||
| 
 |  | ||||||
|     services.actual = { |     services.actual = { | ||||||
|       settings = { |       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 | }: let | ||||||
|   const = import ./const.nix; |   const = import ./const.nix; | ||||||
|   dataDirectory = const.dataDirectory; |   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 { | in { | ||||||
|   options.services.actual = { |   options.services.actual = { | ||||||
|     impermanence.enable = lib.mkOption { |     impermanence.enable = lib.mkOption { | ||||||
|  | @ -16,8 +18,12 @@ in { | ||||||
|   config = lib.mkIf config.services.actual.impermanence.enable { |   config = lib.mkIf config.services.actual.impermanence.enable { | ||||||
|     assertions = [ |     assertions = [ | ||||||
|       { |       { | ||||||
|         assertion = config.services.actual.settings.ACTUAL_DATA_DIR == dataDirectory; |         assertion = config.services.actual.settings.dataDir == dataDirectory; | ||||||
|         message = "actual data location does not match persistence"; |         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" = { |     environment.persistence."/persist/system/root" = { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue