2020-09-21 20:53:46 -04:00
|
|
|
{
|
|
|
|
description = "ROS overlay for the Nix package manager";
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:lopsided98/nixpkgs/nix-ros";
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
};
|
|
|
|
|
|
|
|
outputs = { self, nixpkgs, flake-utils }:
|
2022-07-21 19:28:26 -04:00
|
|
|
with nixpkgs.lib;
|
2020-09-21 20:53:46 -04:00
|
|
|
with flake-utils.lib;
|
2024-09-20 00:25:49 +02:00
|
|
|
eachSystem systems.flakeExposed (system: let
|
2020-09-21 20:53:46 -04:00
|
|
|
pkgs = import nixpkgs {
|
|
|
|
inherit system;
|
2022-07-08 16:25:29 -04:00
|
|
|
overlays = [ self.overlays.default ];
|
2020-09-21 20:53:46 -04:00
|
|
|
};
|
|
|
|
in {
|
2021-06-28 12:45:18 -04:00
|
|
|
legacyPackages = pkgs.rosPackages;
|
2023-03-31 16:01:07 +02:00
|
|
|
|
|
|
|
devShells = {
|
|
|
|
example-turtlebot3-gazebo = import ./examples/turtlebot3-gazebo.nix { inherit pkgs; };
|
|
|
|
example-ros2-basic = import ./examples/ros2-basic.nix { inherit pkgs; };
|
2024-10-15 21:42:03 -04:00
|
|
|
example-ros2-gz = import ./examples/ros2-gz.nix { inherit pkgs; };
|
2025-03-12 13:09:30 +01:00
|
|
|
example-ros2-turtlebot4-gz = import ./examples/ros2-turtlebot4-gz.nix { inherit pkgs; };
|
2024-11-17 12:25:57 -05:00
|
|
|
|
|
|
|
# Development environment for the custom GitHub action
|
|
|
|
nix-ros-build-action = pkgs.callPackage ./.github/actions/nix-ros-build-action/shell.nix { };
|
2023-03-31 16:01:07 +02:00
|
|
|
};
|
2020-09-21 20:53:46 -04:00
|
|
|
}) // {
|
2022-07-08 16:25:29 -04:00
|
|
|
overlays.default = import ./overlay.nix;
|
2024-08-06 11:42:15 -04:00
|
|
|
nixosModules.default = ./modules;
|
2022-07-21 19:28:26 -04:00
|
|
|
|
|
|
|
overlay = nixpkgs.lib.warn
|
|
|
|
"'nix-ros-overlay.overlay' is deprecated, use 'nix-ros-overlay.overlays.default' instead"
|
|
|
|
self.overlays.default;
|
|
|
|
nixosModule = nixpkgs.lib.warn
|
|
|
|
"'nix-ros-overlay.nixosModule' is deprecated, use 'nix-ros-overlay.nixosModules.default' instead"
|
|
|
|
self.nixosModules.default;
|
2024-09-12 23:22:00 +02:00
|
|
|
templates.default = {
|
|
|
|
path = ./examples/flake;
|
|
|
|
description = "Basic ROS flake";
|
|
|
|
};
|
2020-09-21 20:53:46 -04:00
|
|
|
};
|
2023-03-31 15:07:58 +02:00
|
|
|
|
|
|
|
nixConfig = {
|
|
|
|
extra-substituters = [ "https://ros.cachix.org" ];
|
|
|
|
extra-trusted-public-keys = [ "ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo=" ];
|
|
|
|
};
|
|
|
|
|
2020-09-21 20:53:46 -04:00
|
|
|
}
|