{
  pkgs = hackage:
    {
      packages = {
        "void".revision = (((hackage."void")."0.7.3").revisions).default;
        "semigroupoids".revision = (((hackage."semigroupoids")."5.3.4").revisions).default;
        "free".revision = (((hackage."free")."5.1.3").revisions).default;
        "cereal".revision = (((hackage."cereal")."0.5.8.1").revisions).default;
        "exceptions".revision = (((hackage."exceptions")."0.10.4").revisions).default;
        "binary".revision = (((hackage."binary")."0.8.6.0").revisions).default;
        "monad-parallel".revision = (((hackage."monad-parallel")."0.7.2.3").revisions).default;
        "ghc-prim".revision = (((hackage."ghc-prim")."0.5.3").revisions).default;
        "utf8-string".revision = (((hackage."utf8-string")."1.0.1.1").revisions).default;
        "bifunctors".revision = (((hackage."bifunctors")."5.5.7").revisions).default;
        "ObjectName".revision = (((hackage."ObjectName")."1.1.0.1").revisions).default;
        "stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
        "unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
        "mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
        "linear".revision = (((hackage."linear")."1.21").revisions).default;
        "network-info".revision = (((hackage."network-info")."0.2.0.10").revisions).default;
        "zlib".revision = (((hackage."zlib")."0.6.2.1").revisions).default;
        "rts".revision = (((hackage."rts")."1.0").revisions).default;
        "clock".revision = (((hackage."clock")."0.8").revisions).default;
        "adjunctions".revision = (((hackage."adjunctions")."4.4").revisions).default;
        "cryptohash-md5".revision = (((hackage."cryptohash-md5")."0.11.100.1").revisions).default;
        "invariant".revision = (((hackage."invariant")."0.5.3").revisions).default;
        "glib".revision = (((hackage."glib")."0.13.8.0").revisions).default;
        "distributive".revision = (((hackage."distributive")."0.6.1").revisions).default;
        "binary-orphans".revision = (((hackage."binary-orphans")."1.0.1").revisions).default;
        "OpenGLRaw".revision = (((hackage."OpenGLRaw")."3.3.4.0").revisions).default;
        "scientific".revision = (((hackage."scientific")."0.3.6.2").revisions).default;
        "half".revision = (((hackage."half")."0.3").revisions).default;
        "parallel".revision = (((hackage."parallel")."3.2.2.0").revisions).default;
        "deepseq".revision = (((hackage."deepseq")."1.4.4.0").revisions).default;
        "random".revision = (((hackage."random")."1.1").revisions).default;
        "uuid-types".revision = (((hackage."uuid-types")."1.0.3").revisions).default;
        "semigroups".revision = (((hackage."semigroups")."0.19.1").revisions).default;
        "directory".revision = (((hackage."directory")."1.3.3.0").revisions).default;
        "transformers-compat".revision = (((hackage."transformers-compat")."0.6.5").revisions).default;
        "template-haskell".revision = (((hackage."template-haskell")."2.14.0.0").revisions).default;
        "bytes".revision = (((hackage."bytes")."0.16").revisions).default;
        "vector".revision = (((hackage."vector")."0.12.1.2").revisions).default;
        "call-stack".revision = (((hackage."call-stack")."0.2.0").revisions).default;
        "primitive".revision = (((hackage."primitive")."0.7.0.0").revisions).default;
        "profunctors".revision = (((hackage."profunctors")."5.5.1").revisions).default;
        "tagged".revision = (((hackage."tagged")."0.8.6").revisions).default;
        "lens".revision = (((hackage."lens")."4.19").revisions).default;
        "containers".revision = (((hackage."containers")."0.6.0.1").revisions).default;
        "integer-logarithms".revision = (((hackage."integer-logarithms")."1.0.3").revisions).default;
        "reflection".revision = (((hackage."reflection")."2.1.5").revisions).default;
        "OpenGL".revision = (((hackage."OpenGL")."3.0.3.0").revisions).default;
        "bytestring".revision = (((hackage."bytestring")."0.10.8.2").revisions).default;
        "GLUtil".revision = (((hackage."GLUtil")."0.10.3").revisions).default;
        "JuicyPixels".revision = (((hackage."JuicyPixels")."3.3.4").revisions).default;
        "cryptohash-sha1".revision = (((hackage."cryptohash-sha1")."0.11.100.1").revisions).default;
        "StateVar".revision = (((hackage."StateVar")."1.2").revisions).default;
        "contravariant".revision = (((hackage."contravariant")."1.5.2").revisions).default;
        "GLURaw".revision = (((hackage."GLURaw")."2.0.0.4").revisions).default;
        "uuid".revision = (((hackage."uuid")."1.3.13").revisions).default;
        "text".revision = (((hackage."text")."1.2.3.1").revisions).default;
        "unordered-containers".revision = (((hackage."unordered-containers")."0.2.10.0").revisions).default;
        "base".revision = (((hackage."base")."4.12.0.0").revisions).default;
        "comonad".revision = (((hackage."comonad")."5.0.6").revisions).default;
        "time".revision = (((hackage."time")."1.8.0.2").revisions).default;
        "transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
        "hashable".revision = (((hackage."hashable")."1.3.0.0").revisions).default;
        "JuicyPixels-extra".revision = (((hackage."JuicyPixels-extra")."0.4.1").revisions).default;
        "transformers-base".revision = (((hackage."transformers-base")."0.4.5.2").revisions).default;
        "hpp".revision = (((hackage."hpp")."0.6.1").revisions).default;
        "entropy".revision = (((hackage."entropy")."0.4.1.5").revisions).default;
        "filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
        "monad-loops".revision = (((hackage."monad-loops")."0.4.3").revisions).default;
        "kan-extensions".revision = (((hackage."kan-extensions")."5.2").revisions).default;
        "fixed".revision = (((hackage."fixed")."0.3").revisions).default;
        "pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
        "ghc-boot-th".revision = (((hackage."ghc-boot-th")."8.6.5").revisions).default;
        "base-orphans".revision = (((hackage."base-orphans")."0.8.2").revisions).default;
        "sdl2".revision = (((hackage."sdl2")."2.5.1.0").revisions).default;
        "th-abstraction".revision = (((hackage."th-abstraction")."0.3.1.0").revisions).default;
        "array".revision = (((hackage."array")."0.5.3.0").revisions).default;
        "integer-gmp".revision = (((hackage."integer-gmp")."1.0.2.0").revisions).default;
        };
      compiler = {
        version = "8.6.5";
        nix-name = "ghc865";
        packages = {
          "void" = "0.7.3";
          "semigroupoids" = "5.3.4";
          "free" = "5.1.3";
          "cereal" = "0.5.8.1";
          "exceptions" = "0.10.4";
          "binary" = "0.8.6.0";
          "monad-parallel" = "0.7.2.3";
          "ghc-prim" = "0.5.3";
          "utf8-string" = "1.0.1.1";
          "bifunctors" = "5.5.7";
          "ObjectName" = "1.1.0.1";
          "stm" = "2.5.0.0";
          "unix" = "2.7.2.2";
          "mtl" = "2.2.2";
          "linear" = "1.21";
          "network-info" = "0.2.0.10";
          "zlib" = "0.6.2.1";
          "rts" = "1.0";
          "clock" = "0.8";
          "adjunctions" = "4.4";
          "cryptohash-md5" = "0.11.100.1";
          "invariant" = "0.5.3";
          "glib" = "0.13.8.0";
          "distributive" = "0.6.1";
          "binary-orphans" = "1.0.1";
          "OpenGLRaw" = "3.3.4.0";
          "scientific" = "0.3.6.2";
          "half" = "0.3";
          "parallel" = "3.2.2.0";
          "deepseq" = "1.4.4.0";
          "random" = "1.1";
          "uuid-types" = "1.0.3";
          "semigroups" = "0.19.1";
          "directory" = "1.3.3.0";
          "transformers-compat" = "0.6.5";
          "template-haskell" = "2.14.0.0";
          "bytes" = "0.16";
          "vector" = "0.12.1.2";
          "call-stack" = "0.2.0";
          "primitive" = "0.7.0.0";
          "profunctors" = "5.5.1";
          "tagged" = "0.8.6";
          "lens" = "4.19";
          "containers" = "0.6.0.1";
          "integer-logarithms" = "1.0.3";
          "reflection" = "2.1.5";
          "OpenGL" = "3.0.3.0";
          "bytestring" = "0.10.8.2";
          "GLUtil" = "0.10.3";
          "JuicyPixels" = "3.3.4";
          "cryptohash-sha1" = "0.11.100.1";
          "StateVar" = "1.2";
          "contravariant" = "1.5.2";
          "GLURaw" = "2.0.0.4";
          "uuid" = "1.3.13";
          "text" = "1.2.3.1";
          "unordered-containers" = "0.2.10.0";
          "base" = "4.12.0.0";
          "comonad" = "5.0.6";
          "time" = "1.8.0.2";
          "transformers" = "0.5.6.2";
          "hashable" = "1.3.0.0";
          "JuicyPixels-extra" = "0.4.1";
          "transformers-base" = "0.4.5.2";
          "hpp" = "0.6.1";
          "entropy" = "0.4.1.5";
          "filepath" = "1.4.2.1";
          "monad-loops" = "0.4.3";
          "kan-extensions" = "5.2";
          "fixed" = "0.3";
          "pretty" = "1.1.3.6";
          "ghc-boot-th" = "8.6.5";
          "base-orphans" = "0.8.2";
          "sdl2" = "2.5.1.0";
          "th-abstraction" = "0.3.1.0";
          "array" = "0.5.3.0";
          "integer-gmp" = "1.0.2.0";
          };
        };
      };
  extras = hackage:
    {
      packages = {
        affection = ./.plan.nix/affection.nix;
        canvas = ./.plan.nix/canvas.nix;
        };
      };
  modules = [
    ({ lib, ... }:
      {
        packages = {
          "affection" = {
            flags = {
              "verbose" = lib.mkOverride 900 false;
              "error" = lib.mkOverride 900 false;
              "debug" = lib.mkOverride 900 false;
              "warn" = lib.mkOverride 900 false;
              "examples" = lib.mkOverride 900 false;
              };
            };
          "canvas" = { flags = {}; };
          };
        })
    ];
  }