2 config.android_sdk.accept_license = true;
3 iosSdkVersion = "10.2";
5, local-self ? import ./. self-args
6, supportedSystems ? [ builtins.currentSystem ]
10 inherit (local-self.nixpkgs) lib runCommand nix;
11 cacheBuildSystems = supportedSystems;
13 obeliskPackagesCommon = [
16 "obelisk-executable-config-lookup"
19 obeliskPackagesBackend = obeliskPackagesCommon ++ [
20 "obelisk-asset-manifest"
21 "obelisk-asset-serve-snap"
25 "obelisk-executable-config-inject"
33 pnameToAttrs = pkgsSet: pnames:
35 (name: { inherit name; value = pkgsSet.${name}; })
39 if lib.isDerivation v then [v]
40 else if lib.isAttrs v then lib.concatMap collect (builtins.attrValues v)
41 else if lib.isList v then lib.concatMap collect v
44 perPlatform = lib.genAttrs cacheBuildSystems (system: let
45 reflex-platform = import ./dep/reflex-platform { inherit system; };
47 mkPerProfiling = profiling: let
48 obelisk = import ./. (self-args // { inherit system profiling; });
50 obelisk.haskellPackageSets.ghc
51 obeliskPackagesBackend;
53 obelisk.haskellPackageSets.ghcjs
54 obeliskPackagesCommon;
55 command = obelisk.command;
57 withSkeletonOptions = skel: options: (skel.passthru.__unstable__.self.extend (self: super: {
58 userSettings = super.userSettings // options;
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
66 serverSkeletonExe = rawSkeleton.exe;
67 # TODO fix nixpkgs so it doesn't try to run the result of haskell shells as setup hooks.
68 serverSkeletonShell = local-self.nixpkgs.runCommand "shell-safe-for-dep" {} ''
70 echo "return" >> "$out"
71 cat "${skeleton.shells.ghc}" >> "$out"
73 androidSkeleton = skeleton.android.frontend;
74 iosSkeleton = skeleton.ios.frontend;
75 nameSuffix = if profiling then "profiled" else "unprofiled";
77 skeletonProfiledObRun = rawSkeleton.__unstable__.profiledObRun;
83 } // lib.optionalAttrs (!profiling) {
88 } // lib.optionalAttrs reflex-platform.androidSupport {
89 inherit androidSkeleton;
90 } // lib.optionalAttrs reflex-platform.iosSupport {
94 cache = reflex-platform.pinBuildInputs
95 "obelisk-${system}-${nameSuffix}"
100 profiled = mkPerProfiling true;
101 unprofiled = mkPerProfiling false;
104 cache = reflex-platform.pinBuildInputs
106 (map (p: p.cache) (builtins.attrValues perProfiling));
109 metaCache = local-self.reflex-platform.pinBuildInputs
111 (map (a: a.cache) (builtins.attrValues perPlatform));
113in perPlatform // { inherit metaCache; }
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list