aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/idris-modules
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-12-21 06:05:12 +0100
committerMx Kookie <kookie@spacekookie.de>2020-12-21 06:05:12 +0100
commitf107be784e6d5da5f90735765a68fdff96acfbb4 (patch)
tree145573a598009fb6adbd5ef7fbce0a850681f5f0 /infra/libkookie/nixpkgs/pkgs/development/idris-modules
parent2e04b35e5ac3a9123cafffbc84494fa4d389cca0 (diff)
parente9158eca70ae59e73fae23be5d13d3fa0cfc78b4 (diff)
Add 'infra/libkookie/nixpkgs/' from commit 'e9158eca70ae59e73fae23be5d13d3fa0cfc78b4'
git-subtree-dir: infra/libkookie/nixpkgs git-subtree-mainline: 2e04b35e5ac3a9123cafffbc84494fa4d389cca0 git-subtree-split: e9158eca70ae59e73fae23be5d13d3fa0cfc78b4
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/idris-modules')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/README.md1
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/TODO.md3
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/array.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/bi.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/bifunctors.nix21
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/build-builtin-package.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/build-idris-package.nix77
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/bytes.nix21
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/canvas.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/categories.nix21
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/coda.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/comonad.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/composition.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/config.nix28
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/console.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/containers.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/cube.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/data.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/default.nix213
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/derive.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/descncrunch.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/dict.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/dom.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/electron.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/eternal.nix32
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/farrp.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/free.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/fsm.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/glfw.nix34
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/graphviz.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/hamt.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/hezarfen.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/hrtime.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/html.nix31
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/http.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/http4idris.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/iaia.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/idris-wrapper.nix14
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/idrishighlighter.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/idrisscript.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/ipkgparser.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/jheiling-extras.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/jheiling-js.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/js.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/lens.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/lightyear.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/logic.nix28
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/mapping.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/mhd.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/pacman.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/patricia.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/permutations.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/pfds.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/pipes.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/posix.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/protobuf.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/quantities.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/rationals.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/recursion_schemes.nix29
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/refined.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/sdl.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/sdl2.nix38
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/semidirect.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/setoids.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/smproc.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/snippets.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/software_foundations.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/specdris.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/tap.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/test.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/tfrandom.nix23
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/tlhydra.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/tomladris.nix26
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/tp.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/tparsec.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/transducers.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/trees.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/union_type.nix22
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/vdom.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/vecspace.nix24
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/webgl.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/with-packages.nix20
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/wl-pprint.nix21
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/wyvern.nix30
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/xhr.nix25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/yaml.nix27
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/idris-modules/yampa.nix25
87 files changed, 2393 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/README.md b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/README.md
new file mode 100644
index 000000000000..80b7ccefbcfa
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/README.md
@@ -0,0 +1 @@
+Moved to [/doc/languages-frameworks/idris.section.md](/doc/languages-frameworks/idris.section.md)
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/TODO.md b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/TODO.md
new file mode 100644
index 000000000000..41b0be2b2efa
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/TODO.md
@@ -0,0 +1,3 @@
+* Build the RTS separately from Idris
+* idris2nix
+* Only require gmp, rts when compiling executables
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/array.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/array.nix
new file mode 100644
index 000000000000..faed6443c48c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/array.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "array";
+ version = "2016-10-14";
+
+ src = fetchFromGitHub {
+ owner = "idris-hackers";
+ repo = "idris-array";
+ rev = "eb5c034d3c65b5cf465bd0715e65859b8f69bf15";
+ sha256 = "148dnyd664vnxi04zjsyjbs1y51dq0zz98005q9c042k4jcfpfjh";
+ };
+
+ meta = {
+ description = "Primitive flat arrays containing Idris values";
+ homepage = "https://github.com/idris-hackers/idris-array";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bi.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bi.nix
new file mode 100644
index 000000000000..51f6497e1821
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bi.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, pruviloj
+, lib
+}:
+build-idris-package {
+ name = "bi";
+ version = "2018-06-25";
+
+ ipkgName = "Bi";
+ idrisDeps = [ contrib pruviloj ];
+
+ src = fetchFromGitHub {
+ owner = "sbp";
+ repo = "idris-bi";
+ rev = "6bd90fb30b06ab02438efb5059e2fc699fdc7787";
+ sha256 = "1px550spigl8k1m1r64mjrw7qjvipa43xy95kz1pb5ibmy84d6r3";
+ };
+
+ meta = {
+ description = "Idris Binary Integer Arithmetic, porting PArith, NArith, and ZArith from Coq";
+ homepage = "https://github.com/sbp/idris-bi";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bifunctors.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bifunctors.nix
new file mode 100644
index 000000000000..15c7a6dd013f
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bifunctors.nix
@@ -0,0 +1,21 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "bifunctors";
+ version = "2017-02-07";
+
+ src = fetchFromGitHub {
+ owner = "japesinator";
+ repo = "Idris-Bifunctors";
+ rev = "be7b8bde88331ad3af87e5c0a23fc0f3d52f3868";
+ sha256 = "0cfp58lhm2g0g1vrpb0mh71qb44n2yvg5sil9ndyf2sqd5ria6yq";
+ };
+
+ meta = {
+ description = "A small bifunctor library for idris";
+ homepage = "https://github.com/japesinator/Idris-Bifunctors";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/build-builtin-package.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/build-builtin-package.nix
new file mode 100644
index 000000000000..ff19e52135c8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/build-builtin-package.nix
@@ -0,0 +1,25 @@
+# Build one of the packages that comes with idris
+# name: The name of the package
+# deps: The dependencies of the package
+{ idris, build-idris-package }: name: deps:
+let
+ inherit (builtins.parseDrvName idris.name) version;
+in
+build-idris-package {
+
+ inherit name version;
+ inherit (idris) src;
+
+ noPrelude = true;
+ noBase = true;
+
+ idrisDeps = deps;
+
+ postUnpack = ''
+ sourceRoot=$sourceRoot/libs/${name}
+ '';
+
+ meta = idris.meta // {
+ description = "${name} builtin Idris library";
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/build-idris-package.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/build-idris-package.nix
new file mode 100644
index 000000000000..ac0555636be0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/build-idris-package.nix
@@ -0,0 +1,77 @@
+# Build an idris package
+{ stdenv, lib, gmp, prelude, base, with-packages, idris }:
+ { idrisDeps ? []
+ , noPrelude ? false
+ , noBase ? false
+ , name
+ , version
+ , ipkgName ? name
+ , extraBuildInputs ? []
+ , idrisBuildOptions ? []
+ , idrisTestOptions ? []
+ , idrisInstallOptions ? []
+ , idrisDocOptions ? []
+ , ...
+ }@attrs:
+let
+ allIdrisDeps = idrisDeps
+ ++ lib.optional (!noPrelude) prelude
+ ++ lib.optional (!noBase) base;
+ idris-with-packages = with-packages allIdrisDeps;
+ newAttrs = builtins.removeAttrs attrs [
+ "idrisDeps" "noPrelude" "noBase"
+ "name" "version" "ipkgName" "extraBuildInputs"
+ ] // {
+ meta = attrs.meta // {
+ platforms = attrs.meta.platforms or idris.meta.platforms;
+ };
+ };
+in
+stdenv.mkDerivation ({
+ name = "idris-${name}-${version}";
+
+ buildInputs = [ idris-with-packages gmp ] ++ extraBuildInputs;
+ propagatedBuildInputs = allIdrisDeps;
+
+ # Some packages use the style
+ # opts = -i ../../path/to/package
+ # rather than the declarative pkgs attribute so we have to rewrite the path.
+ postPatch = ''
+ runHook prePatch
+ sed -i ${ipkgName}.ipkg -e "/^opts/ s|-i \\.\\./|-i ${idris-with-packages}/libs/|g"
+ '';
+
+ buildPhase = ''
+ runHook preBuild
+ idris --build ${ipkgName}.ipkg ${lib.escapeShellArgs idrisBuildOptions}
+ runHook postBuild
+ '';
+
+ checkPhase = ''
+ runHook preCheck
+ if grep -q tests ${ipkgName}.ipkg; then
+ idris --testpkg ${ipkgName}.ipkg ${lib.escapeShellArgs idrisTestOptions}
+ fi
+ runHook postCheck
+ '';
+
+ installPhase = ''
+ runHook preInstall
+
+ idris --install ${ipkgName}.ipkg --ibcsubdir $out/libs ${lib.escapeShellArgs idrisInstallOptions}
+
+ IDRIS_DOC_PATH=$out/doc idris --installdoc ${ipkgName}.ipkg ${lib.escapeShellArgs idrisDocOptions} || true
+
+ # If the ipkg file defines an executable, install that
+ executable=$(grep -Po '^executable = \K.*' ${ipkgName}.ipkg || true)
+ # $executable intentionally not quoted because it must be quoted correctly
+ # in the ipkg file already
+ if [ ! -z "$executable" ] && [ -f $executable ]; then
+ mkdir -p $out/bin
+ mv $executable $out/bin/$executable
+ fi
+
+ runHook postInstall
+ '';
+
+} // newAttrs)
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bytes.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bytes.nix
new file mode 100644
index 000000000000..eaff512d5d39
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/bytes.nix
@@ -0,0 +1,21 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "bytes";
+ version = "2018-02-10";
+
+ src = fetchFromGitHub {
+ owner = "ziman";
+ repo = "idris-bytes";
+ rev = "c0ed9db526d4529780f9d7d2636a40faa07661a5";
+ sha256 = "1xyb7k0mrk5imjf5jr2gvqwvasbfy6j4lxvz99r9icfz7crz8dfp";
+ };
+
+ meta = {
+ description = "FFI-based byte buffers for Idris";
+ homepage = "https://github.com/ziman/idris-bytes";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/canvas.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/canvas.nix
new file mode 100644
index 000000000000..77851c87179b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/canvas.nix
@@ -0,0 +1,23 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "canvas";
+ version = "2017-11-09";
+
+ ipkgName = "idriscanvas";
+
+ src = fetchFromGitHub {
+ owner = "JinWuZhao";
+ repo = "idriscanvas";
+ rev = "2957c78c0721ec3afaee9d64e051a8f8d9b6f426";
+ sha256 = "0jirkqciv3j1phpm2v6fmch40b5a01rmqdng16y8mihq1wb70ayy";
+ };
+
+ meta = {
+ description = "Idris FFI binding for html5 canvas 2d api";
+ homepage = "https://github.com/JinWuZhao/idriscanvas";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/categories.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/categories.nix
new file mode 100644
index 000000000000..adbe6d4f8ad4
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/categories.nix
@@ -0,0 +1,21 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "categories";
+ version = "2018-07-02";
+
+ src = fetchFromGitHub {
+ owner = "danilkolikov";
+ repo = "categories";
+ rev = "a1e0ac0f0da2e336a7d3900051892ff7ed504c35";
+ sha256 = "1bbmm8zif5d5wckdaddw6q3c39w6ms1cxrlrmkdn7bik88dawff2";
+ };
+
+ meta = {
+ description = "Category Theory";
+ homepage = "https://github.com/danilkolikov/categories";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/coda.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/coda.nix
new file mode 100644
index 000000000000..ecd7af443689
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/coda.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "coda";
+ version = "2018-01-25";
+
+ ipkgName = "Coda";
+
+ src = fetchFromGitHub {
+ owner = "ostera";
+ repo = "idris-coda";
+ rev = "0d8b29b7b73aa1ea80bf216e5e6dea5e81156e32";
+ sha256 = "07wps3pyp4ph0vj3640x561gkjkbcdq1if9h6sjjb30924sbdxfg";
+ };
+
+ meta = {
+ description = "Some Idris libraries including nodejs bindings and ISO8601 Date and Time";
+ homepage = "https://github.com/ostera/idris-coda";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/comonad.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/comonad.nix
new file mode 100644
index 000000000000..31fd8dbc9aa8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/comonad.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "comonad";
+ version = "2018-02-26";
+
+ src = fetchFromGitHub {
+ owner = "vmchale";
+ repo = "comonad";
+ rev = "23282592d4506708bdff79bfe1770c5f7a4ccb92";
+ sha256 = "0iiknx6gj4wr9s59iz439c63h3887pilymxrc80v79lj1lsk03ac";
+ };
+
+ meta = {
+ description = "Comonads for Idris";
+ homepage = "https://github.com/vmchale/comonad";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/composition.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/composition.nix
new file mode 100644
index 000000000000..5d6d2f891a63
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/composition.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, hezarfen
+, lib
+}:
+build-idris-package {
+ name = "composition";
+ version = "2017-11-12";
+
+ idrisDeps = [ hezarfen ];
+
+ src = fetchFromGitHub {
+ owner = "vmchale";
+ repo = "composition";
+ rev = "8f05e8db750793a9992b315dc0a2c327b837ec8b";
+ sha256 = "05424xzxx6f3ig0ravib15nr34nqvaq8spcj6b1512raqrvkkay8";
+ };
+
+ meta = {
+ description = "Composition extras for Idris";
+ homepage = "https://github.com/vmchale/composition";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/config.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/config.nix
new file mode 100644
index 000000000000..3771313d1784
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/config.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, containers
+, lightyear
+, test
+, lib
+}:
+build-idris-package {
+ name = "config";
+ version = "2017-11-06";
+
+ idrisDeps = [ effects containers lightyear test ];
+
+ src = fetchFromGitHub {
+ owner = "benclifford";
+ repo = "idris-config";
+ rev = "92f98652f5cb06a76c47809f16c661ec6cf11048";
+ sha256 = "1w2w2l4drvkf8mdzh3lwn6l5lnkbxlx9p22s7spw82n5s4wib6c9";
+ };
+
+ meta = {
+ description = "Parsers for various configuration files written in Idris.";
+ homepage = "https://github.com/benclifford/idris-config";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/console.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/console.nix
new file mode 100644
index 000000000000..e60ac20f4d40
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/console.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, idrisscript
+, hrtime
+, webgl
+, lib
+}:
+build-idris-package {
+ name = "console";
+ version = "2017-04-20";
+
+ idrisDeps = [ idrisscript hrtime webgl ];
+
+ src = fetchFromGitHub {
+ owner = "pierrebeaucamp";
+ repo = "idris-console";
+ rev = "14b6bd6bf6bd78dd3935e3de12e16f8ee41e29e4";
+ sha256 = "0cn4fwnf3sg6269pbfbhnmsvyaya4d8479n2hy039idxzzkxw0yb";
+ };
+
+ meta = {
+ description = "An Idris library to interact with the browser console";
+ homepage = "https://github.com/pierrebeaucamp/idris-console";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/containers.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/containers.nix
new file mode 100644
index 000000000000..e98285ca9306
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/containers.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, test
+, lib
+}:
+build-idris-package {
+ name = "containers";
+ version = "2017-09-10";
+
+ idrisDeps = [ effects test ];
+
+ src = fetchFromGitHub {
+ owner = "jfdm";
+ repo = "idris-containers";
+ rev = "fb96aaa3f40faa432cd7a36d956dbc4fe9279234";
+ sha256 = "0vyjadd9sb8qcbzvzhnqwc8wa7ma770c10xhn96jsqsnzr81k52d";
+ };
+
+ meta = {
+ description = "Various data structures for use in the Idris Language.";
+ homepage = "https://github.com/jfdm/idris-containers";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/cube.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/cube.nix
new file mode 100644
index 000000000000..8a0f66829d85
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/cube.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "cube";
+ version = "2017-07-05";
+
+ src = fetchFromGitHub {
+ owner = "aatxe";
+ repo = "cube.idr";
+ rev = "edf66d82b3a363dc65c6f5416c9e24e746bad71e";
+ sha256 = "11k45j0b4qabj6zhwjvynyj56nmssf7d4fnkv66bd2w1pxnshzxg";
+ };
+
+ meta = {
+ description = "An implementation of the Lambda Cube in Idris";
+ homepage = "https://github.com/aatxe/cube.idr";
+ license = lib.licenses.agpl3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/data.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/data.nix
new file mode 100644
index 000000000000..0517edec2d24
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/data.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "data";
+ version = "2018-03-19";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "jdevuyst";
+ repo = "idris-data";
+ rev = "105b78ac13235edc596287367a675d7cd04ce5d5";
+ sha256 = "17wz4jddan39984qibx2x7nv2zkqznv0fpab20nrm4zgy17v77ii";
+ };
+
+ meta = {
+ description = "Functional data structures in Idris";
+ homepage = "https://github.com/jdevuyst/idris-data";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/default.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/default.nix
new file mode 100644
index 000000000000..7011a513c101
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/default.nix
@@ -0,0 +1,213 @@
+{ pkgs, idris-no-deps, overrides ? (self: super: {}) }: let
+ inherit (pkgs.lib) callPackageWith fix' extends;
+
+ /* Taken from haskell-modules/default.nix, should probably abstract this away */
+ callPackageWithScope = scope: drv: args: (callPackageWith scope drv args) // {
+ overrideScope = f: callPackageWithScope (mkScope (fix' (extends f scope.__unfix__))) drv args;
+ };
+
+ mkScope = scope : pkgs // pkgs.xorg // pkgs.gnome2 // scope;
+
+ idrisPackages = self: let
+ defaultScope = mkScope self;
+
+ callPackage = callPackageWithScope defaultScope;
+
+ builtins_ = pkgs.lib.mapAttrs self.build-builtin-package {
+ prelude = [];
+
+ base = [ self.prelude ];
+
+ contrib = [ self.prelude self.base ];
+
+ effects = [ self.prelude self.base ];
+
+ pruviloj = [ self.prelude self.base ];
+ };
+
+ in
+ {
+ inherit idris-no-deps callPackage;
+
+ # Idris wrapper with specified compiler and library paths, used to build packages
+
+ idris = pkgs.callPackage ./idris-wrapper.nix {
+ inherit idris-no-deps;
+ };
+
+ # Utilities for building packages
+
+ with-packages = callPackage ./with-packages.nix {} ;
+
+ build-builtin-package = callPackage ./build-builtin-package.nix {};
+
+ build-idris-package = callPackage ./build-idris-package.nix {};
+
+ # The set of libraries that comes with idris
+
+ builtins = pkgs.lib.mapAttrsToList (name: value: value) builtins_;
+
+ # Libraries
+
+ array = callPackage ./array.nix {};
+
+ bi = callPackage ./bi.nix {};
+
+ bifunctors = callPackage ./bifunctors.nix {};
+
+ bytes = callPackage ./bytes.nix {};
+
+ canvas = callPackage ./canvas.nix {};
+
+ categories = callPackage ./categories.nix {};
+
+ coda = callPackage ./coda.nix {};
+
+ config = callPackage ./config.nix {};
+
+ comonad = callPackage ./comonad.nix {};
+
+ composition = callPackage ./composition.nix {};
+
+ console = callPackage ./console.nix {};
+
+ containers = callPackage ./containers.nix {};
+
+ cube = callPackage ./cube.nix {};
+
+ data = callPackage ./data.nix {};
+
+ derive = callPackage ./derive.nix {};
+
+ descncrunch = callPackage ./descncrunch.nix {};
+
+ dict = callPackage ./dict.nix {};
+
+ dom = callPackage ./dom.nix {};
+
+ electron = callPackage ./electron.nix {};
+
+ eternal = callPackage ./eternal.nix {};
+
+ farrp = callPackage ./farrp.nix {};
+
+ free = callPackage ./free.nix {};
+
+ fsm = callPackage ./fsm.nix {};
+
+ glfw = callPackage ./glfw.nix {};
+
+ graphviz = callPackage ./graphviz.nix {};
+
+ hamt = callPackage ./hamt.nix {};
+
+ html = callPackage ./html.nix {};
+
+ hezarfen = callPackage ./hezarfen.nix {};
+
+ hrtime = callPackage ./hrtime.nix {};
+
+ http = callPackage ./http.nix {};
+
+ http4idris = callPackage ./http4idris.nix {};
+
+ iaia = callPackage ./iaia.nix {};
+
+ idrishighlighter = callPackage ./idrishighlighter.nix {};
+
+ idrisscript = callPackage ./idrisscript.nix {};
+
+ ipkgparser = callPackage ./ipkgparser.nix {};
+
+ jheiling-extras = callPackage ./jheiling-extras.nix {};
+
+ jheiling-js = callPackage ./jheiling-js.nix {};
+
+ js = callPackage ./js.nix {};
+
+ lens = callPackage ./lens.nix {};
+
+ lightyear = callPackage ./lightyear.nix {};
+
+ logic = callPackage ./logic.nix {};
+
+ mapping = callPackage ./mapping.nix {};
+
+ mhd = callPackage ./mhd.nix {};
+
+ pacman = callPackage ./pacman.nix {};
+
+ patricia = callPackage ./patricia.nix {};
+
+ permutations = callPackage ./permutations.nix {};
+
+ pfds = callPackage ./pfds.nix {};
+
+ pipes = callPackage ./pipes.nix {};
+
+ posix = callPackage ./posix.nix {};
+
+ protobuf = callPackage ./protobuf.nix {};
+
+ quantities = callPackage ./quantities.nix {};
+
+ rationals = callPackage ./rationals.nix {};
+
+ recursion_schemes = callPackage ./recursion_schemes.nix {};
+
+ refined = callPackage ./refined.nix {};
+
+ sdl = callPackage ./sdl.nix {};
+
+ sdl2 = callPackage ./sdl2.nix {};
+
+ semidirect = callPackage ./semidirect.nix {};
+
+ setoids = callPackage ./setoids.nix {};
+
+ smproc = callPackage ./smproc.nix {};
+
+ snippets = callPackage ./snippets.nix {};
+
+ software_foundations = callPackage ./software_foundations.nix {};
+
+ specdris = callPackage ./specdris.nix {};
+
+ tap = callPackage ./tap.nix {};
+
+ test = callPackage ./test.nix {};
+
+ tf-random = callPackage ./tfrandom.nix {};
+
+ tlhydra = callPackage ./tlhydra.nix {};
+
+ tomladris = callPackage ./tomladris.nix {};
+
+ tp = callPackage ./tp.nix {};
+
+ tparsec = callPackage ./tparsec.nix {};
+
+ transducers = callPackage ./transducers.nix {};
+
+ trees = callPackage ./trees.nix {};
+
+ union_type = callPackage ./union_type.nix {};
+
+ vdom = callPackage ./vdom.nix {};
+
+ vecspace = callPackage ./vecspace.nix {};
+
+ webgl = callPackage ./webgl.nix {};
+
+ wl-pprint = callPackage ./wl-pprint.nix {};
+
+ wyvern = callPackage ./wyvern.nix {};
+
+ xhr = callPackage ./xhr.nix {};
+
+ yaml = callPackage ./yaml.nix {};
+
+ yampa = callPackage ./yampa.nix {};
+
+ } // builtins_;
+in fix' (extends overrides idrisPackages)
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/derive.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/derive.nix
new file mode 100644
index 000000000000..7ab87d71d063
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/derive.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, pruviloj
+, lib
+}:
+build-idris-package {
+ name = "derive";
+ version = "2018-07-02";
+
+ idrisDeps = [ contrib pruviloj ];
+
+ src = fetchFromGitHub {
+ owner = "david-christiansen";
+ repo = "derive-all-the-instances";
+ rev = "0a9a5082d4ab6f879a2c141d1a7b645fa73fd950";
+ sha256 = "06za15m1kv9mijzll5712crry4iwx3b0fjv76gy9vv1p10gy2g4m";
+ };
+
+ meta = {
+ description = "Type class deriving with elaboration reflection";
+ homepage = "https://github.com/davlum/derive-all-the-instances";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/descncrunch.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/descncrunch.nix
new file mode 100644
index 000000000000..95f49a524bc0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/descncrunch.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, pruviloj
+, lib
+}:
+build-idris-package {
+ name = "descncrunch";
+ version = "2017-11-15";
+
+ idrisDeps = [ pruviloj ];
+
+ src = fetchFromGitHub {
+ owner = "ahmadsalim";
+ repo = "desc-n-crunch";
+ rev = "261d9718504b8f0572c4fe7ae407a0231779bcab";
+ sha256 = "09fh334aga1z1hbw79507rdv7qsh0mqzb89lvpznn7vzi9zkl8fx";
+ };
+
+ meta = {
+ description = "Descriptions, levitation, and reflecting the elaborator";
+ homepage = "https://github.com/ahmadsalim/desc-n-crunch";
+ license = lib.licenses.gpl3;
+ maintainers = [ lib.maintainers.brainrape ];
+ broken = true;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/dict.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/dict.nix
new file mode 100644
index 000000000000..24cc7c0359d1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/dict.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "dict";
+ version = "2016-12-26";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "be5invis";
+ repo = "idris-dict";
+ rev = "dddc7c9f45e079b151ee03c9752b968ceeab9dab";
+ sha256 = "18riq40vapg884y92w10w51j4896ah984zm5hisfv1sm9qbgx8ii";
+ };
+
+ postUnpack = ''
+ sed -i 's/\"//g' source/dict.ipkg
+ '';
+
+ meta = {
+ description = "Dict k v in Idris";
+ homepage = "https://github.com/be5invis/idris-dict";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/dom.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/dom.nix
new file mode 100644
index 000000000000..f88827fb2654
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/dom.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, idrisscript
+, html
+, xhr
+, lib
+}:
+build-idris-package {
+ name = "dom";
+ version = "2017-04-22";
+
+ idrisDeps = [ idrisscript html xhr ];
+
+ src = fetchFromGitHub {
+ owner = "pierrebeaucamp";
+ repo = "idris-dom";
+ rev = "6e5a2d143f62ef422358924ee7db6e8147cdc531";
+ sha256 = "16z9mykw2d9rjikn07kd6igb53jgaqi8zby4nc4n0gmplmhwdx4x";
+ };
+
+ meta = {
+ description = "Idris library to interact with the DOM";
+ homepage = "https://github.com/pierrebeaucamp/idris-dom";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/electron.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/electron.nix
new file mode 100644
index 000000000000..172f1980a90b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/electron.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, jheiling-extras
+, jheiling-js
+, lib
+}:
+build-idris-package {
+ name = "electron";
+ version = "2016-03-07";
+
+ idrisDeps = [ contrib jheiling-extras jheiling-js ];
+
+ src = fetchFromGitHub {
+ owner = "jheiling";
+ repo = "idris-electron";
+ rev = "f0e86f52b8e5a546a2bf714709b659c1c0b04395";
+ sha256 = "1rpa7yjvfpzl06h0qbk54jd2n52nmgpf7nq5aamcinqh7h5gbiwn";
+ };
+
+ meta = {
+ description = "Electron bindings for Idris";
+ homepage = "https://github.com/jheiling/idris-electron";
+ license = lib.licenses.unlicense;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/eternal.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/eternal.nix
new file mode 100644
index 000000000000..673df485a380
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/eternal.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lib
+}:
+build-idris-package {
+ name = "eternal";
+ version = "2018-07-02";
+
+ idrisDeps = [ effects ];
+
+ src = fetchFromGitHub {
+ owner = "Heather";
+ repo = "Control.Eternal.Idris";
+ rev = "2f84b0dd49a7a29a2f852ba96cabfe8322e0852b";
+ sha256 = "1x8cwngiqi05f3wll0niznm47jj2byivx4mh5xf4sb47kciwkxvs";
+ };
+
+ postUnpack = ''
+ printf 'makefile = Makefile\n' >> source/eternal.ipkg
+ printf 'objs = readProcess.o\n' >> source/eternal.ipkg
+ sed -i 's/\/usr\/local\/idris\/readProcess.h/readProcess.h/g' source/Control/Eternal/System/Process.idr
+ sed -i 's/\/usr\/local\/idris\/readProcess.o/readProcess.o/g' source/Control/Eternal/System/Process.idr
+ '';
+
+ meta = {
+ description = "Infix pipe operators and some Nat, Float, String conversions";
+ homepage = "https://github.com/Heather/Control.Eternal.Idris";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/farrp.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/farrp.nix
new file mode 100644
index 000000000000..88f852ba20c0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/farrp.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lib
+}:
+build-idris-package {
+ name = "farrp";
+ version = "2018-02-13";
+
+ idrisDeps = [ effects ];
+
+ src = fetchFromGitHub {
+ owner = "lambda-11235";
+ repo = "FarRP";
+ rev = "d592957232968743f8862e49d5a8d52e13340444";
+ sha256 = "1zrf750d7x1cz7kkgcx4ipa87hkg10adwii4qqvz9vpjap7vh7h0";
+ };
+
+ meta = {
+ description = "Arrowized FRP library for Idris with static safety guarantees";
+ homepage = "https://github.com/lambda-11235/FarRP";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/free.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/free.nix
new file mode 100644
index 000000000000..6f7a5f56d4f9
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/free.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "free";
+ version = "2017-07-03";
+
+ ipkgName = "idris-free";
+
+ src = fetchFromGitHub {
+ owner = "idris-hackers";
+ repo = "idris-free";
+ rev = "919950fb6a9d97c139c2d102402fec094a99c397";
+ sha256 = "1n4daf1acjkd73an4m31yp9g616crjb7h5z02f1gj29wm3dbx5s7";
+ };
+
+ meta = {
+ description = "Free Monads and useful constructions to work with them";
+ homepage = "https://github.com/idris-hackers/idris-free";
+ license = lib.licenses.bsd2;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/fsm.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/fsm.nix
new file mode 100644
index 000000000000..5da5f01da348
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/fsm.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "fsm";
+ version = "2017-04-16";
+
+ src = fetchFromGitHub {
+ owner = "ctford";
+ repo = "flying-spaghetti-monster";
+ rev = "9253db1048d155b9d72dd5319f0a2072b574d406";
+ sha256 = "0n1kqpxysl3dji0zd8c47ir4144s0n3pb8i1mqp6ylma3r7rlg1l";
+ };
+
+ meta = {
+ description = "Comonads for Idris";
+ homepage = "https://github.com/ctford/flying-spaghetti-monster";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/glfw.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/glfw.nix
new file mode 100644
index 000000000000..da23ae18331c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/glfw.nix
@@ -0,0 +1,34 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lib
+, pkgs
+}:
+build-idris-package {
+ name = "glfw";
+ version = "2016-12-05";
+
+ idrisDeps = [ effects ];
+
+ nativeBuildInputs = [ pkgs.pkgconfig ];
+ extraBuildInputs = [ pkgs.glfw ];
+
+ postPatch = ''
+ substituteInPlace src/MakefileGlfw \
+ --replace glfw3 "glfw3 gl"
+ '';
+
+ src = fetchFromGitHub {
+ owner = "eckart";
+ repo = "glfw-idris";
+ rev = "10220a734b69f3b884683041a1a9c533800b663a";
+ sha256 = "045ylaj66g5m4syzhqxlaxmivy8y7jznkcf1y7w4awa4y5znyqqd";
+ };
+
+ meta = {
+ description = "GLFW bindings for Idris";
+ homepage = "https://github.com/eckart/glfw-idris";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/graphviz.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/graphviz.nix
new file mode 100644
index 000000000000..650f0e0b99bc
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/graphviz.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitLab
+, lightyear
+, lib
+}:
+build-idris-package {
+ name = "graphviz";
+ version = "2017-01-16";
+
+ idrisDeps = [ lightyear ];
+
+ src = fetchFromGitLab {
+ owner = "mgttlinger";
+ repo = "idris-graphviz";
+ rev = "805da92ac888530134c3b4090fae0d025d86bb05";
+ sha256 = "12kzgjlwq6adflfc5zxpgjnaiszhiab6dcp878ysbz3zr2sihljx";
+ };
+
+ postUnpack = ''
+ sed -i "/^author /cauthor = Merlin Goettlinger" source/graphviz.ipkg
+ '';
+
+ meta = {
+ description = "Parser and library for graphviz dot files";
+ homepage = "https://gitlab.com/mgttlinger/idris-graphviz";
+ license = lib.licenses.gpl3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hamt.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hamt.nix
new file mode 100644
index 000000000000..3c6868fcc592
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hamt.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, effects
+, lib
+}:
+build-idris-package {
+ name = "hamt";
+ version = "2016-11-15";
+
+ idrisDeps = [ contrib effects ];
+
+ src = fetchFromGitHub {
+ owner = "bamboo";
+ repo = "idris-hamt";
+ rev = "e70f3eedddb5ccafea8e386762b8421ba63c495a";
+ sha256 = "0m2yjr20dxkfmn3nzc68l6vh0rdaw6b637yijwl4c83b5xiac1mi";
+ };
+
+ meta = {
+ description = "Idris Hash Array Mapped Trie";
+ homepage = "https://github.com/bamboo/idris-hamt";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hezarfen.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hezarfen.nix
new file mode 100644
index 000000000000..acbc2770ea52
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hezarfen.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "hezarfen";
+ version = "2018-02-03";
+
+ src = fetchFromGitHub {
+ owner = "joom";
+ repo = "hezarfen";
+ rev = "079884d85619cd187ae67230480a1f37327f8d78";
+ sha256 = "0z4150gavpx64m3l0xbjjz9dcir7zij9hvd69k98zvhw7i27b1xp";
+ };
+
+ meta = {
+ description = "a theorem prover for intuitionistic propositional logic in Idris, with metaprogramming features";
+ homepage = "https://github.com/joom/hezarfen";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hrtime.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hrtime.nix
new file mode 100644
index 000000000000..7f4d0769cc41
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/hrtime.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, idrisscript
+, lib
+}:
+build-idris-package {
+ name = "hrtime";
+ version = "2017-04-16";
+
+ ipkgName = "hrTime";
+ idrisDeps = [ idrisscript ];
+
+ src = fetchFromGitHub {
+ owner = "pierrebeaucamp";
+ repo = "idris-hrtime";
+ rev = "e1f54ce74bde871010ae76d9afd42048cd2aae83";
+ sha256 = "0rmmpi1kp1h7ficmcxbxkny9lq9pjli2qhwy17vgbgx8fx60m8l0";
+ };
+
+ meta = {
+ description = "Idris library for high resolution time";
+ homepage = "https://github.com/pierrebeaucamp/idris-hrtime";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/html.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/html.nix
new file mode 100644
index 000000000000..2ab7534936aa
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/html.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, idrisscript
+, hrtime
+, webgl
+, lib
+}:
+build-idris-package {
+ name = "html";
+ version = "2017-04-23";
+
+ idrisDeps = [ idrisscript hrtime webgl ];
+
+ src = fetchFromGitHub {
+ owner = "pierrebeaucamp";
+ repo = "idris-html";
+ rev = "f59ecc560d7008ba26dda83f11319bb24ed6c508";
+ sha256 = "0r2clvkyld3y3r6smkfb7s47qnndikwds3bx9hphidbn41wjnh0i";
+ };
+
+ postUnpack = ''
+ sed -i "s/hrTime/hrtime/g" source/html.ipkg
+ '';
+
+ meta = {
+ description = "Idris library to interact with HTML";
+ homepage = "https://github.com/pierrebeaucamp/idris-html";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/http.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/http.nix
new file mode 100644
index 000000000000..45e505be056b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/http.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lightyear
+, bytes
+, lib
+}:
+build-idris-package {
+ name = "http";
+ version = "2018-02-25";
+
+ idrisDeps = [ contrib lightyear bytes ];
+
+ src = fetchFromGitHub {
+ owner = "uwap";
+ repo = "idris-http";
+ rev = "dc4a31543f87c0bc44cbaa98192f0303cd8dd82e";
+ sha256 = "1abrwi5ikymff4g7a0g5wskycvhpnn895z1z1bz9r71ks554ypl8";
+ };
+
+ meta = {
+ description = "An HTTP library for idris";
+ homepage = "https://github.com/uwap/idris-http";
+ license = lib.licenses.bsd2;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/http4idris.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/http4idris.nix
new file mode 100644
index 000000000000..11e9d62c051e
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/http4idris.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "http4idris";
+ version = "2018-01-16";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "A1kmm";
+ repo = "http4idris";
+ rev = "f44ffd2a15628869c7aadf241e3c9b1ee7b40941";
+ sha256 = "16bs7rxbsq7m7jm96zkqiq8hj68l907m8xgmjrcxzl158qvzhw1w";
+ };
+
+ meta = {
+ description = "An experimental HTTP framework for Idris";
+ homepage = "https://github.com/A1kmm/http4idris";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/iaia.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/iaia.nix
new file mode 100644
index 000000000000..865d533750f9
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/iaia.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "iaia";
+ version = "2017-11-10";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "sellout";
+ repo = "Iaia";
+ rev = "dce68d2b63a26dad7c94459773eae2d42686fa05";
+ sha256 = "0209fhv8x3sw6ijrwc8a85pch97z821ygaz78va3l274xam4l659";
+ };
+
+ meta = {
+ description = "Recursion scheme library for Idris";
+ homepage = "https://github.com/sellout/Iaia";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idris-wrapper.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idris-wrapper.nix
new file mode 100644
index 000000000000..68a1a0f267ad
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idris-wrapper.nix
@@ -0,0 +1,14 @@
+{ stdenv, lib, symlinkJoin, makeWrapper, idris-no-deps, gmp }:
+
+symlinkJoin {
+ inherit (idris-no-deps) name src meta;
+ paths = [ idris-no-deps ];
+ buildInputs = [ makeWrapper ];
+ postBuild = ''
+ wrapProgram $out/bin/idris \
+ --run 'export IDRIS_CC=''${IDRIS_CC:-${stdenv.cc}/bin/cc}' \
+ --set 'NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}' 1 \
+ --prefix NIX_CFLAGS_COMPILE " " "-I${lib.getDev gmp}/include" \
+ --prefix NIX_CFLAGS_LINK " " "-L${lib.getLib gmp}/lib"
+ '';
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idrishighlighter.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idrishighlighter.nix
new file mode 100644
index 000000000000..6b1ae30ad403
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idrishighlighter.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lightyear
+, lib
+}:
+build-idris-package {
+ name = "idrishighlighter";
+ version = "2018-02-22";
+
+ ipkgName = "idris-code-highlighter";
+ idrisDeps = [ effects lightyear ];
+
+ src = fetchFromGitHub {
+ owner = "david-christiansen";
+ repo = "idris-code-highlighter";
+ rev = "708a29c7d1433adf7b0f69d1aec50e69b2915bba";
+ sha256 = "16ahzf2jzh7wzi4jjq94s5z9nzkgnj2962dy13s1crim53csjgw5";
+ };
+
+ meta = {
+ description = "Semantic highlighter for Idris code";
+ homepage = "https://github.com/david-christiansen/idris-code-highlighter";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idrisscript.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idrisscript.nix
new file mode 100644
index 000000000000..805facda84c6
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/idrisscript.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "idrisscript";
+ version = "2017-07-01";
+
+ src = fetchFromGitHub {
+ owner = "idris-hackers";
+ repo = "IdrisScript";
+ rev = "4bb7019182392f24d2246a3e616f829156c8f091";
+ sha256 = "074ignh2hqwq4ng5nk7dswga4lm7342w7h4bmx4n03ygrn7w89ff";
+ };
+
+ meta = {
+ description = "FFI Bindings to interact with the unsafe world of JavaScript";
+ homepage = "https://github.com/idris-hackers/IdrisScript";
+ license = lib.licenses.bsd2;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/ipkgparser.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/ipkgparser.nix
new file mode 100644
index 000000000000..6bdcd9e9f557
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/ipkgparser.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, effects
+, lightyear
+, lib
+}:
+build-idris-package {
+ name = "ipkgparser";
+ version = "2017-11-14";
+
+ idrisDeps = [ contrib effects lightyear ];
+
+ src = fetchFromGitHub {
+ owner = "emptyflash";
+ repo = "idris-ipkg-parser";
+ rev = "35cc2f54d4f3b3710f637d0a8c897bfbb32fe183";
+ sha256 = "0vn3pigqddfy7cld0386hxzdv2nkl8mdpsx97hvyvqzrdpz4wl2q";
+ };
+
+ meta = {
+ description = "Parser for Idris iPkg files written in Idris using Lightyear";
+ homepage = "https://github.com/emptyflash/idris-ipkg-parser";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/jheiling-extras.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/jheiling-extras.nix
new file mode 100644
index 000000000000..ae933b264ae4
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/jheiling-extras.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "extras";
+ version = "2018-03-06";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "jheiling";
+ repo = "idris-extras";
+ rev = "20e79087043ddb00301cdc3036964a2b1c5b1c5f";
+ sha256 = "0j34a7vawrkc7nkwwnv6lsjjdcr00d85csjw06nnbh8rj4vj5ps0";
+ };
+
+ meta = {
+ description = "Some useful functions for Idris";
+ homepage = "https://github.com/jheiling/idris-extras";
+ license = lib.licenses.unlicense;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/jheiling-js.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/jheiling-js.nix
new file mode 100644
index 000000000000..b192e8ff1c0b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/jheiling-js.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, jheiling-extras
+, lib
+}:
+build-idris-package {
+ name = "jheiling-js";
+ version = "2016-03-09";
+
+ ipkgName = "js";
+ idrisDeps = [ contrib jheiling-extras ];
+
+ src = fetchFromGitHub {
+ owner = "jheiling";
+ repo = "idris-js";
+ rev = "59763cd0c9715a9441931ae1077e501bb2ec6020";
+ sha256 = "1mvpxwszh56cfrf509qiadn7gp2l4syanhvdq6v1br0y03g8wk9v";
+ };
+
+ meta = {
+ description = "Js library for Idris";
+ homepage = "https://github.com/jheiling/idris-js";
+ license = lib.licenses.unlicense;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/js.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/js.nix
new file mode 100644
index 000000000000..61ce415e6056
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/js.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, pruviloj
+, lib
+}:
+build-idris-package {
+ name = "js";
+ version = "2018-11-27";
+
+ idrisDeps = [ contrib pruviloj ];
+
+ src = fetchFromGitHub {
+ owner = "rbarreiro";
+ repo = "idrisjs";
+ rev = "1ce91ecec69a7174c20bff927aeac3928a01ed3f";
+ sha256 = "13whhccb7yjq10hnngdc8bc9z9vvyir1wjkclpz006cr4cd266ca";
+ };
+
+ meta = {
+ description = "Js libraries for idris";
+ homepage = "https://github.com/rbarreiro/idrisjs";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/lens.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/lens.nix
new file mode 100644
index 000000000000..e829309fbc01
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/lens.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, bifunctors
+, lib
+}:
+build-idris-package {
+ name = "lens";
+ version = "2017-09-25";
+
+ idrisDeps = [ bifunctors ];
+
+ src = fetchFromGitHub {
+ owner = "HuwCampbell";
+ repo = "idris-lens";
+ rev = "421aa76c19607693ac2f23003dc0fe82c1a3760a";
+ sha256 = "1q6lmhrwd1qg18s253sim4hg2a2wk5439p3izy1f9ygi6pv4a6mk";
+ };
+
+ meta = {
+ description = "van Laarhoven lenses for Idris";
+ homepage = "https://github.com/HuwCampbell/idris-lens";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/lightyear.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/lightyear.nix
new file mode 100644
index 000000000000..34c19eea4ac4
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/lightyear.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lib
+}:
+build-idris-package {
+ name = "lightyear";
+ version = "2017-09-10";
+
+ idrisDeps = [ effects ];
+
+ src = fetchFromGitHub {
+ owner = "ziman";
+ repo = "lightyear";
+ rev = "f737e25a09c1fe7c5fff063c53bd7458be232cc8";
+ sha256 = "05x66abhpbdm6yr0afbwfk6w04ysdk78gylj5alhgwhy4jqakv29";
+ };
+
+ meta = {
+ description = "Parser combinators for Idris";
+ homepage = "https://github.com/ziman/lightyear";
+ license = lib.licenses.bsd2;
+ maintainers = with lib.maintainers; [ siddharthist brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/logic.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/logic.nix
new file mode 100644
index 000000000000..35670462dcf3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/logic.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, bifunctors
+, lib
+}:
+build-idris-package {
+ name = "logic";
+ version = "2016-12-02";
+
+ idrisDeps = [ bifunctors ];
+
+ src = fetchFromGitHub {
+ owner = "yurrriq";
+ repo = "idris-logic";
+ rev = "e0bed57e17fde1237fe0358cb77b25f488a04d2f";
+ sha256 = "0kvn1p0v71vkwlchf20243c47jcfid44w5r0mx4dydijq9gylxfz";
+ };
+
+ # tests fail
+ doCheck = false;
+
+ meta = {
+ description = "Propositional logic tools, inspired by the Coq standard library";
+ homepage = "https://github.com/yurrriq/idris-logic";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/mapping.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/mapping.nix
new file mode 100644
index 000000000000..6f978fccd5e0
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/mapping.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "mapping";
+ version = "2018-02-27";
+
+ src = fetchFromGitHub {
+ owner = "zaoqi";
+ repo = "Mapping.idr";
+ rev = "4f226933d4491b8fd09f9d9a7b862c0cc646b936";
+ sha256 = "1skkb7jz2lv0xg4n5m0vd9xddg3x01459dwx1jxnpc7ifask4cda";
+ };
+
+ meta = {
+ description = "Idris mapping library";
+ homepage = "https://github.com/zaoqi/Mapping.idr";
+ license = lib.licenses.agpl3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/mhd.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/mhd.nix
new file mode 100644
index 000000000000..1ef304bbf1c8
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/mhd.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, effects
+, libmicrohttpd
+, lib
+}:
+build-idris-package {
+ name = "mhd";
+ version = "2016-04-22";
+
+ ipkgName = "MHD";
+ idrisDeps = [ contrib effects ];
+
+ extraBuildInputs = [ libmicrohttpd ];
+
+ src = fetchFromGitHub {
+ owner = "colin-adams";
+ repo = "idris-libmicrohttpd";
+ rev = "a8808bc06fa292d4b3389f32cb00716e43122a46";
+ sha256 = "0wvp1qi3bn4hk52vsid6acfwvwbs58sggylbpjvkxzycsbhz4nx4";
+ };
+
+ meta = {
+ description = "A binding of the GNU libmicrohttpd library to the Idris C backend";
+ homepage = "https://github.com/colin-adams/idris-libmicrohttpd";
+ license = lib.licenses.lgpl21;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pacman.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pacman.nix
new file mode 100644
index 000000000000..cda3662dce27
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pacman.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, sdl2
+, lib
+}:
+build-idris-package {
+ name = "pacman";
+ version = "2017-11-10";
+
+ idrisDeps = [ contrib sdl2 ];
+
+ src = fetchFromGitHub {
+ owner = "jdublu10";
+ repo = "pacman";
+ rev = "263ae58aeb5147e2af9cc76411970ccd90fa9121";
+ sha256 = "02m3ic2fk3a8j50xdpq70yx30hkxzjg6idsia482sm1nlkmxxin9";
+ };
+
+ postUnpack = ''
+ mv source/src/board.idr source/src/Board.idr
+ '';
+
+ meta = {
+ description = "Proof that Idris is pacman complete";
+ homepage = "https://github.com/jdublu10/pacman";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/patricia.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/patricia.nix
new file mode 100644
index 000000000000..586c33837d65
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/patricia.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, specdris
+, lib
+}:
+build-idris-package {
+ name = "patricia";
+ version = "2017-10-27";
+
+ idrisDeps = [ specdris ];
+
+ src = fetchFromGitHub {
+ owner = "ChShersh";
+ repo = "idris-patricia";
+ rev = "24724e6d0564f2f813d0d0a58f5c5db9afe35313";
+ sha256 = "093q3qjmr93wv8pqwk0zfm3hzf14c235k9c9ip53rhg6yzcm0yqz";
+ };
+
+ meta = {
+ description = "Immutable map from integer keys to values based on patricia tree. Basically persistent array.";
+ homepage = "https://github.com/ChShersh/idris-patricia";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/permutations.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/permutations.nix
new file mode 100644
index 000000000000..b11bce39e1ee
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/permutations.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "permutations";
+ version = "2018-01-19";
+
+ src = fetchFromGitHub {
+ owner = "vmchale";
+ repo = "permutations";
+ rev = "f0de6bc721bb9d31e16f9168ded6eb6e34935881";
+ sha256 = "1dirzqy40fczbw7gp2jr51lzqsnq5vcx9z5l6194lcrq2vxgzv1s";
+ };
+
+ meta = {
+ description = "Type-safe way of working with permutations in Idris";
+ homepage = "https://github.com/vmchale/permutations";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pfds.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pfds.nix
new file mode 100644
index 000000000000..d82ec4901856
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pfds.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "pfds";
+ version = "2017-09-25";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "timjb";
+ repo = "idris-pfds";
+ rev = "9ba39348adc45388eccf6463855f42b81333620a";
+ sha256 = "0jbrwdpzg5hgmkfk2kj5y8lgaynl79h48qdvkl1glypfh392w35f";
+ };
+
+ meta = {
+ description = "Purely functional data structures in Idris";
+ homepage = "https://github.com/timjb/idris-pfds";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pipes.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pipes.nix
new file mode 100644
index 000000000000..69b8d721705a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/pipes.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "pipes";
+ version = "2017-12-02";
+
+ src = fetchFromGitHub {
+ owner = "QuentinDuval";
+ repo = "IdrisPipes";
+ rev = "888abe405afce42015014899682c736028759d42";
+ sha256 = "1dxbqzg0qy7lkabmkj0qypywdjz5751g7h2ql8b2253dy3v0ndbs";
+ };
+
+ meta = {
+ description = "Composable and effectful production, transformation and consumption of streams of data";
+ homepage = "https://github.com/QuentinDuval/IdrisPipes";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/posix.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/posix.nix
new file mode 100644
index 000000000000..30bff9eb7e7a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/posix.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "posix";
+ version = "2017-11-18";
+
+ src = fetchFromGitHub {
+ owner = "idris-hackers";
+ repo = "idris-posix";
+ rev = "1e4787bc4dfcf901f2e1858e5334a6bafa5d27c4";
+ sha256 = "14y51vn18v23k56gi3b33rjjwpf02qfb00w8cfy8qycrl8rbgsmb";
+ };
+
+ # tests need file permissions
+ doCheck = false;
+
+ meta = {
+ description = "System POSIX bindings for Idris.";
+ homepage = "https://github.com/idris-hackers/idris-posix";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/protobuf.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/protobuf.nix
new file mode 100644
index 000000000000..ebfc3c275082
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/protobuf.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, lightyear
+, lib
+}:
+build-idris-package {
+ name = "protobuf";
+ version = "2017-08-12";
+
+ idrisDeps = [ lightyear ];
+
+ src = fetchFromGitHub {
+ owner = "artagnon";
+ repo = "idris-protobuf";
+ rev = "c21212534639518453d16ae1b0f07d94464ff8eb";
+ sha256 = "0n5w7bdbxqca3b7hzg95md01mx4sfvl9fi82xjm0hzds33akmn05";
+ };
+
+ meta = {
+ description = "A partial implementation of Protocol Buffers in Idris";
+ homepage = "https://github.com/artagnon/idris-protobuf";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/quantities.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/quantities.nix
new file mode 100644
index 000000000000..8141465d751b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/quantities.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "quantities";
+ version = "2018-04-17";
+
+ src = fetchFromGitHub {
+ owner = "timjb";
+ repo = "quantities";
+ rev = "76bb872bd89122043083351993140ae26eb91ead";
+ sha256 = "0fv12kdi9089b4kkr6inhqvs2s8x62nv5vqj76wzk8hy0lrzylzj";
+ };
+
+ meta = {
+ description = "Type-safe physical computations and unit conversions in Idris";
+ homepage = "https://github.com/timjb/quantities";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ imuli ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/rationals.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/rationals.nix
new file mode 100644
index 000000000000..91aa294d1c55
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/rationals.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "rationals";
+ version = "2017-04-29";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "mcgordonite";
+ repo = "idris-binary-rationals";
+ rev = "0d7010b267662d89e76e2cc8b27fd95ecca009b8";
+ sha256 = "0fc93n4pyqyrjxrspnr3vjzc09m78ni1ardq1vx9g40vmvl0n49s";
+ };
+
+ meta = {
+ description = "An idris rational number type built from paths in the Stern Brocot tree";
+ homepage = "https://github.com/mcgordonite/idris-binary-rationals";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/recursion_schemes.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/recursion_schemes.nix
new file mode 100644
index 000000000000..b326113c6351
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/recursion_schemes.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, free
+, composition
+, comonad
+, bifunctors
+, hezarfen
+, lib
+}:
+build-idris-package {
+ name = "recursion_schemes";
+ version = "2018-01-19";
+
+ idrisDeps = [ free composition comonad bifunctors hezarfen ];
+
+ src = fetchFromGitHub {
+ owner = "vmchale";
+ repo = "recursion_schemes";
+ rev = "6bcbe0da561f461e7a05e29965a18ec9f87f8d82";
+ sha256 = "0rbx0yqa0fb7h7qfsvqvirc5q85z51rcwbivn6351jgn3a0inmhf";
+ };
+
+ meta = {
+ description = "Recursion schemes for Idris";
+ homepage = "https://github.com/vmchale/recursion_schemes";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/refined.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/refined.nix
new file mode 100644
index 000000000000..11fd6b782818
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/refined.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "refined";
+ version = "2017-12-28";
+
+ ipkgName = "idris-refined";
+
+ src = fetchFromGitHub {
+ owner = "janschultecom";
+ repo = "idris-refined";
+ rev = "e21cdef16106a77b42d193806c1749ba6448a128";
+ sha256 = "1am7kfc51p2zlml954v8cl9xvx0g0f1caq7ni3z36xvsd7fh47yh";
+ };
+
+ meta = {
+ description = "Port of Scala/Haskell Refined library to Idris";
+ homepage = "https://github.com/janschultecom/idris-refined";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/sdl.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/sdl.nix
new file mode 100644
index 000000000000..105cfdce65b7
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/sdl.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lib
+, SDL
+, SDL_gfx
+}:
+build-idris-package {
+ name = "sdl";
+ version = "2017-03-24";
+
+ idrisDeps = [ effects ];
+
+ extraBuildInputs = [ SDL SDL_gfx ];
+
+ src = fetchFromGitHub {
+ owner = "edwinb";
+ repo = "SDL-idris";
+ rev = "095ce70da7ea9f163b018b690105edf375f1befe";
+ sha256 = "0nryssnaqfq2pvz2mbl2kkx6mig310f9dpgrbcx788nxi0qzsig6";
+ };
+
+ meta = {
+ description = "SDL-idris framework for Idris";
+ homepage = "https://github.com/edwinb/SDL-idris";
+ maintainers = [ lib.maintainers.brainrape ];
+ # Can't find file sdlrun.o
+ broken = true;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/sdl2.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/sdl2.nix
new file mode 100644
index 000000000000..2e1cdaa9be3a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/sdl2.nix
@@ -0,0 +1,38 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lib
+, pkgconfig
+, SDL2
+, SDL2_gfx
+}:
+build-idris-package rec {
+ name = "sdl2";
+ version = "0.1.1";
+
+ idrisDeps = [ effects ];
+
+ extraBuildInputs = [
+ pkgconfig
+ SDL2
+ SDL2_gfx
+ ];
+
+ prePatch = "patchShebangs .";
+
+ src = fetchFromGitHub {
+ owner = "steshaw";
+ repo = "idris-sdl2";
+ rev = version;
+ sha256 = "0hqhg7l6wpkdbzrdjvrbqymmahziri07ba0hvbii7dd2p0h248fv";
+ };
+
+ meta = {
+ description = "SDL2 binding for Idris";
+ homepage = "https://github.com/steshaw/idris-sdl2";
+ maintainers = with lib.maintainers; [
+ brainrape
+ steshaw
+ ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/semidirect.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/semidirect.nix
new file mode 100644
index 000000000000..30cc144003ee
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/semidirect.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, patricia
+, lib
+}:
+build-idris-package {
+ name = "semidirect";
+ version = "2018-07-02";
+
+ idrisDeps = [ contrib patricia ];
+
+ src = fetchFromGitHub {
+ owner = "clayrat";
+ repo = "idris-semidirect";
+ rev = "e19c58f7a25c53bba2ab058821e038bae3c093d2";
+ sha256 = "0182r9z34kbv3l78pw4qf48ng3hqj4sqzy53074mb0b2c3pikcrl";
+ };
+
+ meta = {
+ description = "Semidirect products in Idris";
+ homepage = "https://github.com/clayrat/idris-semidirect";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/setoids.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/setoids.nix
new file mode 100644
index 000000000000..aa66d8475959
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/setoids.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "setoids";
+ version = "2018-06-18";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "danilkolikov";
+ repo = "setoids";
+ rev = "41b4af3b1a537d9471107a639ad77c7abee2de18";
+ sha256 = "0fl1g59s16vnrdnplps5ncv27j7a93nxp9cmqp2iavjxlzlzin1v";
+ };
+
+ meta = {
+ description = "Idris proofs for extensional equalities";
+ homepage = "https://github.com/danilkolikov/setoids";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/smproc.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/smproc.nix
new file mode 100644
index 000000000000..4917f7628555
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/smproc.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "smproc";
+ version = "2018-02-08";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "jameshaydon";
+ repo = "smproc";
+ rev = "b292d6c94fe005bcd984b8e5134b6f99933aa0af";
+ sha256 = "02gqa2a32dwrvgz6pwsg8bniszbzwxlkzm53fq81sz3l9ja8ax1n";
+ };
+
+ meta = {
+ description = "Well-typed symmetric-monoidal category of concurrent processes";
+ homepage = "https://github.com/jameshaydon/smproc";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/snippets.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/snippets.nix
new file mode 100644
index 000000000000..2d5473545c54
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/snippets.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "snippets";
+ version = "2018-03-17";
+
+ ipkgName = "idris-snippets";
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "palladin";
+ repo = "idris-snippets";
+ rev = "c26d6f5ffc1cc0456279f5ac74fec5af8c09025e";
+ sha256 = "1vwyzck6yan3wifsyj02ji9l6x9rs2r02aybm90gl676s2x4mhjn";
+ };
+
+ meta = {
+ description = "Collection of Idris snippets";
+ homepage = "https://github.com/palladin/idris-snippets";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/software_foundations.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/software_foundations.nix
new file mode 100644
index 000000000000..0f45da3ed67b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/software_foundations.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, pruviloj
+, lib
+}:
+build-idris-package {
+ name = "software_foundations";
+ version = "2017-11-04";
+
+ idrisDeps = [ pruviloj ];
+
+ src = fetchFromGitHub {
+ owner = "idris-hackers";
+ repo = "software-foundations";
+ rev = "eaa63d1a572c78e7ce68d27fd49ffdc01457e720";
+ sha256 = "1rkjm0x79n1r3ah041a5bik7sc3rvqs42a2c3g139hlg5xd028xf";
+ };
+
+ meta = {
+ description = "Code for Software Foundations in Idris";
+ homepage = "https://github.com/idris-hackers/software-foundations";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/specdris.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/specdris.nix
new file mode 100644
index 000000000000..b20902d74328
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/specdris.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lib
+}:
+build-idris-package {
+ name = "specdris";
+ version = "2018-01-23";
+
+ src = fetchFromGitHub {
+ owner = "pheymann";
+ repo = "specdris";
+ rev = "625f88f5e118e53f30bcf5e5f3dcf48eb268ac21";
+ sha256 = "1gc717xf4i7z75aqazy5wqm7b1dqfyx5pprdypxz1h3980m67fsa";
+ };
+
+ idrisDeps = [ effects ];
+
+ # tests use a different ipkg and directory structure
+ doCheck = false;
+
+ meta = {
+ description = "A testing library for Idris";
+ homepage = "https://github.com/pheymann/specdris";
+ license = lib.licenses.mit;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tap.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tap.nix
new file mode 100644
index 000000000000..9edbbaea359c
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tap.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "tap";
+ version = "2017-04-08";
+
+ ipkgName = "TAP";
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "ostera";
+ repo = "tap-idris";
+ rev = "0d019333e1883c1d60e151af1acb02e2b531e72f";
+ sha256 = "0fhlmmivq9xv89r7plrnhmvay1j7bapz3wh7y8lygwvcrllh9zxs";
+ };
+
+ meta = {
+ description = "A simple TAP producer and consumer/reporter for Idris";
+ homepage = "https://github.com/ostera/tap-idris";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/test.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/test.nix
new file mode 100644
index 000000000000..073b4e20b850
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/test.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, lib
+}:
+build-idris-package {
+ name = "test";
+ version = "2017-03-30";
+
+ idrisDeps = [ effects ];
+
+ src = fetchFromGitHub {
+ owner = "jfdm";
+ repo = "idris-testing";
+ rev = "604d56f77054931b21975198be669e22427b1f52";
+ sha256 = "1pmyhs3jx6wd0pzjd3igfxb9zjs8pqmk4ah352bxjrqdnhqwrl51";
+ };
+
+ doCheck = false;
+
+ meta = {
+ description = "Testing Utilities for Idris programs";
+ homepage = "https://github.com/jfdm/idris-testing";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tfrandom.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tfrandom.nix
new file mode 100644
index 000000000000..5c6319503123
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tfrandom.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "tf-random";
+ version = "2020-01-15";
+
+ src = fetchFromGitHub {
+ owner = "david-christiansen";
+ repo = "idris-tf-random";
+ rev = "202aac3b96757e8247f6e26945329d90dd668aed";
+ sha256 = "1z8pyrsm1kdsspcs3h96k38h44ss0mv39lcz7xvwg8ickys3kqxl";
+ };
+
+ meta = {
+ description = "Port of Haskell tf-random";
+ homepage = "https://github.com/david-christiansen/idris-tf-random";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.mikesperber ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tlhydra.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tlhydra.nix
new file mode 100644
index 000000000000..e2c07ac5fb71
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tlhydra.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, effects
+, contrib
+, lightyear
+, lib
+}:
+build-idris-package {
+ name = "tlhydra";
+ version = "2017-13-26";
+
+ idrisDeps = [ effects contrib lightyear ];
+
+ src = fetchFromGitHub {
+ owner = "Termina1";
+ repo = "tlhydra";
+ rev = "3fc9049447d9560fe16f4d36a2f2996494ac2b33";
+ sha256 = "1y3gcbc1ypv00vwa0w3v0n6ckf7gnz26xsfmgnidsaxzff3y0ymh";
+ };
+
+ meta = {
+ description = "Idris parser and serializer/deserealizer for TL language";
+ homepage = "https://github.com/Termina1/tlhydra";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tomladris.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tomladris.nix
new file mode 100644
index 000000000000..64728ab305ec
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tomladris.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lightyear
+, lib
+}:
+build-idris-package {
+ name = "tomladris";
+ version = "2017-11-14";
+
+ idrisDeps = [ lightyear contrib ];
+
+ src = fetchFromGitHub {
+ owner = "emptyflash";
+ repo = "tomladris";
+ rev = "0fef663e20528c455f410f01124c8e3474a96606";
+ sha256 = "0a0fc0bsr356plgzsr5sr4qmqx4838998wjwmflz10qwsv1j3zsw";
+ };
+
+ meta = {
+ description = "TOML parser for Idris";
+ homepage = "https://github.com/emptyflash/tomladris";
+ license = lib.licenses.mit;
+ maintainers = with lib.maintainers; [ siddharthist brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tp.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tp.nix
new file mode 100644
index 000000000000..0cfdc78f6673
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tp.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "tp";
+ version = "2017-08-15";
+
+ src = fetchFromGitHub {
+ owner = "superfunc";
+ repo = "tp";
+ rev = "ef59ccf355ae462bd4f55d596e6d03a9376b67b2";
+ sha256 = "1a924qvm1dqfg419x8n35w0sz74vyyqsynz5g393f82jsrrwci8z";
+ };
+
+ # tests fail with permission error
+ doCheck = false;
+
+ meta = {
+ description = "Strongly Typed Paths for Idris";
+ homepage = "https://github.com/superfunc/tp";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tparsec.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tparsec.nix
new file mode 100644
index 000000000000..84f88e1598bb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/tparsec.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "tparsec";
+ version = "2020-02-11";
+
+ ipkgName = "TParsec";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "gallais";
+ repo = "idris-tparsec";
+ rev = "943c64dfcb4e1582696f68312fad88145dc3a8e4";
+ sha256 = "0pyhkafhx2pwim91ada6qrgacvahl9bpv5m486y8fph4qzf4z6mx";
+ };
+
+ meta = {
+ description = "TParsec - Total Parser Combinators in Idris";
+ homepage = "https://github.com/gallais/idris-tparsec";
+ license = lib.licenses.gpl3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/transducers.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/transducers.nix
new file mode 100644
index 000000000000..39a4cdf0cc7b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/transducers.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "transducers";
+ version = "2017-07-28";
+
+ src = fetchFromGitHub {
+ owner = "QuentinDuval";
+ repo = "IdrisReducers";
+ rev = "2947ffa3559b642baeb3e43d7bb382e16bd073a8";
+ sha256 = "0wzbbp5n113mva99mqr119zwp5pgj4l6wq9033z4f0kbm2nhmcfr";
+ };
+
+ meta = {
+ description = "Composable algorithmic transformation";
+ homepage = "https://github.com/QuentinDuval/IdrisReducers";
+ license = lib.licenses.bsd3;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/trees.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/trees.nix
new file mode 100644
index 000000000000..8fda8d138ad1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/trees.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, bi
+, lib
+}:
+build-idris-package {
+ name = "trees";
+ version = "2018-03-19";
+
+ idrisDeps = [ contrib bi ];
+
+ src = fetchFromGitHub {
+ owner = "clayrat";
+ repo = "idris-trees";
+ rev = "dc17f9598bd78ec2b283d91b3c58617960d88c85";
+ sha256 = "1c3p69875qc4zdk28im9xz45zw46ajgcmxpqmig63y0z4v3gwxww";
+ };
+
+ meta = {
+ description = "Trees in Idris";
+ homepage = "https://github.com/clayrat/idris-trees";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/union_type.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/union_type.nix
new file mode 100644
index 000000000000..2ad8f280fce5
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/union_type.nix
@@ -0,0 +1,22 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "union_type";
+ version = "2018-01-30";
+
+ src = fetchFromGitHub {
+ owner = "berewt";
+ repo = "UnionType";
+ rev = "f7693036237585fe324a815a96ad101d9659c689";
+ sha256 = "1ky0h03kja2y1fjg18j46akw03wi5ng80pghh2j3ib6hxlg1rbs7";
+ };
+
+ meta = {
+ description = "UnionType in Idris";
+ homepage = "https://github.com/berewt/UnionType";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/vdom.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/vdom.nix
new file mode 100644
index 000000000000..3ece0056a3f1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/vdom.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "vdom";
+ version = "0.6.0";
+
+ ipkgName = "idris-vdom";
+
+ src = fetchFromGitHub {
+ owner = "brandondyck";
+ repo = "idris-vdom";
+ rev = "ff32c14feeac937f7418830a9a3463cd9582be8a";
+ sha256 = "0aila1qdpmhrp556dzaxk7yn7vgkwcnbp9jhw8f8pl51xs3s2kvf";
+ };
+
+ meta = {
+ description = "Virtual DOM in pure Idris";
+ homepage = "https://github.com/brandondyck/idris-vdom";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/vecspace.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/vecspace.nix
new file mode 100644
index 000000000000..2336291338b3
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/vecspace.nix
@@ -0,0 +1,24 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lib
+}:
+build-idris-package {
+ name = "vecspace";
+ version = "2018-01-12";
+
+ idrisDeps = [ contrib ];
+
+ src = fetchFromGitHub {
+ owner = "clayrat";
+ repo = "idris-vecspace";
+ rev = "6830fa13232f25e9874b3f857b79508b5f82cb99";
+ sha256 = "1dwz69cmzblyh7lnyqq2gp0a042z7h02sh5q5wf4xb500vizwkq2";
+ };
+
+ meta = {
+ description = "Abstract vector spaces in Idris";
+ homepage = "https://github.com/clayrat/idris-vecspace";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/webgl.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/webgl.nix
new file mode 100644
index 000000000000..271501aa5298
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/webgl.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, idrisscript
+, lib
+}:
+build-idris-package {
+ name = "webgl";
+ version = "2017-05-08";
+
+ idrisDeps = [ idrisscript ];
+
+ src = fetchFromGitHub {
+ owner = "pierrebeaucamp";
+ repo = "idris-webgl";
+ rev = "1b4ee00a06b0bccfe33eea0fa8f068cdae690e9e";
+ sha256 = "097l2pj8p33d0n3ryb8y2vp0n5isnc8bkdnad3y6raa9z1xjn3d6";
+ };
+
+ meta = {
+ description = "Idris library to interact with WebGL";
+ homepage = "https://github.com/pierrebeaucamp/idris-webgl";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/with-packages.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/with-packages.nix
new file mode 100644
index 000000000000..47136839d01a
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/with-packages.nix
@@ -0,0 +1,20 @@
+# Build a version of idris with a set of packages visible
+# packages: The packages visible to idris
+{ stdenv, idris, symlinkJoin, makeWrapper }: packages:
+
+let paths = stdenv.lib.closePropagation packages;
+in
+stdenv.lib.appendToName "with-packages" (symlinkJoin {
+
+ inherit (idris) name;
+
+ paths = paths ++ [idris] ;
+
+ buildInputs = [ makeWrapper ];
+
+ postBuild = ''
+ wrapProgram $out/bin/idris \
+ --set IDRIS_LIBRARY_PATH $out/libs
+ '';
+
+})
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/wl-pprint.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/wl-pprint.nix
new file mode 100644
index 000000000000..a368e0582d82
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/wl-pprint.nix
@@ -0,0 +1,21 @@
+{ build-idris-package
+, fetchFromGitHub
+, lib
+}:
+build-idris-package {
+ name = "wl-pprint";
+ version = "2017-03-13";
+
+ src = fetchFromGitHub {
+ owner = "shayan-najd";
+ repo = "wl-pprint";
+ rev = "97590d1679b3db07bb430783988b4cba539e9947";
+ sha256 = "0ifp76cqg340jkkzanx69vg76qivv53vh1lzv9zkp5f49prkwl5d";
+ };
+
+ meta = {
+ description = "Wadler-Leijen pretty-printing library";
+ homepage = "https://github.com/shayan-najd/wl-pprint";
+ license = lib.licenses.bsd2;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/wyvern.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/wyvern.nix
new file mode 100644
index 000000000000..750b5dd2fd07
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/wyvern.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, effects
+, lib
+}:
+build-idris-package {
+ name = "wyvern";
+ version = "2017-06-26";
+
+ idrisDeps = [ contrib effects ];
+
+ src = fetchFromGitHub {
+ owner = "ericqweinstein";
+ repo = "wyvern";
+ rev = "b9e3e5747c5b23608c6ed5e2ccf43b86caa04292";
+ sha256 = "0zihf95w7i0903zy1mzn1ldn697nf57yl80nl32dpgji72h98kh2";
+ };
+
+ postUnpack = ''
+ sed -i "s/Wyvern.Core/Wyvern.Main/g" source/src/Wyvern.idr
+ '';
+
+ meta = {
+ description = "Little web server written in Idris";
+ homepage = "https://github.com/ericqweinstein/wyvern";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/xhr.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/xhr.nix
new file mode 100644
index 000000000000..9c198e289389
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/xhr.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, idrisscript
+, lib
+}:
+build-idris-package {
+ name = "xhr";
+ version = "2017-04-22";
+
+ idrisDeps = [ idrisscript ];
+
+ src = fetchFromGitHub {
+ owner = "pierrebeaucamp";
+ repo = "idris-xhr";
+ rev = "fb32a748ccdb9070de3f2d6048564e34c064b362";
+ sha256 = "0l07mnarvrb4xdw0b2xqgyxq4rljw1axz5mc9w4gmhvcrzxnyfnr";
+ };
+
+ meta = {
+ description = "Idris library to interact with xhr";
+ homepage = "https://github.com/pierrebeaucamp/idris-xhr";
+ license = lib.licenses.asl20;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/yaml.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/yaml.nix
new file mode 100644
index 000000000000..b7fffd3953d6
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/yaml.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, contrib
+, lightyear
+, lib
+}:
+build-idris-package {
+ name = "yaml";
+ version = "2018-01-25";
+
+ ipkgName = "Yaml";
+ idrisDeps = [ contrib lightyear ];
+
+ src = fetchFromGitHub {
+ owner = "Heather";
+ repo = "Idris.Yaml";
+ rev = "5afa51ffc839844862b8316faba3bafa15656db4";
+ sha256 = "1g4pi0swmg214kndj85hj50ccmckni7piprsxfdzdfhg87s0avw7";
+ };
+
+ meta = {
+ description = "Idris YAML lib";
+ homepage = "https://github.com/Heather/Idris.Yaml";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/development/idris-modules/yampa.nix b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/yampa.nix
new file mode 100644
index 000000000000..33ebacc6d55b
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/development/idris-modules/yampa.nix
@@ -0,0 +1,25 @@
+{ build-idris-package
+, fetchFromGitHub
+, bifunctors
+, lib
+}:
+build-idris-package {
+ name = "yampa";
+ version = "2016-07-05";
+
+ ipkgName = "idris-yampa";
+ idrisDeps = [ bifunctors ];
+
+ src = fetchFromGitHub {
+ owner = "BartAdv";
+ repo = "idris-yampa";
+ rev = "2120dffb3ea0de906ba2b40080956c900457cf33";
+ sha256 = "0zp495zpbvsagdzrmg9iig652zbm34qc0gdr81x0viblwqxhicx6";
+ };
+
+ meta = {
+ description = "Idris implementation of Yampa FRP library as described in Reactive Programming through Dependent Types";
+ homepage = "https://github.com/BartAdv/idris-yampa";
+ maintainers = [ lib.maintainers.brainrape ];
+ };
+}