Open cfraz89 opened 6 years ago
try the .project
nix helper function:
Which automatically parses dependencies from your .cabal files, like stack.
Here is an example that's working for me:
https://github.com/sboosali/cards/blob/master/default.nix
Since you want the executable, I think you can add a build tool too, with an override:
https://github.com/reflex-frp/reflex-platform/blob/develop/project/default.nix#L72
(Btw, I'm sure you can get it working more simply, but like you I don't know too much nix.)
Had a bit more luck using a hie derivation generated by https://github.com/input-output-hk/stack2nix. Now nix-shell works, however cabal can't find jsaddle-warp. I think somehow reflex's ghc is being overridden by hie's?
When attempting to pass reflex's ghc to the hie derivation:
hie = reflex.ghc.callPackage ../../Downloads/haskell-ide-engine/hie.nix { compiler = reflex.ghc; };
I'm met with this error:
error: attribute ‘overrides’ missing, at /home/chris/Projects/racebase-reflex/reflex-platform/default.nix:194:63
i believe that haskell-ide-engine is already in reflex platform (line 417 in https://github.com/reflex-frp/reflex-platform/blob/develop/default.nix) in 0.6.0.0 version but still.
If you use Obelisk to update hie version to newest you could try
{ system ? builtins.currentSystem # TODO: Get rid of this system cruft
, iosSdkVersion ? "10.2"
}:
with import ./.obelisk/impl { inherit system iosSdkVersion; };
with import (fetchTarball https://github.com/domenkozar/hie-nix/tarball/master) {};
project ./. ({ ... }: {
android.applicationId = "systems.obsidian.obelisk.examples.minimal";
android.displayName = "Obelisk Minimal Example";
ios.bundleIdentifier = "systems.obsidian.obelisk.examples.minimal";
ios.bundleName = "Obelisk Minimal Example";
shellToolOverrides = self: super: {
haskell-ide-engine = hie84;
};
})
Trying to setup haskell-language-server but getting Multi Cradle: No prefixes matched
hack-on
will remove the nix-thunk files in dir and clone project instead to that dir./scripts/hack-on haskell-overlays/reflex-packages/dep/universe
./scripts/hack-on haskell-overlays/reflex-packages/dep/dependent-sum-universe-orphans
./scripts/hack-on haskell-overlays/reflex-packages/dep/reflex
./scripts/hack-on haskell-overlays/reflex-packages/dep/cabal-macosx
./scripts/hack-on haskell-overlays/reflex-packages/dep/jsaddle-dom
./scripts/hack-on haskell-overlays/reflex-packages/dep/reflex-dom
./scripts/hack-on haskell-overlays/reflex-packages/dep/ghcjs-dom
./scripts/hack-on haskell-overlays/reflex-packages/dep/dependent-monoidal-map
./scripts/hack-on haskell-overlays/reflex-packages/dep/reflex-todomvc
./scripts/hack-on haskell-overlays/reflex-packages/dep/gargoyle
./scripts/hack-on haskell-overlays/reflex-packages/dep/reflex-aeson-orphans
./scripts/hack-on haskell-overlays/reflex-packages/dep/jsaddle
./scripts/hack-on haskell-overlays/reflex-packages/dep/patch
hie.yaml
./try-reflex
Multi Cradle: No prefixes matched
pwd: /home/srghma/projects/reflex-platform
filepath:
/home/srghma/projects/reflex-platform/haskell-overlays/reflex-packages/dep/dependent-sum-universe-orphans/src/Data/Some/Universe/Orphans.hs
prefixes:
("./src",Cabal {component = Just "lib:dependent-sum-universe-orphans"})
Could someone help
Hi,
I'm attempting to add haskell-ide-engine to my project. It was recently added to NixPkgs, and hopefully reflex-platform's fork will include it soon. In the meantime, I've copied the package expression from here:
https://github.com/NixOS/nixpkgs/blob/89e882f956bcddf01ea2d69a569156bf93dcb9c6/pkgs/development/haskell-modules/hie-packages.nix
However my nix-foo isn't good enough to figure out how to invoke the package within the context of reflex-platform.
My shell.nix currently looks like this:
However I believe the invocation of
((callPackage ./hie-packages.nix {}) {});
is wrong, as I getAny help with this would be greatly appreciated.
Additionally, it would be great to see hie integrated into reflex-platform :D