2024-10-23 10:08:06 +02:00
|
|
|
let
|
|
|
|
lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
|
|
|
lockedNixpkgs = builtins.fetchTarball {
|
|
|
|
url = "https://github.com/lopsided98/nixpkgs/archive/${lock.nodes.nixpkgs.locked.rev}.tar.gz";
|
|
|
|
sha256 = lock.nodes.nixpkgs.locked.narHash;
|
|
|
|
};
|
|
|
|
in
|
2024-10-23 08:14:40 +02:00
|
|
|
{ nixpkgs ? lockedNixpkgs, nix-ros-overlay ? ./., distro ? null, system ? builtins.currentSystem }:
|
2019-12-07 17:07:25 -05:00
|
|
|
let
|
2024-10-24 01:29:11 +02:00
|
|
|
pkgs = import nix-ros-overlay { inherit nixpkgs system; };
|
2024-10-23 14:20:42 +02:00
|
|
|
releaseDistros = builtins.mapAttrs (_: a: removeAttrs a [
|
2019-12-07 17:07:25 -05:00
|
|
|
"lib"
|
|
|
|
"python"
|
|
|
|
"python3"
|
|
|
|
"python2"
|
|
|
|
"pythonPackages"
|
|
|
|
"python2Packages"
|
|
|
|
"python3Packages"
|
|
|
|
"boost"
|
2024-10-24 01:29:11 +02:00
|
|
|
]) pkgs.rosPackages;
|
|
|
|
toplevelPackages = (pkgs.lib.intersectAttrs ((import ./overlay.nix) null pkgs) pkgs);
|
|
|
|
releasePackages = toplevelPackages // {
|
|
|
|
rosPackages = removeAttrs releaseDistros [
|
|
|
|
"lib"
|
|
|
|
"mkRosDistroOverlay"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
in if distro == null then releasePackages else releasePackages.rosPackages.${distro}
|