Skip to content

Instantly share code, notes, and snippets.

@IsaacR24
Created March 6, 2021 15:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save IsaacR24/8c1984653bdd0ce4be1bcbbd6ec83404 to your computer and use it in GitHub Desktop.
Save IsaacR24/8c1984653bdd0ce4be1bcbbd6ec83404 to your computer and use it in GitHub Desktop.
{ obelisk ? import ./.obelisk/impl {
system = builtins.currentSystem;
iosSdkVersion = "10.2";
# 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;
# terms.security.acme.acceptTerms = true;
# security.acme.acceptTerms = true;
terms.security.acme = {
acceptTerms = true;
email = "irabicoff@gmail.com";
};
}
}:
with obelisk;
project ./. ({ pkgs, hackGet, ... }: {
shellToolOverrides = ghc: super: {
libreoffice = pkgs.libreoffice;
poppler_utils = pkgs.poppler_utils;
};
packages = {
obelisk-oauth-common = (hackGet ./deps/obelisk-oauth) + "/common";
obelisk-oauth-backend = (hackGet ./deps/obelisk-oauth) + "/backend";
};
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; let
src = {
monad-logger = hackGet ./deps/monad-logger;
monad-logger-extras = hackGet ./deps/monad-logger-extras;
nonempty-vector = hackGet ./deps/nonempty-vector;
nonempty-containers = hackGet ./deps/nonempty-containers;
hpdf = hackGet ./deps/HPDF;
req = hackGet ./deps/req;
gargoyle = import ./deps/gargoyle/thunk.nix;
which = hackGet ./deps/which;
beam = import ./deps/beam/thunk.nix;
beam-auto = hackGet ./deps/beam-automigrate;
amazonka = import ./deps/amazonka/thunk.nix;
string-interpolate = import ./deps/string-interpolate/thunk.nix;
pdf-toolbox = import ./deps/pdf-toolbox/thunk.nix;
time-compat = hackGet ./deps/time-compat;
# aeson = hackGet ./deps/aeson;
};
in {
shells = {
ghc = ["libreoffice" "poppler_utils"];
};
backend = overrideCabal super.backend (drv: {
executableSystemDepends = (drv.executableSystemDepends or []) ++ (with pkgs; [libreoffice poppler_utils]);
});
# aeson = dontCheck (self.callCabal2nix "aeson" src.aeson {});
time-compat = dontCheck (self.callCabal2nix "time-compat" src.time-compat {});
monad-logger = self.callCabal2nix "monad-logger" src.monad-logger {};
monad-logger-extras = self.callCabal2nix "monad-logger-extras" src.monad-logger-extras {};
nonempty-vector = self.callCabal2nix "HPDF" src.nonempty-vector {};
nonempty-containers = dontCheck (self.callCabal2nix "HPDF" src.nonempty-containers {});
HPDF = dontCheck (self.callCabal2nix "HPDF" src.hpdf {});
req = self.callCabal2nix "req" src.req {};
beam-core = dontCheck (self.callCabal2nix "beam-core" (src.beam + "/beam-core") {});
beam-postgres = dontCheck (addBuildDepend (self.callCabal2nix "beam-postgres" (src.beam + "/beam-postgres") {}) pkgs.postgresql);
beam-migrate = doJailbreak (self.callCabal2nix "beam-migrate" (src.beam + "/beam-migrate") {});
beam-automigrate = addBuildDepend (self.callCabal2nix "beam-automigrate" src.beam-auto {}) pkgs.postgresql_10;
amazonka = pkgs.haskell.lib.dontCheck (self.callCabal2nix "amazonka" "${src.amazonka}/amazonka" {});
amazonka-core = pkgs.haskell.lib.dontCheck (self.callCabal2nix "amazonka-core" "${src.amazonka}/core" {});
amazonka-s3 = pkgs.haskell.lib.dontCheck (self.callCabal2nix "amazonka-s3" "${src.amazonka}/amazonka-s3" {});
string-interpolate = self.callCabal2nix "string-interpolate" "${src.string-interpolate}" {};
pdf-toolbox-core = dontCheck (self.callCabal2nix "pdf-toolbox-core" "${src.pdf-toolbox}/core" {});
pdf-toolbox-document = dontCheck (self.callCabal2nix "pdf-toolbox-document" "${src.pdf-toolbox}/document" {});
pdf-toolbox-content = dontCheck (self.callCabal2nix "pdf-toolbox-document" "${src.pdf-toolbox}/content" {});
which = self.callCabal2nix "which" "${src.which}" {};
gargoyle = self.callCabal2nix "gargoyle" "${src.gargoyle}/gargoyle" {};
gargoyle-postgresql = addBuildDepend (self.callCabal2nix "gargoyle-postgresql" "${src.gargoyle}/gargoyle-postgresql" {}) pkgs.postgresql_10;
gargoyle-postgresql-nix = addBuildTool (self.callCabal2nix "gargoyle-postgresql-nix" "${src.gargoyle}/gargoyle-postgresql-nix" {}) pkgs.postgresql_10;
gargoyle-postgresql-connect = self.callCabal2nix "gargoyle-postgresql-connect" (src.gargoyle + "/gargoyle-postgresql-connect") {};
postgresql-libpq = enableCabalFlag (overrideCabal super.postgresql-libpq (drv: {
pkgconfigDepends = (drv.pkgconfigDepends or []) ++ [pkgs.postgresql_10]; #TODO: Obelisk should probably provide this version of postgresql
})) "use-pkg-config";
};
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment