aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--default.nix19
-rw-r--r--pkgs/default.nix10
2 files changed, 20 insertions, 9 deletions
diff --git a/default.nix b/default.nix
index 0545c15..cb6c507 100644
--- a/default.nix
+++ b/default.nix
@@ -1,18 +1,19 @@
-{ pkgs ? import (import ./nix/sources.nix).nixpkgs { }
+{ pkgs ? import sources.nixpkgs {
+ overlays = [
+ (import ./pkgs)
+ ];
+ }
+, sources ? import ./nix/sources.nix
}:
let
- haskellPackages = pkgs.haskellPackages.override
- {
- overrides = self: super: {
- sh = self.callCabal2nix "sh" ./. { };
- };
- };
+ inherit (pkgs) haskellPackages;
in
{
+ inherit (haskellPackages) sh;
shell = haskellPackages.shellFor {
- packages = (_: [
+ packages = _: [
haskellPackages.sh
- ]);
+ ];
buildInputs = [
pkgs.cabal-install
pkgs.niv
diff --git a/pkgs/default.nix b/pkgs/default.nix
new file mode 100644
index 0000000..8264df5
--- /dev/null
+++ b/pkgs/default.nix
@@ -0,0 +1,10 @@
+self: super: {
+ haskell = super.haskell // {
+ packageOverrides = self.lib.composeExtensions super.haskell.packageOverrides (let
+ pkgs = self;
+ in
+ self: super: {
+ sh = pkgs.haskell.lib.dontCheck (self.callCabal2nix "sh" ./.. { });
+ });
+ };
+}