Files
rover-ros2/flake.nix

49 lines
1.6 KiB
Nix

{
description = "Development environment for ASTRA Anchor";
inputs = {
nix-ros-overlay.url = "github:lopsided98/nix-ros-overlay/master";
nixpkgs.follows = "nix-ros-overlay/nixpkgs"; # IMPORTANT!!!
};
outputs = { self, nix-ros-overlay, nixpkgs }:
nix-ros-overlay.inputs.flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ nix-ros-overlay.overlays.default ];
};
in {
devShells.default = pkgs.mkShell {
name = "ASTRA Anchor";
packages = with pkgs; [
colcon
python312Packages.pyserial
python312Packages.pygame
(with rosPackages.humble; buildEnv {
paths = [
ros-core ros2cli ros2run ros2bag rviz2 xacro ament-cmake-core python-cmake-module
diff-drive-controller parameter-traits generate-parameter-library
joint-state-publisher-gui robot-state-publisher
ros2-control controller-manager
# ros2-controllers nixpkg does not build :(
];
})
];
shellHook = ''
[ -d install ] || colcon build --symlink-install
source install/setup.bash
# Display stuff
export DISPLAY=''${DISPLAY:-:0}
export QT_X11_NO_MITSHM=1
'';
};
});
nixConfig = {
extra-substituters = [ "https://ros.cachix.org" ];
extra-trusted-public-keys = [ "ros.cachix.org-1:dSyZxI8geDCJrwgvCOHDoAfOm5sV1wCPjBkKL+38Rvo=" ];
};
}