Skip to content

Instantly share code, notes, and snippets.

@paulperegud
Created December 6, 2019 14:25
Show Gist options
  • Save paulperegud/aa537dec30dd0a2a96bf9e20e146c756 to your computer and use it in GitHub Desktop.
Save paulperegud/aa537dec30dd0a2a96bf9e20e146c756 to your computer and use it in GitHub Desktop.
let
pkgs = import (fetchTarball https://nixos.org/channels/nixos-19.09/nixexprs.tar.xz) {};
newpkgs = import pkgs.path { overlays = [ (pkgsself: pkgssuper: {
packageOverrides = self: super: {
erlang = super.erlangR20;
};
} ) ]; };
newpkgs.stdenv.mkDerivation {
name = "my_env";
buildInputs = [
erlang
elixir_1_8
rebar3
];
}
@kwohlfahrt
Copy link

kwohlfahrt commented Dec 6, 2019

I think packageOverrides is the wrong option, just replace erlang:

let
  pkgs = import (fetchTarball  https://nixos.org/channels/nixos-19.09/nixexprs.tar.xz) {};
  newpkgs = import pkgs.path {
    overlays = [ (self: super: {
      erlang = super.erlangR20;
    })];
  };

  fn = {stdenv, erlang, elixir_1_8, rebar3}: stdenv.mkDerivation {
    name = "my_env";
    buildInputs = [
      erlang
      elixir_1_8
      rebar3
    ];
  };

in newpkgs.callPackage fn {}

Replacing buildInputs = [ erlang ] with buildInputs = [ (builtins.trace erlang.version erlang) ] prints out 20.3.8.9, so I think it's doing the right thing now.

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