README.md: Update to new and improved flake mechanisms #66
					 1 changed files with 8 additions and 26 deletions
				
			
		
							
								
								
									
										34
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										34
									
								
								README.md
									
										
									
									
									
								
							|  | @ -4,21 +4,16 @@ This is the NixOS configuration for [tlater.net](https://tlater.net/). | |||
| 
 | ||||
| ## Testing | ||||
| 
 | ||||
| ### Building | ||||
| 
 | ||||
| Build the VM with: | ||||
| Run a test VM with: | ||||
| 
 | ||||
| ``` | ||||
| nixos-rebuild build-vm --flake '.#vm' | ||||
| nix run | ||||
| ``` | ||||
| 
 | ||||
| ### Running | ||||
| 
 | ||||
| *Note: M-2 will bring up a console for poweroff and such* | ||||
| 
 | ||||
| Running should *mostly* be as simple as running the command the build | ||||
| script echos. | ||||
| 
 | ||||
| One caveat: create a larger disk image first. This can be done by | ||||
| running the following in the repository root: | ||||
| 
 | ||||
|  | @ -26,31 +21,18 @@ running the following in the repository root: | |||
| qemu-img create -f qcow2 ./tlaternet.qcow2 20G | ||||
| ``` | ||||
| 
 | ||||
| Everything else should be handled by the devShell. | ||||
| 
 | ||||
| ### New services | ||||
| 
 | ||||
| Whenever a new service is added, append an appropriate | ||||
| `,hostfwd=::3<port>:<port>` to the `QEMU_NET_OPTS` specified in | ||||
| `flake.nix` to bind the service to a host port. | ||||
| Whenever a new service is added, add an appropriate port binding to | ||||
| `qemuNetOpts` in the default app. | ||||
| 
 | ||||
| There is no way to test this without binding to the host port, sadly. | ||||
| 
 | ||||
| ## Deploying | ||||
| 
 | ||||
| Currently the deployment process is fully manual because there is no | ||||
| CI system. | ||||
| Deployment is handled using | ||||
| [deploy-rs](https://github.com/serokell/deploy-rs): | ||||
| 
 | ||||
| Nix makes this fairly painless, though, it's simply: | ||||
| 
 | ||||
| ```bash | ||||
| nixos-rebuild switch --use-remote-sudo --target-host tlater.net --build-host localhost --flake .#tlaternet | ||||
| ``` | ||||
| 
 | ||||
| This has the added benefit of running the build on the dev machine, | ||||
| which is 99% of the time much faster at building than the target | ||||
| (though artifact upload may take some time on slow connections). | ||||
| 
 | ||||
| Note that this also requires the current local user to also be present | ||||
| on the target host, as well as for this user to be in the target | ||||
| host's wheel group. See `nix.trustedUsers`. | ||||
| deploy .#tlaternet | ||||
| ``` | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue