summary refs log tree commit diff
path: root/pkgs/development/idris-modules
diff options
context:
space:
mode:
authorMárton Boros <martonboros@gmail.com>2018-03-16 12:40:17 +0100
committerMárton Boros <martonboros@gmail.com>2018-03-20 07:16:21 +0100
commit23ee7c9d8d510a781c9796d392e968537d254883 (patch)
tree9ffcf98ac7abb04d6c0bf083e93409f8a6b49a8b /pkgs/development/idris-modules
parentcf65d477fd9e92823c64a44521835c82e122c2f2 (diff)
downloadnixpkgs-23ee7c9d8d510a781c9796d392e968537d254883.tar
nixpkgs-23ee7c9d8d510a781c9796d392e968537d254883.tar.gz
nixpkgs-23ee7c9d8d510a781c9796d392e968537d254883.tar.bz2
nixpkgs-23ee7c9d8d510a781c9796d392e968537d254883.tar.lz
nixpkgs-23ee7c9d8d510a781c9796d392e968537d254883.tar.xz
nixpkgs-23ee7c9d8d510a781c9796d392e968537d254883.tar.zst
nixpkgs-23ee7c9d8d510a781c9796d392e968537d254883.zip
idrisPackages: add packages
Diffstat (limited to 'pkgs/development/idris-modules')
-rw-r--r--pkgs/development/idris-modules/array.nix30
-rw-r--r--pkgs/development/idris-modules/bi.nix29
-rw-r--r--pkgs/development/idris-modules/bifunctors.nix31
-rw-r--r--pkgs/development/idris-modules/bytes.nix29
-rw-r--r--pkgs/development/idris-modules/canvas.nix26
-rw-r--r--pkgs/development/idris-modules/categories.nix27
-rw-r--r--pkgs/development/idris-modules/coda.nix28
-rw-r--r--pkgs/development/idris-modules/comonad.nix28
-rw-r--r--pkgs/development/idris-modules/composition.nix28
-rw-r--r--pkgs/development/idris-modules/config.nix31
-rw-r--r--pkgs/development/idris-modules/console.nix30
-rw-r--r--pkgs/development/idris-modules/containers.nix34
-rw-r--r--pkgs/development/idris-modules/cube.nix29
-rw-r--r--pkgs/development/idris-modules/curses.nix36
-rw-r--r--pkgs/development/idris-modules/data.nix28
-rw-r--r--pkgs/development/idris-modules/default.nix163
-rw-r--r--pkgs/development/idris-modules/derive.nix29
-rw-r--r--pkgs/development/idris-modules/descncrunch.nix28
-rw-r--r--pkgs/development/idris-modules/dict.nix32
-rw-r--r--pkgs/development/idris-modules/dom.nix30
-rw-r--r--pkgs/development/idris-modules/electron.nix36
-rw-r--r--pkgs/development/idris-modules/eternal.nix35
-rw-r--r--pkgs/development/idris-modules/farrp.nix28
-rw-r--r--pkgs/development/idris-modules/free.nix27
-rw-r--r--pkgs/development/idris-modules/fsm.nix28
-rw-r--r--pkgs/development/idris-modules/glfw.nix32
-rw-r--r--pkgs/development/idris-modules/graphviz.nix32
-rw-r--r--pkgs/development/idris-modules/hamt.nix29
-rw-r--r--pkgs/development/idris-modules/heyting-algebra.nix28
-rw-r--r--pkgs/development/idris-modules/hezarfen.nix28
-rw-r--r--pkgs/development/idris-modules/hrtime.nix28
-rw-r--r--pkgs/development/idris-modules/html.nix34
-rw-r--r--pkgs/development/idris-modules/http.nix30
-rw-r--r--pkgs/development/idris-modules/http4idris.nix29
-rw-r--r--pkgs/development/idris-modules/httpclient.nix36
-rw-r--r--pkgs/development/idris-modules/iaia.nix28
-rw-r--r--pkgs/development/idris-modules/idrishighlighter.nix29
-rw-r--r--pkgs/development/idris-modules/idrisscript.nix28
-rw-r--r--pkgs/development/idris-modules/ipkgparser.nix29
-rw-r--r--pkgs/development/idris-modules/jheiling-extras.nix29
-rw-r--r--pkgs/development/idris-modules/jheiling-js.nix30
-rw-r--r--pkgs/development/idris-modules/js.nix29
-rw-r--r--pkgs/development/idris-modules/lens.nix29
-rw-r--r--pkgs/development/idris-modules/lightyear.nix7
-rw-r--r--pkgs/development/idris-modules/logic.nix31
-rw-r--r--pkgs/development/idris-modules/mapping.nix28
-rw-r--r--pkgs/development/idris-modules/mhd.nix33
-rw-r--r--pkgs/development/idris-modules/pacman.nix32
-rw-r--r--pkgs/development/idris-modules/patricia.nix32
-rw-r--r--pkgs/development/idris-modules/permutations.nix32
-rw-r--r--pkgs/development/idris-modules/pfds.nix28
-rw-r--r--pkgs/development/idris-modules/pipes.nix28
-rw-r--r--pkgs/development/idris-modules/posix.nix30
-rw-r--r--pkgs/development/idris-modules/protobuf.nix28
-rw-r--r--pkgs/development/idris-modules/rationals.nix28
-rw-r--r--pkgs/development/idris-modules/recursion_schemes.nix36
-rw-r--r--pkgs/development/idris-modules/refined.nix32
-rw-r--r--pkgs/development/idris-modules/sdl.nix32
-rw-r--r--pkgs/development/idris-modules/sdl2.nix33
-rw-r--r--pkgs/development/idris-modules/semidirect.nix28
-rw-r--r--pkgs/development/idris-modules/setoids.nix26
-rw-r--r--pkgs/development/idris-modules/smproc.nix29
-rw-r--r--pkgs/development/idris-modules/snippets.nix28
-rw-r--r--pkgs/development/idris-modules/software_foundations.nix27
-rw-r--r--pkgs/development/idris-modules/specdris.nix11
-rw-r--r--pkgs/development/idris-modules/tap.nix32
-rw-r--r--pkgs/development/idris-modules/test.nix32
-rw-r--r--pkgs/development/idris-modules/tlhydra.nix30
-rw-r--r--pkgs/development/idris-modules/tomladris.nix30
-rw-r--r--pkgs/development/idris-modules/tp.nix31
-rw-r--r--pkgs/development/idris-modules/tparsec.nix28
-rw-r--r--pkgs/development/idris-modules/transducers.nix28
-rw-r--r--pkgs/development/idris-modules/trees.nix28
-rw-r--r--pkgs/development/idris-modules/union_type.nix28
-rw-r--r--pkgs/development/idris-modules/vecspace.nix27
-rw-r--r--pkgs/development/idris-modules/webgl.nix28
-rw-r--r--pkgs/development/idris-modules/wl-pprint.nix4
-rw-r--r--pkgs/development/idris-modules/wyvern.nix33
-rw-r--r--pkgs/development/idris-modules/xhr.nix28
-rw-r--r--pkgs/development/idris-modules/yaml.nix29
-rw-r--r--pkgs/development/idris-modules/yampa.nix27
81 files changed, 2422 insertions, 57 deletions
diff --git a/pkgs/development/idris-modules/array.nix b/pkgs/development/idris-modules/array.nix
new file mode 100644
index 00000000000..cab7ccbcf7a
--- /dev/null
+++ b/pkgs/development/idris-modules/array.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "array";
+  version = "2016-10-14";
+
+  idrisDeps = [ prelude base ];
+
+  extraBuildInputs = [ idris ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/bi.nix b/pkgs/development/idris-modules/bi.nix
new file mode 100644
index 00000000000..fb43fbf209b
--- /dev/null
+++ b/pkgs/development/idris-modules/bi.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "bi";
+  version = "2018-01-17";
+
+  idrisDeps = [ prelude contrib pruviloj ];
+
+  src = fetchFromGitHub {
+    owner = "sbp";
+    repo = "idris-bi";
+    rev = "8ab40bc482ca948ac0f6ffb5b4c545a73688dd3a";
+    sha256 = "1lra945q2d6anwzjs94srprqj867lrz66rsns08p8828vg55fv97";
+  };
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/bifunctors.nix b/pkgs/development/idris-modules/bifunctors.nix
new file mode 100644
index 00000000000..d8212fa3830
--- /dev/null
+++ b/pkgs/development/idris-modules/bifunctors.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "bifunctors";
+  version = "2017-02-07";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "japesinator";
+    repo = "Idris-Bifunctors";
+    rev = "be7b8bde88331ad3af87e5c0a23fc0f3d52f3868";
+    sha256 = "0cfp58lhm2g0g1vrpb0mh71qb44n2yvg5sil9ndyf2sqd5ria6yq";
+  };
+
+  postUnpack = ''
+    rm source/test.ipkg
+  '';
+
+  meta = {
+    description = "A small bifunctor library for idris";
+    homepage = https://github.com/japesinator/Idris-Bifunctors;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/bytes.nix b/pkgs/development/idris-modules/bytes.nix
new file mode 100644
index 00000000000..2e5518c953c
--- /dev/null
+++ b/pkgs/development/idris-modules/bytes.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "bytes";
+  version = "2018-02-10";
+
+  idrisDeps = [ prelude ];
+
+  extraBuildInputs = [ idris ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/canvas.nix b/pkgs/development/idris-modules/canvas.nix
new file mode 100644
index 00000000000..f29d59e5050
--- /dev/null
+++ b/pkgs/development/idris-modules/canvas.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "canvas";
+  version = "2017-11-09";
+
+  idrisDeps = [ prelude ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/categories.nix b/pkgs/development/idris-modules/categories.nix
new file mode 100644
index 00000000000..32be0f6a379
--- /dev/null
+++ b/pkgs/development/idris-modules/categories.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "categories";
+  version = "2017-03-01";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "danilkolikov";
+    repo = "categories";
+    rev = "933fe418d154e10df39ddb09a74419cb4c4a57e8";
+    sha256 = "1dmpcv13zh7j4k6s2nlpf08gmpawaqaqkbqbg8zrgw253piwb0ci";
+  };
+
+  meta = {
+    description = "Category Theory";
+    homepage = https://github.com/danilkolikov/categories;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/coda.nix b/pkgs/development/idris-modules/coda.nix
new file mode 100644
index 00000000000..ed51bcfec6d
--- /dev/null
+++ b/pkgs/development/idris-modules/coda.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "coda";
+  version = "2018-01-25";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/comonad.nix b/pkgs/development/idris-modules/comonad.nix
new file mode 100644
index 00000000000..5ecd6d9c585
--- /dev/null
+++ b/pkgs/development/idris-modules/comonad.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "comonad";
+  version = "2018-02-26";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/composition.nix b/pkgs/development/idris-modules/composition.nix
new file mode 100644
index 00000000000..17dda31a5d1
--- /dev/null
+++ b/pkgs/development/idris-modules/composition.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, hezarfen
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "composition";
+  version = "2017-11-12";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/config.nix b/pkgs/development/idris-modules/config.nix
new file mode 100644
index 00000000000..29cb828e061
--- /dev/null
+++ b/pkgs/development/idris-modules/config.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, containers
+, lightyear
+, test
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "config";
+  version = "2017-11-06";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/console.nix b/pkgs/development/idris-modules/console.nix
new file mode 100644
index 00000000000..27b85c97c68
--- /dev/null
+++ b/pkgs/development/idris-modules/console.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, hrtime
+, webgl
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "console";
+  version = "2017-04-20";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/containers.nix b/pkgs/development/idris-modules/containers.nix
new file mode 100644
index 00000000000..fe4e729d0e0
--- /dev/null
+++ b/pkgs/development/idris-modules/containers.nix
@@ -0,0 +1,34 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, test
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "containers";
+  version = "2017-09-10";
+
+  idrisDeps = [ prelude effects test ];
+
+  src = fetchFromGitHub {
+    owner = "jfdm";
+    repo = "idris-containers";
+    rev = "fb96aaa3f40faa432cd7a36d956dbc4fe9279234";
+    sha256 = "0vyjadd9sb8qcbzvzhnqwc8wa7ma770c10xhn96jsqsnzr81k52d";
+  };
+
+  postUnpack = ''
+    rm source/containers-travis.ipkg
+  '';
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/cube.nix b/pkgs/development/idris-modules/cube.nix
new file mode 100644
index 00000000000..ce46c4538b5
--- /dev/null
+++ b/pkgs/development/idris-modules/cube.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "cube";
+  version = "2017-07-05";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/curses.nix b/pkgs/development/idris-modules/curses.nix
new file mode 100644
index 00000000000..71bd9023840
--- /dev/null
+++ b/pkgs/development/idris-modules/curses.nix
@@ -0,0 +1,36 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+, ncurses
+}:
+build-idris-package  {
+  name = "curses";
+  version = "2017-10-12";
+
+  idrisDeps = [ prelude effects ];
+
+  extraBuildInputs = [ ncurses.out ncurses.dev ];
+
+  postUnpack = ''
+    sed -i 's/^libs = curses$/libs = ncurses/g' source/curses.ipkg
+    sed -i 's/\#include <curses.h>/#include \<ncurses.h\>/g' source/src/cursesrun.h
+  '';
+
+  src = fetchFromGitHub {
+    owner = "JakobBruenker";
+    repo = "curses-idris";
+    rev = "ea4bbcfcf691f0dc731f2dfa676011809db084cb";
+    sha256 = "17q8hg5f61lk2kh3j4cwrwja282sihlcjdrx233z4237alp9w4g1";
+  };
+
+  meta = {
+    description = "libusb binding for idris and Effectful curses programming";
+    homepage = https://github.com/JakobBruenker/curses-idris;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/data.nix b/pkgs/development/idris-modules/data.nix
new file mode 100644
index 00000000000..3cb78eabe96
--- /dev/null
+++ b/pkgs/development/idris-modules/data.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "data";
+  version = "2018-03-19";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix
index 4309039f498..12fbc8dfd17 100644
--- a/pkgs/development/idris-modules/default.nix
+++ b/pkgs/development/idris-modules/default.nix
@@ -28,12 +28,15 @@
   in
     {
     inherit idris-no-deps callPackage;
-    # See #10450 about why we have to wrap the executable
+
+    # Idris wrapper with specified compiler and library paths, used to build packages
+
     idris =
         (pkgs.callPackage ./idris-wrapper.nix {})
           idris-no-deps
           { path = [ pkgs.gcc ]; lib = [pkgs.gmp]; };
 
+    # Utilities for building packages
 
     with-packages = callPackage ./with-packages.nix {} ;
 
@@ -41,19 +44,169 @@
 
     build-idris-package = callPackage ./build-idris-package.nix {};
 
-    # Libraries
+    # The set of libraries that comes with idris
 
-    # A list of all of the libraries that come with idris
     builtins = pkgs.lib.mapAttrsToList (name: value: value) builtins_;
 
-    httpclient = callPackage ./httpclient.nix {};
+    # 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 {};
+
+    curses = callPackage ./curses.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 {};
+
+    heyting-algebra = callPackage ./heyting-algebra.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 {};
 
-    wl-pprint = callPackage ./wl-pprint.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 {};
+
+    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 {};
+
+    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 {};
+
+    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/pkgs/development/idris-modules/derive.nix b/pkgs/development/idris-modules/derive.nix
new file mode 100644
index 00000000000..6cc2ead71fc
--- /dev/null
+++ b/pkgs/development/idris-modules/derive.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "derive";
+  version = "2018-02-15";
+
+  idrisDeps = [ prelude contrib pruviloj ];
+
+  src = fetchFromGitHub {
+    owner = "davlum";
+    repo = "derive-all-the-instances";
+    rev = "2c8956807bd094ba33569227de921c6726401c42";
+    sha256 = "0l7263s04r52ql292vnnx2kngld6s1dipmaz5na7m82lj9p4x17y";
+  };
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/descncrunch.nix b/pkgs/development/idris-modules/descncrunch.nix
new file mode 100644
index 00000000000..736b25c9684
--- /dev/null
+++ b/pkgs/development/idris-modules/descncrunch.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "descncrunch";
+  version = "2017-11-15";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/dict.nix b/pkgs/development/idris-modules/dict.nix
new file mode 100644
index 00000000000..ea1cd5a9fe1
--- /dev/null
+++ b/pkgs/development/idris-modules/dict.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "dict";
+  version = "2016-12-26";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/dom.nix b/pkgs/development/idris-modules/dom.nix
new file mode 100644
index 00000000000..0aee97f92e6
--- /dev/null
+++ b/pkgs/development/idris-modules/dom.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, html
+, xhr
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "dom";
+  version = "2017-04-22";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/electron.nix b/pkgs/development/idris-modules/electron.nix
new file mode 100644
index 00000000000..7dabfd8f45c
--- /dev/null
+++ b/pkgs/development/idris-modules/electron.nix
@@ -0,0 +1,36 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, jheiling-extras
+, jheiling-js
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "electron";
+  version = "2016-03-07";
+
+  idrisDeps = [ prelude contrib jheiling-extras jheiling-js ];
+
+  src = fetchFromGitHub {
+    owner = "jheiling";
+    repo = "idris-electron";
+    rev = "f0e86f52b8e5a546a2bf714709b659c1c0b04395";
+    sha256 = "1rpa7yjvfpzl06h0qbk54jd2n52nmgpf7nq5aamcinqh7h5gbiwn";
+  };
+
+  postUnpack = ''
+    rm source/example_main.ipkg
+    rm source/example_view.ipkg
+  '';
+
+  meta = {
+    description = "Electron bindings for Idris";
+    homepage = https://github.com/jheiling/idris-electron;
+    license = lib.licenses.unlicense;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/eternal.nix b/pkgs/development/idris-modules/eternal.nix
new file mode 100644
index 00000000000..ddbc0d79b84
--- /dev/null
+++ b/pkgs/development/idris-modules/eternal.nix
@@ -0,0 +1,35 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "eternal";
+  version = "2018-01-25";
+
+  idrisDeps = [ prelude effects ];
+
+  src = fetchFromGitHub {
+    owner = "Heather";
+    repo = "Control.Eternal.Idris";
+    rev = "7ead56ce6065b55104460ace945adbce38fb13eb";
+    sha256 = "0b4zys4mhl6r4rbpdxr7n2n20cdc0nkh4lm8n5v4wxkmjzna5cpd";
+  };
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/farrp.nix b/pkgs/development/idris-modules/farrp.nix
new file mode 100644
index 00000000000..2c88399eb3c
--- /dev/null
+++ b/pkgs/development/idris-modules/farrp.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "farrp";
+  version = "2018-02-13";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/free.nix b/pkgs/development/idris-modules/free.nix
new file mode 100644
index 00000000000..cc0820d3c64
--- /dev/null
+++ b/pkgs/development/idris-modules/free.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "free";
+  version = "2017-07-03";
+
+  idrisDeps = [ prelude ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/fsm.nix b/pkgs/development/idris-modules/fsm.nix
new file mode 100644
index 00000000000..24f57af5257
--- /dev/null
+++ b/pkgs/development/idris-modules/fsm.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "fsm";
+  version = "2017-04-16";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/glfw.nix b/pkgs/development/idris-modules/glfw.nix
new file mode 100644
index 00000000000..041c18faedc
--- /dev/null
+++ b/pkgs/development/idris-modules/glfw.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+, pkgs
+}:
+
+build-idris-package  {
+  name = "glfw";
+  version = "2016-12-05";
+
+  idrisDeps = [ prelude effects ];
+
+  extraBuildInputs = [ pkgs.glfw ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/graphviz.nix b/pkgs/development/idris-modules/graphviz.nix
new file mode 100644
index 00000000000..3ea20d3d906
--- /dev/null
+++ b/pkgs/development/idris-modules/graphviz.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitLab
+, prelude
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "graphviz";
+  version = "2017-01-16";
+
+  idrisDeps = [ prelude 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://github.com/mgttlinger/idris-graphviz;
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/hamt.nix b/pkgs/development/idris-modules/hamt.nix
new file mode 100644
index 00000000000..7a2d0d77c83
--- /dev/null
+++ b/pkgs/development/idris-modules/hamt.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, effects
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "idris-hamt";
+  version = "2016-11-15";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/heyting-algebra.nix b/pkgs/development/idris-modules/heyting-algebra.nix
new file mode 100644
index 00000000000..8a283eada8a
--- /dev/null
+++ b/pkgs/development/idris-modules/heyting-algebra.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "heyting-algebra";
+  version = "2017-08-18";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "Risto-Stevcev";
+    repo = "idris-heyting-algebra";
+    rev = "2c814c48246a5e19bff66e64a753208c7d59d397";
+    sha256 = "199cvhxiimlhchvsc66zwn0dls78f9lamam256ad65mv4cjmxv40";
+  };
+
+  meta = {
+    description = "Interfaces for heyting algebras and verified bounded join and meet semilattices";
+    homepage = https://github.com/Risto-Stevcev/idris-heyting-algebra;
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/hezarfen.nix b/pkgs/development/idris-modules/hezarfen.nix
new file mode 100644
index 00000000000..712508220a6
--- /dev/null
+++ b/pkgs/development/idris-modules/hezarfen.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "hezarfen";
+  version = "2018-02-03";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/hrtime.nix b/pkgs/development/idris-modules/hrtime.nix
new file mode 100644
index 00000000000..ba4df28ab26
--- /dev/null
+++ b/pkgs/development/idris-modules/hrtime.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "hrtime";
+  version = "2017-04-16";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/html.nix b/pkgs/development/idris-modules/html.nix
new file mode 100644
index 00000000000..deec5b0eb6d
--- /dev/null
+++ b/pkgs/development/idris-modules/html.nix
@@ -0,0 +1,34 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, hrtime
+, webgl
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "html";
+  version = "2017-04-23";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/http.nix b/pkgs/development/idris-modules/http.nix
new file mode 100644
index 00000000000..800a3a2eeb4
--- /dev/null
+++ b/pkgs/development/idris-modules/http.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lightyear
+, bytes
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "http";
+  version = "2018-02-25";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/http4idris.nix b/pkgs/development/idris-modules/http4idris.nix
new file mode 100644
index 00000000000..5b79644c3a0
--- /dev/null
+++ b/pkgs/development/idris-modules/http4idris.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "http4idris";
+  version = "2018-01-16";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/httpclient.nix b/pkgs/development/idris-modules/httpclient.nix
deleted file mode 100644
index 13c33d04da5..00000000000
--- a/pkgs/development/idris-modules/httpclient.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ curl
-, build-idris-package
-, fetchFromGitHub
-, lightyear
-, contrib
-, effects
-, prelude
-, base
-, lib
-, idris
-}:
-
-let
-in
-build-idris-package {
-  name = "httpclient";
-  version = "2016-12-20";
-
-  src = fetchFromGitHub {
-    owner = "justjoheinz";
-    repo = "idris-httpclient";
-    rev = "4a7296d572d7f7fde87d27da07d5c9566dc4ff14";
-    sha256 = "0sy0q7gri9lwbqdmx9720pby3w1470w7wzn62bf2rir532219hhl";
-  };
-
-  idrisDeps = [ prelude base effects lightyear contrib ];
-
-  extraBuildInputs = [ curl ];
-
-  meta = {
-    description = "HTTP Client for Idris";
-    homepage = https://github.com/justjoheinz/idris-httpclient;
-    inherit (idris.meta) platforms;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/idris-modules/iaia.nix b/pkgs/development/idris-modules/iaia.nix
new file mode 100644
index 00000000000..5b4f450fdf7
--- /dev/null
+++ b/pkgs/development/idris-modules/iaia.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "iaia";
+  version = "2017-11-10";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/idrishighlighter.nix b/pkgs/development/idris-modules/idrishighlighter.nix
new file mode 100644
index 00000000000..f3d06216976
--- /dev/null
+++ b/pkgs/development/idris-modules/idrishighlighter.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "idrishighlighter";
+  version = "2018-02-22";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/idrisscript.nix b/pkgs/development/idris-modules/idrisscript.nix
new file mode 100644
index 00000000000..fd2f9e58218
--- /dev/null
+++ b/pkgs/development/idris-modules/idrisscript.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "idrisscript";
+  version = "2017-07-01";
+
+  idrisDeps = [ prelude ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/ipkgparser.nix b/pkgs/development/idris-modules/ipkgparser.nix
new file mode 100644
index 00000000000..cdc1d593c01
--- /dev/null
+++ b/pkgs/development/idris-modules/ipkgparser.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, effects
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "ipkgparser";
+  version = "2017-11-14";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/jheiling-extras.nix b/pkgs/development/idris-modules/jheiling-extras.nix
new file mode 100644
index 00000000000..34981d28d3e
--- /dev/null
+++ b/pkgs/development/idris-modules/jheiling-extras.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "extras";
+  version = "2018-03-06";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/jheiling-js.nix b/pkgs/development/idris-modules/jheiling-js.nix
new file mode 100644
index 00000000000..5139631b9d5
--- /dev/null
+++ b/pkgs/development/idris-modules/jheiling-js.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, jheiling-extras
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "jheiling-js";
+  version = "2016-03-09";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/js.nix b/pkgs/development/idris-modules/js.nix
new file mode 100644
index 00000000000..0792a8c0f5d
--- /dev/null
+++ b/pkgs/development/idris-modules/js.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "js";
+  version = "2018-11-27";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/lens.nix b/pkgs/development/idris-modules/lens.nix
new file mode 100644
index 00000000000..e97c7cfafda
--- /dev/null
+++ b/pkgs/development/idris-modules/lens.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, bifunctors
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "lens";
+  version = "2017-09-25";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/lightyear.nix b/pkgs/development/idris-modules/lightyear.nix
index e217e76e2a7..6cedda0170f 100644
--- a/pkgs/development/idris-modules/lightyear.nix
+++ b/pkgs/development/idris-modules/lightyear.nix
@@ -7,12 +7,9 @@
 , idris
 }:
 
-let
-  date = "2017-09-10";
-in
 build-idris-package  {
   name = "lightyear";
-  version = date;
+  version = "2017-09-10";
 
   idrisDeps = [ prelude base effects ];
 
@@ -27,7 +24,7 @@ build-idris-package  {
     description = "Parser combinators for Idris";
     homepage = https://github.com/ziman/lightyear;
     license = lib.licenses.bsd2;
-    maintainers = [ lib.maintainers.siddharthist ];
+    maintainers = with lib.maintainers; [ siddharthist brainrape ];
     inherit (idris.meta) platforms;
   };
 }
diff --git a/pkgs/development/idris-modules/logic.nix b/pkgs/development/idris-modules/logic.nix
new file mode 100644
index 00000000000..342a84882cd
--- /dev/null
+++ b/pkgs/development/idris-modules/logic.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, bifunctors
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "logic";
+  version = "2016-12-02";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/mapping.nix b/pkgs/development/idris-modules/mapping.nix
new file mode 100644
index 00000000000..84429c88765
--- /dev/null
+++ b/pkgs/development/idris-modules/mapping.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "mapping";
+  version = "2018-02-27";
+
+  idrisDeps = [ prelude ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/mhd.nix b/pkgs/development/idris-modules/mhd.nix
new file mode 100644
index 00000000000..eae30886cd6
--- /dev/null
+++ b/pkgs/development/idris-modules/mhd.nix
@@ -0,0 +1,33 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, effects
+, libmicrohttpd
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "mhd";
+  version = "2016-04-22";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/pacman.nix b/pkgs/development/idris-modules/pacman.nix
new file mode 100644
index 00000000000..3650a3990f2
--- /dev/null
+++ b/pkgs/development/idris-modules/pacman.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, sdl2
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "pacman";
+  version = "2017-11-10";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/patricia.nix b/pkgs/development/idris-modules/patricia.nix
new file mode 100644
index 00000000000..e3c1cb82f28
--- /dev/null
+++ b/pkgs/development/idris-modules/patricia.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, specdris
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "patricia";
+  version = "2017-10-27";
+
+  idrisDeps = [ prelude specdris ];
+
+  src = fetchFromGitHub {
+    owner = "ChShersh";
+    repo = "idris-patricia";
+    rev = "24724e6d0564f2f813d0d0a58f5c5db9afe35313";
+    sha256 = "093q3qjmr93wv8pqwk0zfm3hzf14c235k9c9ip53rhg6yzcm0yqz";
+  };
+
+  postUnpack = ''
+    rm source/patricia-nix.ipkg
+  '';
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/permutations.nix b/pkgs/development/idris-modules/permutations.nix
new file mode 100644
index 00000000000..af93f4af5e0
--- /dev/null
+++ b/pkgs/development/idris-modules/permutations.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "permutations";
+  version = "2018-01-19";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "vmchale";
+    repo = "permutations";
+    rev = "f0de6bc721bb9d31e16f9168ded6eb6e34935881";
+    sha256 = "1dirzqy40fczbw7gp2jr51lzqsnq5vcx9z5l6194lcrq2vxgzv1s";
+  };
+
+  postUnpack = ''
+    rm source/test.ipkg
+  '';
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/pfds.nix b/pkgs/development/idris-modules/pfds.nix
new file mode 100644
index 00000000000..8ab75b9ee50
--- /dev/null
+++ b/pkgs/development/idris-modules/pfds.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "pfds";
+  version = "2017-09-25";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/pipes.nix b/pkgs/development/idris-modules/pipes.nix
new file mode 100644
index 00000000000..943d8e470f0
--- /dev/null
+++ b/pkgs/development/idris-modules/pipes.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "pipes";
+  version = "2017-12-02";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/posix.nix b/pkgs/development/idris-modules/posix.nix
new file mode 100644
index 00000000000..c6c44874b06
--- /dev/null
+++ b/pkgs/development/idris-modules/posix.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "posix";
+  version = "2017-11-18";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/protobuf.nix b/pkgs/development/idris-modules/protobuf.nix
new file mode 100644
index 00000000000..4b4c2694202
--- /dev/null
+++ b/pkgs/development/idris-modules/protobuf.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "protobuf";
+  version = "2017-08-12";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/rationals.nix b/pkgs/development/idris-modules/rationals.nix
new file mode 100644
index 00000000000..693d580fdd5
--- /dev/null
+++ b/pkgs/development/idris-modules/rationals.nix
@@ -0,0 +1,28 @@
+{ curl
+, build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package {
+  name = "rationals";
+  version = "2017-04-29";
+
+  idrisDeps = [ prelude 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;
+    inherit (idris.meta) platforms;
+    maintainers = [ lib.maintainers.brainrape ];
+  };
+}
diff --git a/pkgs/development/idris-modules/recursion_schemes.nix b/pkgs/development/idris-modules/recursion_schemes.nix
new file mode 100644
index 00000000000..06e99da3608
--- /dev/null
+++ b/pkgs/development/idris-modules/recursion_schemes.nix
@@ -0,0 +1,36 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, free
+, composition
+, comonad
+, bifunctors
+, hezarfen
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "recursion_schemes";
+  version = "2018-01-19";
+
+  idrisDeps = [ prelude free composition comonad bifunctors hezarfen ];
+
+  src = fetchFromGitHub {
+    owner = "vmchale";
+    repo = "recursion_schemes";
+    rev = "6bcbe0da561f461e7a05e29965a18ec9f87f8d82";
+    sha256 = "0rbx0yqa0fb7h7qfsvqvirc5q85z51rcwbivn6351jgn3a0inmhf";
+  };
+
+  postUnpack = ''
+    rm source/test.ipkg
+  '';
+
+  meta = {
+    description = "Recursion schemes for Idris";
+    homepage = https://github.com/vmchale/recursion_schemes;
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/refined.nix b/pkgs/development/idris-modules/refined.nix
new file mode 100644
index 00000000000..bd8e37f2b7f
--- /dev/null
+++ b/pkgs/development/idris-modules/refined.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "refined";
+  version = "2017-12-28";
+
+  idrisDeps = [ prelude base ];
+
+  src = fetchFromGitHub {
+    owner = "janschultecom";
+    repo = "idris-refined";
+    rev = "e21cdef16106a77b42d193806c1749ba6448a128";
+    sha256 = "1am7kfc51p2zlml954v8cl9xvx0g0f1caq7ni3z36xvsd7fh47yh";
+  };
+
+  postUnpack = ''
+    rm source/idris-refined-test.ipkg
+  '';
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/sdl.nix b/pkgs/development/idris-modules/sdl.nix
new file mode 100644
index 00000000000..181959dca06
--- /dev/null
+++ b/pkgs/development/idris-modules/sdl.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+, SDL
+, SDL_gfx
+}:
+
+build-idris-package  {
+  name = "sdl";
+  version = "2017-03-24";
+
+  idrisDeps = [ prelude effects ];
+
+  extraBuildInputs = [ idris 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/sdl2.nix b/pkgs/development/idris-modules/sdl2.nix
new file mode 100644
index 00000000000..46d4e9fb8dd
--- /dev/null
+++ b/pkgs/development/idris-modules/sdl2.nix
@@ -0,0 +1,33 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+, pkgconfig
+, SDL2
+, SDL2_gfx
+}:
+
+build-idris-package  {
+  name = "sdl2";
+  version = "2018-01-19";
+
+  idrisDeps = [ prelude effects ];
+
+  extraBuildInputs = [ idris pkgconfig SDL2 SDL2_gfx ];
+
+  src = fetchFromGitHub {
+    owner = "steshaw";
+    repo = "idris-sdl2";
+    rev = "ebc36a0efb3e8086f2999120e7a8a8ac4952c6f6";
+    sha256 = "060k0i1pjilrc4pcz7v70hbipaw2crz14yxjlyjlhn6qm03131q0";
+  };
+
+  meta = {
+    description = "SDL2 binding for Idris";
+    homepage = https://github.com/steshaw/idris-sdl2;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/semidirect.nix b/pkgs/development/idris-modules/semidirect.nix
new file mode 100644
index 00000000000..d10a85eb4f4
--- /dev/null
+++ b/pkgs/development/idris-modules/semidirect.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, patricia
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "semidirect";
+  version = "2018-02-06";
+
+  idrisDeps = [ prelude contrib patricia ];
+
+  src = fetchFromGitHub {
+    owner = "clayrat";
+    repo = "idris-semidirect";
+    rev = "884c26c095784f8fd489c323d6673f2a8710a741";
+    sha256 = "0w36xkfxsqm6r91f0vs6qpmallrfwa09ql8i317xwm86nfk7akj9";
+  };
+
+  meta = {
+    description = "Semidirect products in Idris";
+    homepage = https://github.com/clayrat/idris-semidirect;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/setoids.nix b/pkgs/development/idris-modules/setoids.nix
new file mode 100644
index 00000000000..76bf127818c
--- /dev/null
+++ b/pkgs/development/idris-modules/setoids.nix
@@ -0,0 +1,26 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "setoids";
+  version = "2017-03-13";
+
+  idrisDeps = [ prelude ];
+
+  src = fetchFromGitHub {
+    owner = "danilkolikov";
+    repo = "setoids";
+    rev = "a50cfc010cb4321cc9b7988c0a4f387d83d34839";
+    sha256 = "0q0h2qj9vylkm16h70l78l2p5xjkx4qmg2a2ixfl8vq8b1zm8gch";
+  };
+
+  meta = {
+    description = "Idris proofs for extensional equalities";
+    homepage = https://github.com/danilkolikov/setoids;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/smproc.nix b/pkgs/development/idris-modules/smproc.nix
new file mode 100644
index 00000000000..c751f27d1c9
--- /dev/null
+++ b/pkgs/development/idris-modules/smproc.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "smproc";
+  version = "2018-02-08";
+
+  idrisDeps = [ prelude base 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/snippets.nix b/pkgs/development/idris-modules/snippets.nix
new file mode 100644
index 00000000000..9dc2dd3f8e2
--- /dev/null
+++ b/pkgs/development/idris-modules/snippets.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "snippets";
+  version = "2018-03-17";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/software_foundations.nix b/pkgs/development/idris-modules/software_foundations.nix
new file mode 100644
index 00000000000..3d16e91e10f
--- /dev/null
+++ b/pkgs/development/idris-modules/software_foundations.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, pruviloj
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "software_foundations";
+  version = "2017-11-04";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/specdris.nix b/pkgs/development/idris-modules/specdris.nix
index e20af375237..b18d4a07d46 100644
--- a/pkgs/development/idris-modules/specdris.nix
+++ b/pkgs/development/idris-modules/specdris.nix
@@ -7,22 +7,19 @@
 , idris
 }:
 
-let
-  date = "2017-11-11";
-in
 build-idris-package {
   name = "specdris";
-  version = date;
+  version = "2018-01-23";
 
   src = fetchgit {
     url = "https://github.com/pheymann/specdris";
-    rev = "88b80334b8e0b6601324e2410772d35022fc8eaa";
-    sha256 = "4813c4be1d4c3dd1dad35964b085f83cf9fb44b16824257c72b468d4bafd0e4f";
+    rev = "625f88f5e118e53f30bcf5e5f3dcf48eb268ac21";
+    sha256 = "1gc717xf4i7z75aqazy5wqm7b1dqfyx5pprdypxz1h3980m67fsa";
   };
 
   idrisDeps = [ prelude base effects idris ];
 
-  # The tests attribute is very strange as the tests are a different ipkg
+  # tests use a different ipkg and directory structure
   doCheck = false;
 
   meta = {
diff --git a/pkgs/development/idris-modules/tap.nix b/pkgs/development/idris-modules/tap.nix
new file mode 100644
index 00000000000..5f6eccd98cd
--- /dev/null
+++ b/pkgs/development/idris-modules/tap.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "tap";
+  version = "2017-04-08";
+
+  idrisDeps = [ prelude contrib ];
+
+  src = fetchFromGitHub {
+    owner = "ostera";
+    repo = "tap-idris";
+    rev = "0d019333e1883c1d60e151af1acb02e2b531e72f";
+    sha256 = "0fhlmmivq9xv89r7plrnhmvay1j7bapz3wh7y8lygwvcrllh9zxs";
+  };
+
+  postUnpack = ''
+    rm source/Draft.ipkg
+  '';
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/test.nix b/pkgs/development/idris-modules/test.nix
new file mode 100644
index 00000000000..d0688c54a65
--- /dev/null
+++ b/pkgs/development/idris-modules/test.nix
@@ -0,0 +1,32 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "test";
+  version = "2017-03-30";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/tlhydra.nix b/pkgs/development/idris-modules/tlhydra.nix
new file mode 100644
index 00000000000..9106e485c5f
--- /dev/null
+++ b/pkgs/development/idris-modules/tlhydra.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, effects
+, contrib
+, lightyear
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "tlhydra";
+  version = "2017-13-26";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/tomladris.nix b/pkgs/development/idris-modules/tomladris.nix
new file mode 100644
index 00000000000..a5d99d19284
--- /dev/null
+++ b/pkgs/development/idris-modules/tomladris.nix
@@ -0,0 +1,30 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lightyear
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "tomladris";
+  version = "2017-11-14";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/tp.nix b/pkgs/development/idris-modules/tp.nix
new file mode 100644
index 00000000000..db45f0408ab
--- /dev/null
+++ b/pkgs/development/idris-modules/tp.nix
@@ -0,0 +1,31 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "tp";
+  version = "2017-08-15";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/tparsec.nix b/pkgs/development/idris-modules/tparsec.nix
new file mode 100644
index 00000000000..a2077fca20d
--- /dev/null
+++ b/pkgs/development/idris-modules/tparsec.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, lib
+, idris
+}:
+
+build-idris-package  {
+  name = "tparsec";
+  version = "2017-12-12";
+
+  idrisDeps = [ prelude ];
+
+  src = fetchFromGitHub {
+    owner = "gallais";
+    repo = "idris-tparsec";
+    rev = "fb87d08f8f58c934f37d8324b43b0979abcf2183";
+    sha256 = "0362076bfs976gqki4b4pxblhnk4xglgx5v2aycjpxsxlpxh6cfd";
+  };
+
+  meta = {
+    description = "TParsec - Total Parser Combinators in Idris";
+    homepage = https://github.com/gallais/idris-tparsec;
+    license = lib.licenses.gpl3;
+    maintainers = [ lib.maintainers.brainrape ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/transducers.nix b/pkgs/development/idris-modules/transducers.nix
new file mode 100644
index 00000000000..d63a11a0234
--- /dev/null
+++ b/pkgs/development/idris-modules/transducers.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "transducers";
+  version = "2017-07-28";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/trees.nix b/pkgs/development/idris-modules/trees.nix
new file mode 100644
index 00000000000..78ad70690b3
--- /dev/null
+++ b/pkgs/development/idris-modules/trees.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, bi
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "trees";
+  version = "2018-03-19";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/union_type.nix b/pkgs/development/idris-modules/union_type.nix
new file mode 100644
index 00000000000..845bec3d84e
--- /dev/null
+++ b/pkgs/development/idris-modules/union_type.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, base
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "union_type";
+  version = "2018-01-30";
+
+  idrisDeps = [ prelude base ];
+
+  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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/vecspace.nix b/pkgs/development/idris-modules/vecspace.nix
new file mode 100644
index 00000000000..d2fa9e31ae3
--- /dev/null
+++ b/pkgs/development/idris-modules/vecspace.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "vecspace";
+  version = "2018-01-12";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/webgl.nix b/pkgs/development/idris-modules/webgl.nix
new file mode 100644
index 00000000000..3793a812e57
--- /dev/null
+++ b/pkgs/development/idris-modules/webgl.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "webgl";
+  version = "2017-05-08";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/wl-pprint.nix b/pkgs/development/idris-modules/wl-pprint.nix
index 9ecf0591805..55a926d780d 100644
--- a/pkgs/development/idris-modules/wl-pprint.nix
+++ b/pkgs/development/idris-modules/wl-pprint.nix
@@ -16,10 +16,6 @@ build-idris-package {
     sha256 = "0ifp76cqg340jkkzanx69vg76qivv53vh1lzv9zkp5f49prkwl5d";
   };
 
-  # The tests for this package fail. We should attempt to enable them when
-  # updating this package again.
-  doCheck = false;
-
   idrisDeps = [ prelude base ];
 
   meta = {
diff --git a/pkgs/development/idris-modules/wyvern.nix b/pkgs/development/idris-modules/wyvern.nix
new file mode 100644
index 00000000000..a1724476f6c
--- /dev/null
+++ b/pkgs/development/idris-modules/wyvern.nix
@@ -0,0 +1,33 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, effects
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "wyvern";
+  version = "2017-06-26";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/xhr.nix b/pkgs/development/idris-modules/xhr.nix
new file mode 100644
index 00000000000..15573cc9461
--- /dev/null
+++ b/pkgs/development/idris-modules/xhr.nix
@@ -0,0 +1,28 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, idrisscript
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "xhr";
+  version = "2017-04-22";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/yaml.nix b/pkgs/development/idris-modules/yaml.nix
new file mode 100644
index 00000000000..ff935753ce9
--- /dev/null
+++ b/pkgs/development/idris-modules/yaml.nix
@@ -0,0 +1,29 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, contrib
+, lightyear
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "yaml";
+  version = "2018-01-25";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}
diff --git a/pkgs/development/idris-modules/yampa.nix b/pkgs/development/idris-modules/yampa.nix
new file mode 100644
index 00000000000..661a55bfd74
--- /dev/null
+++ b/pkgs/development/idris-modules/yampa.nix
@@ -0,0 +1,27 @@
+{ build-idris-package
+, fetchFromGitHub
+, prelude
+, bifunctors
+, lib
+, idris
+}:
+build-idris-package  {
+  name = "yampa";
+  version = "2016-07-05";
+
+  idrisDeps = [ prelude 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 ];
+    inherit (idris.meta) platforms;
+  };
+}