2
0
Fork 0
genodepkgs/nixos-configurations/default.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
'';
};
})
];
};
}