about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--users/grfn/owothia/default.nix10
-rw-r--r--users/grfn/owothia/pkg.nix16
-rw-r--r--users/grfn/xanthous/default.nix30
-rw-r--r--users/grfn/xanthous/pkg.nix95
4 files changed, 126 insertions, 25 deletions
diff --git a/users/grfn/owothia/default.nix b/users/grfn/owothia/default.nix
index e10098ed943b..b70d0525c152 100644
--- a/users/grfn/owothia/default.nix
+++ b/users/grfn/owothia/default.nix
@@ -2,5 +2,11 @@
 , pkgs ? depot.third_party.nixpkgs
 , ... }:
 
-pkgs.haskellPackages.callCabal2nix "owothia"
-  (depot.third_party.gitignoreSource ./.) { }
+let
+  basePkg = pkgs.haskellPackages.callPackage ./pkg.nix { };
+in
+
+pkgs.haskell.lib.overrideSrc basePkg {
+  src = depot.third_party.gitignoreSource ./.;
+  version = "canon";
+}
diff --git a/users/grfn/owothia/pkg.nix b/users/grfn/owothia/pkg.nix
new file mode 100644
index 000000000000..d0941a848958
--- /dev/null
+++ b/users/grfn/owothia/pkg.nix
@@ -0,0 +1,16 @@
+{ mkDerivation, base, bytestring, chatter, containers, envy
+, irc-client, lens, lib, random, relude, text
+}:
+mkDerivation {
+  pname = "owothia";
+  version = "0.0.1.0";
+  src = ./.;
+  isLibrary = false;
+  isExecutable = true;
+  executableHaskellDepends = [
+    base bytestring chatter containers envy irc-client lens random
+    relude text
+  ];
+  license = "unknown";
+  hydraPlatforms = lib.platforms.none;
+}
diff --git a/users/grfn/xanthous/default.nix b/users/grfn/xanthous/default.nix
index 0b89a50afb9e..1316ff583f17 100644
--- a/users/grfn/xanthous/default.nix
+++ b/users/grfn/xanthous/default.nix
@@ -1,7 +1,23 @@
-{ pkgs ? (import ../../../. {}).third_party
-, lib ? pkgs.lib
-, ...
-}:
-pkgs.haskell.lib.failOnAllWarnings (
-  pkgs.haskellPackages.callPackage (import ./pkg.nix { inherit pkgs; }) {}
-)
+{ depot ? (import ../../../. {})
+, pkgs ? depot.third_party.nixpkgs
+, ... }:
+
+let
+  ignore = depot.third_party.gitignoreSource.gitignoreFilter ./.;
+  src = builtins.path {
+    name = "xanthous-source";
+    path = ./.;
+    filter = path: type: ignore path type
+      || builtins.baseNameOf path == "package.yaml";
+  };
+  # generated by cabal2nix
+  basePkg = pkgs.haskellPackages.callPackage ./pkg.nix { };
+in
+
+pkgs.haskell.lib.overrideCabal basePkg (default: {
+  inherit src;
+  version = "canon";
+  configureFlags = [
+    "--ghc-option=-Wall --ghc-option=-Werror"
+  ] ++ (default.configureFlags or []);
+})
diff --git a/users/grfn/xanthous/pkg.nix b/users/grfn/xanthous/pkg.nix
index 16a6500866a7..da5a5ba17ed7 100644
--- a/users/grfn/xanthous/pkg.nix
+++ b/users/grfn/xanthous/pkg.nix
@@ -1,16 +1,79 @@
-{ depot ? (import ../../../. {})
-, pkgs ? depot.third_party.nixpkgs
-, ... }:
-
-let
-  ignore = depot.third_party.gitignoreSource.gitignoreFilter ./.;
-in import (pkgs.haskellPackages.haskellSrc2nix {
-  name = "xanthous";
-  src = builtins.path {
-    name = "xanthous-source";
-    path = ./.;
-    filter = path: type: ignore path type
-      || builtins.baseNameOf path == "package.yaml";
-  };
-  extraCabal2nixOptions = "--hpack";
-})
+{ mkDerivation, aeson, array, async, base, bifunctors, brick
+, checkers, classy-prelude, comonad, comonad-extras, constraints
+, containers, criterion, data-default, deepseq, directory, fgl
+, fgl-arbitrary, file-embed, filepath, generic-arbitrary
+, generic-lens, generic-monoid, groups, hgeometry
+, hgeometry-combinatorial, hpack, JuicyPixels, lens
+, lens-properties, lib, lifted-async, linear, megaparsec, mmorph
+, monad-control, MonadRandom, mtl, optparse-applicative, parallel
+, parser-combinators, pointed, QuickCheck, quickcheck-instances
+, quickcheck-text, random, random-extras, random-fu, random-source
+, Rasterific, raw-strings-qq, reflection, semigroupoids, splitmix
+, stache, streams, tasty, tasty-hunit, tasty-quickcheck, text
+, text-zipper, tomland, transformers, vector, vty, witherable, yaml
+, zlib
+}:
+mkDerivation {
+  pname = "xanthous";
+  version = "0.1.0.0";
+  src = ./.;
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson array async base bifunctors brick checkers classy-prelude
+    comonad comonad-extras constraints containers criterion
+    data-default deepseq directory fgl fgl-arbitrary file-embed
+    filepath generic-arbitrary generic-lens generic-monoid groups
+    hgeometry hgeometry-combinatorial JuicyPixels lens lifted-async
+    linear megaparsec mmorph monad-control MonadRandom mtl
+    optparse-applicative parallel parser-combinators pointed QuickCheck
+    quickcheck-instances quickcheck-text random random-extras random-fu
+    random-source Rasterific raw-strings-qq reflection semigroupoids
+    splitmix stache streams text text-zipper tomland transformers
+    vector vty witherable yaml zlib
+  ];
+  libraryToolDepends = [ hpack ];
+  executableHaskellDepends = [
+    aeson array async base bifunctors brick checkers classy-prelude
+    comonad comonad-extras constraints containers criterion
+    data-default deepseq directory fgl fgl-arbitrary file-embed
+    filepath generic-arbitrary generic-lens generic-monoid groups
+    hgeometry hgeometry-combinatorial JuicyPixels lens lifted-async
+    linear megaparsec mmorph monad-control MonadRandom mtl
+    optparse-applicative parallel parser-combinators pointed QuickCheck
+    quickcheck-instances quickcheck-text random random-extras random-fu
+    random-source Rasterific raw-strings-qq reflection semigroupoids
+    splitmix stache streams text text-zipper tomland transformers
+    vector vty witherable yaml zlib
+  ];
+  testHaskellDepends = [
+    aeson array async base bifunctors brick checkers classy-prelude
+    comonad comonad-extras constraints containers criterion
+    data-default deepseq directory fgl fgl-arbitrary file-embed
+    filepath generic-arbitrary generic-lens generic-monoid groups
+    hgeometry hgeometry-combinatorial JuicyPixels lens lens-properties
+    lifted-async linear megaparsec mmorph monad-control MonadRandom mtl
+    optparse-applicative parallel parser-combinators pointed QuickCheck
+    quickcheck-instances quickcheck-text random random-extras random-fu
+    random-source Rasterific raw-strings-qq reflection semigroupoids
+    splitmix stache streams tasty tasty-hunit tasty-quickcheck text
+    text-zipper tomland transformers vector vty witherable yaml zlib
+  ];
+  benchmarkHaskellDepends = [
+    aeson array async base bifunctors brick checkers classy-prelude
+    comonad comonad-extras constraints containers criterion
+    data-default deepseq directory fgl fgl-arbitrary file-embed
+    filepath generic-arbitrary generic-lens generic-monoid groups
+    hgeometry hgeometry-combinatorial JuicyPixels lens lifted-async
+    linear megaparsec mmorph monad-control MonadRandom mtl
+    optparse-applicative parallel parser-combinators pointed QuickCheck
+    quickcheck-instances quickcheck-text random random-extras random-fu
+    random-source Rasterific raw-strings-qq reflection semigroupoids
+    splitmix stache streams text text-zipper tomland transformers
+    vector vty witherable yaml zlib
+  ];
+  prePatch = "hpack";
+  homepage = "https://github.com/glittershark/xanthous#readme";
+  description = "A WIP TUI RPG";
+  license = lib.licenses.gpl3Only;
+}