{ system ? builtins.currentSystem , nix-thunk ? import ./dep/nix-thunk {} , obelisk ? import ./.obelisk/impl { inherit system; iosSdkVersion = "13.2"; # Here we insert our own nixpkgs overlays. Since it's a bit awkward, a future version of Obelisk will make # this more straightforward, but for now, the way to do this is by modifying the reflex-platform function # to modify its nixpkgsOverlays argument. Be sure to also have a look at ./nixpkgs-overlay.nix for the botan2 # overlay. reflex-platform-func = (args: import (nix-thunk.thunkSource ./.obelisk/impl + "/dep/reflex-platform") (args // { nixpkgsOverlays = args.nixpkgsOverlays ++ [(import ./nixpkgs-overlay.nix { inherit nix-thunk; })]; } ) ); # You must accept the Android Software Development Kit License Agreement at # https://developer.android.com/studio/terms in order to build Android apps. # Uncomment and set this to `true` to indicate your acceptance: # config.android_sdk.accept_license = false; # In order to use Let's Encrypt for HTTPS deployments you must accept # their terms of service at https://letsencrypt.org/repository/. # Uncomment and set this to `true` to indicate your acceptance: # terms.security.acme.acceptTerms = false; } }: with obelisk; (project ./. ({ pkgs, hackGet, ... }: { android.applicationId = "systems.obsidian.obelisk.examples.minimal"; android.displayName = "Obelisk Minimal Example"; ios.bundleIdentifier = "systems.obsidian.obelisk.examples.minimal"; ios.bundleName = "Obelisk Minimal Example"; overrides = self: super: with pkgs.haskell.lib; { # Here, we get the tahoe-chk package from the chk.hs thunk, # and use callCabal2nix to get a nix derivation to build it. # See the comment in ./nixpkgs-overlay.nix for a description # of how to interact with nix thunks. # I disabled the tests using the dontCheck function as the testsuite # tries to allocate too much memory and crashes for me. tahoe-chk = dontCheck (self.callCabal2nix "tahoe-chk" (nix-thunk.thunkSource ./dep/chkhs) {}); # We also ended up needing an override of the base32 library, which we obtain from Hackage. base32 = self.callHackageDirect { pkg = "base32"; ver = "0.2.1.0"; sha256 = "04glpmwp50qi29h8cb5j0w1rz0ww30nw4xgj2a3l7zh1gprhwj89"; } {}; reflex-material = self.callCabal2nix "reflex-material" (nix-thunk.thunkSource ./dep/reflex-material + "/reflex-material") {}; }; }) // { inherit (obelisk) nixpkgs ; })