 f116d046f6
			
		
	
	
		f116d046f6
		
	
	
	
	
		
			
			Since 34234dcb511066dd1e4fe75d80ee89519a8c8001, the reisizefs tool is embeded only if the `fsType` starts with `ext`. The default `fsType` value is `auto`.
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { pkgs, lib, ... }:
 | |
| 
 | |
| with lib;
 | |
| 
 | |
| let
 | |
|   metadataFetcher = import ./ec2-metadata-fetcher.nix {
 | |
|     targetRoot = "/";
 | |
|     wgetExtraOptions = "--retry-connrefused";
 | |
|   };
 | |
| in
 | |
| {
 | |
|   imports = [
 | |
|     ../profiles/qemu-guest.nix
 | |
|     ../profiles/headless.nix
 | |
|     # The Openstack Metadata service exposes data on an EC2 API also.
 | |
|     ./ec2-data.nix
 | |
|     ./amazon-init.nix
 | |
|   ];
 | |
| 
 | |
|   config = {
 | |
|     fileSystems."/" = {
 | |
|       device = "/dev/disk/by-label/nixos";
 | |
|       fsType = "ext4";
 | |
|       autoResize = true;
 | |
|     };
 | |
| 
 | |
|     boot.growPartition = true;
 | |
|     boot.kernelParams = [ "console=ttyS0" ];
 | |
|     boot.loader.grub.device = "/dev/vda";
 | |
|     boot.loader.timeout = 0;
 | |
| 
 | |
|     # Allow root logins
 | |
|     services.openssh = {
 | |
|       enable = true;
 | |
|       permitRootLogin = "prohibit-password";
 | |
|       passwordAuthentication = mkDefault false;
 | |
|     };
 | |
| 
 | |
|     # Force getting the hostname from Openstack metadata.
 | |
|     networking.hostName = mkDefault "";
 | |
| 
 | |
|     systemd.services.openstack-init = {
 | |
|       path = [ pkgs.wget ];
 | |
|       description = "Fetch Metadata on startup";
 | |
|       wantedBy = [ "multi-user.target" ];
 | |
|       before = [ "apply-ec2-data.service" "amazon-init.service"];
 | |
|       wants = [ "network-online.target" ];
 | |
|       after = [ "network-online.target" ];
 | |
|       script = metadataFetcher;
 | |
|       restartIfChanged = false;
 | |
|       unitConfig.X-StopOnRemoval = false;
 | |
|       serviceConfig = {
 | |
|         Type = "oneshot";
 | |
|         RemainAfterExit = true;
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |