on master help sign in
Add hoogle database and ghcide from skeleton shell to cache
commit6d5ef79538da79d40754a14921f48855390568a2 author3noch <eacameron@gmail.com> dateSat 18 Apr 2020, 23:02 (6 years ago) parentbfaa8f6
1 file changed+14−5
all-builds.nix+14−5
all-builds.nix+14−5
@@ -53,19 +53,28 @@ let
5353 obelisk.haskellPackageSets.ghcjs
5454 obeliskPackagesCommon;
5555 command = obelisk.command;
56− skeleton = import ./skeleton { inherit obelisk; };
57− serverSkeletonExe = skeleton.exe;
56+
57+ withSkeletonOptions = skel: options: (skel.passthru.__unstable__.self.extend (self: super: {
58+ userSettings = super.userSettings // options;
59+ })).project;
60+ rawSkeleton = import ./skeleton { inherit obelisk; };
61+ skeleton = withSkeletonOptions rawSkeleton {
62+ withHoogle = true; # cache the Hoogle database for the skeleton
63+ __withGhcide = true; # cache the ghcide build for the skeleton
64+ };
65+
66+ serverSkeletonExe = rawSkeleton.exe;
5867 # TODO fix nixpkgs so it doesn't try to run the result of haskell shells as setup hooks.
5968 serverSkeletonShell = local-self.nixpkgs.runCommand "shell-safe-for-dep" {} ''
6069 touch "$out"
6170 echo "return" >> "$out"
6271 cat "${skeleton.shells.ghc}" >> "$out"
6372 '';
64− androidSkeleton = (import ./skeleton { inherit obelisk; }).android.frontend;
65− iosSkeleton = (import ./skeleton { inherit obelisk; }).ios.frontend;
73+ androidSkeleton = skeleton.android.frontend;
74+ iosSkeleton = skeleton.ios.frontend;
6675 nameSuffix = if profiling then "profiled" else "unprofiled";
6776 packages = {
68− skeletonProfiledObRun = skeleton.__unstable__.profiledObRun;
77+ skeletonProfiledObRun = rawSkeleton.__unstable__.profiledObRun;
6978 inherit
7079 command
7180 serverSkeletonShell