summaryrefslogtreecommitdiff
path: root/Biz/Bild/Haskell.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2024-04-08 16:02:03 -0400
committerBen Sima <ben@bsima.me>2024-04-10 19:56:46 -0400
commitaa5f12a5a2365a35f17becc66cf7a67fa86a4440 (patch)
treee43c059973558ea0b1687525e00789c353491460 /Biz/Bild/Haskell.nix
parent544d75a47e85d2b334267a43ba065bb69538ad75 (diff)
Reorganize and update nixpkgs upstreams
This patch does a few things: 1. Switches from nixpkgs-unstable to nixos-unstable{,-small}, simply because nixpkgs-unstable is not in cache.nixos.org, but nixos-unstable is, and -small is the same but requires all tests to pass. So we should prefer nixos-unstable-small, whenever possible. 2. Reorganizes the nixpkgs import code such that Nixpkgs.nix returns an attrset of all the nixpkgs that I want to use, rather than putting other nixpkgs branches into the main one as an overlay. This is much simpler and explicit, but it meant I had to change a lot of usages throughtout the nix codebase. 3. As a consequence of 2, moves the overlays into separate files so they can be re-used across nixpkgs branches.
Diffstat (limited to 'Biz/Bild/Haskell.nix')
-rw-r--r--Biz/Bild/Haskell.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/Biz/Bild/Haskell.nix b/Biz/Bild/Haskell.nix
new file mode 100644
index 0000000..2c0529a
--- /dev/null
+++ b/Biz/Bild/Haskell.nix
@@ -0,0 +1,44 @@
+_self: super:
+
+let
+ ghcCompiler = "ghc924";
+ buildCabal = sel: name: sel.callCabal2nix name super.sources.${name} { };
+ buildCabalSubdir = sel:
+ { name, src ? super.sources.${name}, subdir ? name }:
+ sel.callCabal2nix name (src + "/${subdir}") { };
+in rec {
+
+ haskell = super.haskell // {
+ packages = super.haskell.packages // {
+ "${ghcCompiler}" = super.haskell.packages."${ghcCompiler}".override
+ (_old: {
+ overrides = with super.pkgs.haskell.lib;
+ sel: sup:
+ super.overridePinnedDeps (buildCabal sel) // {
+ acid-state =
+ dontCheck sup.acid-state; # mac: "too many open files"
+ clay = doJailbreak sup.clay;
+ envy = doJailbreak sup.envy;
+ fast-tags =
+ sup.fast-tags.overrideAttrs (old: old // { patches = [ ]; });
+ generic-data = dontCheck
+ sup.generic-data; # https://github.com/Lysxia/generic-data/issues/56
+ readable =
+ doJailbreak sup.readable; # why is this even being built?
+ servant-auth = doJailbreak (buildCabalSubdir sel {
+ name = "servant-auth";
+ subdir = "servant-auth/servant-auth";
+ });
+ servant-server = doJailbreak sup.servant-server;
+ stripe-core = doJailbreak sup.stripe-core;
+ stripe-haskell = dontCheck sup.stripe-haskell;
+ stripe-http-client =
+ doJailbreak (dontCheck sup.stripe-http-client);
+ temporary = dontCheck sup.temporary;
+ wai-middleware-metrics = dontCheck sup.wai-middleware-metrics;
+ };
+ });
+ };
+ };
+
+}