Skip to content

Commit 6a9af03

Browse files
Add more virtualization guest tools, regular tools, and update README
1 parent 49f4c7b commit 6a9af03

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# nixos-cloud-init-installer
22
A minimal NixOS flake with cloud-init designed for use as an installer ISO image for provisioning virtual machines
33

4-
This was designed to be used to provision new NixOS virtual machines on a Proxmox host, while allowing the dynamic configuration of disks and other hardware.
4+
This was designed to be used to provision new NixOS virtual machines on a Proxmox host (via QEMU/KVM), while allowing the dynamic configuration of disks and other hardware. However, this should also support other hypervisors, including VirtualBox, Hyper-V, Xen, and VMWare.
55

66
There exist pre-built ISO images that you are able to download, for both x86_64 and aarch64, in this repository's releases.
77

8+
**NOTE:** SSH login via password is disabled, for security reasons! Instead, it is recommended to pass public SSH keys to NixOS via cloud-init when using this installer. However, for ease of installation, no password is required to use sudo.
9+
810
## Steps to build this image yourself:
911

1012
This assumes that you have Nix installed on your system, with flakes and nix-commands enabled.

configuration.nix

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,30 @@
88
# Boot faster
99
boot.loader.timeout = lib.mkForce 2;
1010

11-
# Enabling things for easy connectivity and for integration with Proxmox
11+
# Enabling things for easy connectivity and for integration with Proxmox, as well as other hypervisors
1212
services.cloud-init.enable = true;
1313
services.openssh = {
1414
enable = true;
1515
settings.PermitRootLogin = "prohibit-password";
1616
};
1717
services.qemuGuest.enable = true;
18+
services.spice-vdagentd.enable = true;
19+
virtualisation.virtualbox.guest.enable = true;
20+
virtualisation.hypervGuest.enable = true;
1821

19-
# For convenience of installation
22+
# For convenience of installation/debugging
2023
security.sudo.wheelNeedsPassword = false;
2124
environment.systemPackages = with pkgs; [
2225
nano
26+
vim
27+
man-db
2328
git
2429
curl
30+
rsync
2531
htop
32+
bash-completion
33+
# More guest agents
34+
xen-guest-agent
35+
open-vm-tools
2636
];
2737
}

0 commit comments

Comments
 (0)