Define ROS distro name at only one place in flake.nix

This commit is contained in:
Michal Sojka 2024-09-15 14:38:06 +02:00
parent bff08f3718
commit ac0a6f67bc

View file

@ -121,18 +121,19 @@ def generate_flake(args):
rosDistroOverlays rosDistroOverlays
]; ];
}; };
''' + f'''
rosDistro = "{args.distro}";
''' + '''
in { in {
legacyPackages = pkgs.rosPackages; legacyPackages = pkgs.rosPackages;
''' + f''' packages = builtins.intersectAttrs (import ./overlay.nix null null) pkgs.rosPackages.${rosDistro};
packages = builtins.intersectAttrs (import ./overlay.nix null null) pkgs.rosPackages.{args.distro}; checks = builtins.intersectAttrs (import ./overlay.nix null null) pkgs.rosPackages.${rosDistro};
checks = builtins.intersectAttrs (import ./overlay.nix null null) pkgs.rosPackages.{args.distro};
''' + '''
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
name = "Example project"; name = "Example project";
packages = [ packages = [
pkgs.colcon pkgs.colcon
# ... other non-ROS packages # ... other non-ROS packages
(with pkgs.rosPackages.humble; buildEnv { (with pkgs.rosPackages.${rosDistro}; buildEnv {
paths = [ paths = [
ros-core ros-core
# ... other ROS packages # ... other ROS packages
@ -146,7 +147,7 @@ def generate_flake(args):
extra-trusted-public-keys = [ "ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo=" ]; extra-trusted-public-keys = [ "ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo=" ];
}; };
} }
'''.strip()) ''')
def ros2nix(args): def ros2nix(args):