50 lines
1.5 KiB
Nix
50 lines
1.5 KiB
Nix
{ nixpkgs, genodepkgs }:
|
|
|
|
{
|
|
torDemo = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-genode";
|
|
modules = [
|
|
genodepkgs.nixosModules.x86_64
|
|
genodepkgs.nixosModules.nova
|
|
|
|
(import ./tor-relay.nix)
|
|
|
|
({ config, pkgs, ... }: {
|
|
system.build.libvirtDomain = with pkgs;
|
|
stdenv.mkDerivation {
|
|
name = config.system.name + ".libvirt";
|
|
|
|
# nativeBuildInputs = with pkgs.buildPackages; [ libvirt ];
|
|
|
|
buildCommand = ''
|
|
mkdir -p $out
|
|
virtXml=$out/libvirt-domain.xml
|
|
cat > $virtXml << EOF
|
|
<?xml version="1.0"?>
|
|
<domain type="qemu">
|
|
<name>${config.system.name}</name>
|
|
<memory>${toString config.virtualisation.memorySize}</memory>
|
|
<vcpu>${toString config.virtualisation.cores}</vcpu>
|
|
<os>
|
|
<type arch="x86_64" machine="pc">hvm</type>
|
|
<kernel>${config.virtualisation.qemu.kernel}</kernel>
|
|
<initrd>${config.virtualisation.qemu.initrd}</initrd>
|
|
<cmdline>${config.virtualisation.qemu.cmdline}</cmdline>
|
|
</os>
|
|
<devices>
|
|
<emulator>qemu-system-x86_64</emulator>
|
|
<interface type="network">
|
|
<source network="default"/>
|
|
</interface>
|
|
</devices>
|
|
</domain>
|
|
EOF
|
|
|
|
# virt-xml-validate $virtXml
|
|
'';
|
|
};
|
|
})
|
|
];
|
|
};
|
|
}
|