[Nix-dev] nix-shell for a custom haskell library

m0rphism m0rphism at zankapfel.org
Sun May 31 12:19:21 CEST 2015


On 05/31/2015 11:54 AM, m0rphism wrote:
> On 05/30/2015 08:49 PM, Dmitry Malikov wrote:
>> I'm trying to setup a development environment for a custom haskell library
>> basing on a tutorial by Oliver Charles (http://wiki.ocharles.org.uk/Nix).
>>
>> So, here is a `shell.nix` of engine-io package
>> with (import <nixpkgs> {}).pkgs;
>> (haskellngPackages.callPackage ./. {}).env
>>
>> After I did `nix-shell` engine-io package is not actually installed inside
>> this shell:
>>>> ghc-pkg list | grep engine
>>>>
>>
>> How to get Network.EngineIO available inside a nix-shell in this case?
>>
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
> 
> I'm using this exact shell.nix for a few projects, where I have to
> manually edit the default.nix.
> 
> How does your default.nix look like? Does it list engine-io as a
> parameter and a build-dependency?
> 
> Here's an example default.nix, for which your shell.nix gets me into an
> environment where `ghc-pkg list | grep engine` tells me that engine-io
> is installed.
> 
> { mkDerivation, stdenv, engine-io } :   # <-- engine-io
> mkDerivation {
>   pname = "myproject";
>   version = "0.1.0.0";
>   src = ./.;
>   isLibrary = false;
>   isExecutable = true;
>   buildDepends = [ engine-io ];         # <-- engine-io
>   description = "";
>   license = stdenv.lib.licenses.publicDomain;
> }
> 
> The haskellngPackages.callPackage in nix.shell then calls this function
> in default.nix and supplies the package arguments, which it fetched from
> the nixpkgs checkout referenced by <nixpkgs>, which is the location
> described in your $NIX_PATH by `nixpkgs=...`.
> 
> Hope I could help! :)
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
> 
> 

I misread your original mail. I thought engine-io was a dependency of
your project and not that engine-io was your project. You can ignore my
previous mail and instead refer to peti's response. Sorry for the confusion.



More information about the nix-dev mailing list