My usual haskell workflow is
```
$ cabal2nix ./. --shell > shell.nix
$ cabal2nix ./. > project.nix
$ # I have file default.nix [1] in project too
$ nix-shell # going into shell to use vim, ghc-mod etc
$ nix-build # building my project, usually doing that in parallel to vim
$ ./result/bin/foobar # testing my executable
```
[1] `pkgs ? import <nixpkgs> {} }: pkgs.haskellngPackages.callPackage
./project.nix {}`2015-05-17 2:10 GMT+03:00 Amy de Buitléir <[email protected]>: > I have a very simple Haskell project, with just two files, Jot.cabal and > Jot.hs. I can build and run it OK, but can't figure out how to install it. > > [amy@wombat9000:~/jot]$ cabal2nix --shell . > default.nix > > [amy@wombat9000:~/jot]$ nix-shell -I ~ --command 'cabal configure' > Warning: The package list for 'hackage.haskell.org' does not exist. > Run > 'cabal > update' to download it. > Resolving dependencies... > Configuring Jot-1.0... > > NOTE: I didn't run 'cabal update'. I'm guessing that I don't need to > because > haskell NG is managing haskell packages for me. > > [amy@wombat9000:~/jot]$ cabal build > Building Jot-1.0... > Preprocessing executable 'jot' for Jot-1.0... > [1 of 1] Compiling Main ( Jot.hs, > dist/build/jot/jot-tmp/Main.o ) > Linking dist/build/jot/jot ... > > [amy@wombat9000:~/jot]$ cabal run > > ...it works fine. So now I want to install it so I can run the "jot" > command > anywhere on my system. I created a shell.nix file: > > [amy@wombat9000:~/jot]$ cat shell.nix > { pkgs ? (import <nixpkgs> {}) }: > > (import ./default.nix) { > stdenv = pkgs.stdenv; > haskellngPackages = pkgs.haskellngPackages; > } > > [amy@wombat9000:~/jot]$ nix-env -f default.nix -i > installing ‘interactive-Jot-1.0-environment’ > these derivations will be built: > > > /nix/store/1nwq9hcna1j1pcinp41xlxysqzd3m7bh-interactive-Jot-1.0-environment.drv > building path(s) > > ‘/nix/store/svkd0dh83fs2rr1p18zbq1ldcnx0xz1w-interactive-Jot-1.0-environment’ > unpacking sources > variable $src or $srcs should point to the source > builder for > > ‘/nix/store/1nwq9hcna1j1pcinp41xlxysqzd3m7bh-interactive-Jot-1.0-environment.drv’ > failed with exit code 1 > error: build of > > ‘/nix/store/1nwq9hcna1j1pcinp41xlxysqzd3m7bh-interactive-Jot-1.0-environment.drv’ > failed > > > > _______________________________________________ > nix-dev mailing list > [email protected] > http://lists.science.uu.nl/mailman/listinfo/nix-dev > -- Sincerely, Arseniy Seroka
_______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
