[Nix-dev] obtaining the drv from an imported object
stewart mackenzie
setori88 at gmail.com
Sat Oct 22 20:17:26 CEST 2016
Greetings,
I have a specialization repo for fractalide i.e. the repos may import
each others components and contracts. They are just specializations /
experimental places
(https://github.com/fractalide/fractalide_external_opensource_example)
I want the specialization repo to be importable by canonical i.e:
https://github.com/fractalide/fractalide/blob/master/components/vendor/external/opensource/example/default.nix#L11
and I also want the programmer to be able to `cd specialization/` and
then build a vm right there instead of having to go into the
fractalide repo to build the vm.
This is the code I have so far for this repo
https://github.com/fractalide/fractalide_external_opensource_example/default.nix
{ fractalide ? import (fetchTarball
https://github.com/fractalide/fractalide/archive/master.tar.gz) {}
, pkgs ? fractalide.pkgs
, support ? fractalide.support
, contracts ? fractalide.contracts
, components ? fractalide.components}:
let
publicComponentOrSubnet = allComponents.vendor_test_nand;
allContracts = contracts // import ./contracts {inherit pkgs support
allContracts;};
allComponents = components // import ./components {inherit pkgs
support allContracts allComponents;};
componentOrSubnetOrVm = if fractalide == null then publicComponentOrSubnet
else import fractalide { inherit pkgs support allContracts
allComponents; exeSubnet = publicComponentOrSubnet;};
in
componentOrSubnetOrVm
The line in question is this one: else import fractalide { inherit
pkgs support allContracts allComponents; exeSubnet =
publicComponentOrSubnet;};
I want to find the drv of fractalide so I can `else import
fractalide.drv/support/vm { ...} (to that effect)
where the path points to this file:
https://github.com/fractalide/fractalide/blob/master/support/vm/default.nix
How do I obtain the drv?
Kind regards
Stewart
More information about the nix-dev
mailing list