Skip to content

Instantly share code, notes, and snippets.

@codedmart
Created August 20, 2015 18:28
Show Gist options
  • Select an option

  • Save codedmart/a0a5cfc5aab82d6c6901 to your computer and use it in GitHub Desktop.

Select an option

Save codedmart/a0a5cfc5aab82d6c6901 to your computer and use it in GitHub Desktop.
{ mkDerivation, aeson, base, scotty, stdenv }:
mkDerivation {
pname = "firstMeeting";
version = "0.1.0.0";
src = ./.;
isLibrary = false;
isExecutable = true;
executableHaskellDepends = [ aeson base scotty ];
license = stdenv.lib.licenses.unfree;
}
{ compiler ? "ghc7102" }:
let
pkgs = import <nixpkgs> {};
stdenv = pkgs.stdenv;
haskellPackages = pkgs.haskell.packages.${compiler}.override {
overrides = self: super: {
firstMeeting = self.callPackage ~/Work/haskellMeetup/firstMeeting {};
};
};
aggregated = haskellPackages.mkDerivation {
pname = "haskell-meetup-aggregated";
version = "1.0.0";
src = null;
license = null;
libraryHaskellDepends = with haskellPackages; [
firstMeeting
];
librarySystemDepends = [
haskellPackages.cabal-install
haskellPackages.ghc-mod
haskellPackages.hlint
haskellPackages.hdevtools
];
};
in rec {
haskellMeetupEnv = stdenv.lib.overrideDerivation aggregated.env (old: {
NIX_MYENV_NAME = "haskellMeetup";
shellHook = ''
source ~/.bash_prompt
# Run the old shell hook of the haskell environment
${old.shellHook}
'';
});
}
let
pkgs = import <nixpkgs> {};
haskellPackages = pkgs.haskellPackages.override {
overrides = self: super: {
firstMeeting = self.callPackage ./. {};
};
};
in haskellPackages.firstMeeting.env
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment