Skip to content
Snippets Groups Projects
flake.nix 1.51 KiB
Newer Older
Guilhem Saurel's avatar
Guilhem Saurel committed
  description = "Classes for manipulation planning";

  nixConfig = {
    extra-substituters = [ "https://gepetto.cachix.org" ];
    extra-trusted-public-keys = [ "gepetto.cachix.org-1:toswMl31VewC0jGkN6+gOelO2Yom0SOHzPwJMY2XiDY=" ];
  };

  inputs = {
    nixpkgs.url = "github:nim65s/nixpkgs/gepetto";
Guilhem Saurel's avatar
Guilhem Saurel committed
    flake-parts = {
      url = "github:hercules-ci/flake-parts";
      inputs.nixpkgs-lib.follows = "nixpkgs";
    };
    hpp-core = {
Guilhem Saurel's avatar
Guilhem Saurel committed
      url = "github:humanoid-path-planner/hpp-core";
Guilhem Saurel's avatar
Guilhem Saurel committed
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.flake-parts.follows = "flake-parts";
    };
    hpp-universal-robot = {
Guilhem Saurel's avatar
Guilhem Saurel committed
      url = "github:humanoid-path-planner/hpp-universal-robot";
Guilhem Saurel's avatar
Guilhem Saurel committed
      inputs.nixpkgs.follows = "nixpkgs";
      inputs.flake-parts.follows = "flake-parts";
    };
  };

  outputs =
    inputs@{ flake-parts, ... }:
    flake-parts.lib.mkFlake { inherit inputs; } {
Guilhem Saurel's avatar
Guilhem Saurel committed
      imports = [ ];
      systems = [
        "x86_64-linux"
        "aarch64-linux"
        "aarch64-darwin"
        "x86_64-darwin"
      ];
      perSystem =
        {
          self',
          pkgs,
          system,
          ...
        }:
        {
Guilhem Saurel's avatar
Guilhem Saurel committed
          packages = {
            inherit (pkgs) cachix;
            default = pkgs.callPackage ./. {
              hpp-core = inputs.hpp-core.packages.${system}.default;
              hpp-universal-robot = inputs.hpp-universal-robot.packages.${system}.default;
            };
          };
          devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; };