Skip to content

Instantly share code, notes, and snippets.

@bennofs
Created October 17, 2015 22:52
Show Gist options
  • Save bennofs/2862eff77f58e55fe8f4 to your computer and use it in GitHub Desktop.
Save bennofs/2862eff77f58e55fe8f4 to your computer and use it in GitHub Desktop.
default to different mtl + explicit override
let
# First, let's get a haskellPackages set to play around with
haskellPackages = (import <nixpkgs> {}).haskellPackages;
# Change the default mtl
haskellPackagesMtl = haskellPackages.override {
overrides = self: super: {
mtl = super.mtl_2_1_3_1;
};
};
in haskellPackages
@jfischoff
Copy link

{
  allowUnfree = true;
  packageOverrides = super: let self = super.pkgs; in
  {
    haskellPackages = self.haskellPackages.override {
      overrides = self: super: {
        mkDerivation = args: super.mkDerivation (args // {
          enableSharedExecutables = false;
        });
      };
    };

    # lib = import ../nixpkgs/pkgs/development/haskell-modules/lib.nix { pkgs = self.pkgs; };

    haskell = super.haskell // {
      packages = super.haskell.packages // {
        ghc784 = super.haskell.packages.ghc784.override {
          overrides = self: super: {
            mtl = super.mtl_2_2_1;
            transformers-compat = lib.addBuildDepend (enableCabalFlag super.transformers-compat "three") super.mtl_2_1_3_1;

          };
        };
      };
    };
  };
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment