Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save cleverca22/6983c3c7a20b382dc2dc699a45e78645 to your computer and use it in GitHub Desktop.
Save cleverca22/6983c3c7a20b382dc2dc699a45e78645 to your computer and use it in GitHub Desktop.
let
pkgs_1_src = builtins.fetchTarball {
url = https://github.com/NixOS/nixpkgs/archive/195620b77085a4e746db33894526116f9062086b.tar.gz;
sha256 = "01qhrniklm1c0kz7d97xdv7r5zhpi6frs7c6nsa3rq1nmz33x0ga";
};
pkgs_2_src = builtins.fetchTarball {
url ="https://github.com/NixOS/nixpkgs/archive/7e9abc8b54c9e3b2fe61ea672099a21af0f79acc.tar.gz";
sha256 = "1bf2842rfa0i31dqlgkwirj8826yh1ldd469w4f63npkrpzsma4c";
};
in {
pkgs_1 ? import pkgs_1_src {},
pkgs_2 ? import pkgs_2_src {},
}:
let
lib = pkgs_1.lib;
mkPins = inputs: pkgs_1.runCommand "ifd-pins" {} ''
mkdir $out
cd $out
${lib.concatMapStringsSep "\n" (input: "ln -sv ${input.value} ${input.key}") (lib.attrValues (lib.mapAttrs (key: value: { inherit key value; }) inputs))}
'';
in rec {
package_1 = pkgs_1.callPackage ./package_1.nix { };
package_2 = pkgs_2.callPackage ./package_2.nix { };
ifd-pins = mkPins {
inherit pkgs_1_src pkgs_2_src;
};
final_deriv = pkgs_20190508.buildEnv {
name = "final_deriv";
paths = [
package_1
package_2
];
pathsToLink = [ "/bin" ];
ignoreCollisions = true;
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment