mach-nix icon indicating copy to clipboard operation
mach-nix copied to clipboard

ignoreCollisions does not work in flake

Open IllustratedMan-code opened this issue 3 years ago • 0 comments

Consider this flake:

{
  inputs = {
    mach-nix.url = "github:DavHau/mach-nix";
    flake-utils.url = "github:numtide/flake-utils";
    nextflow.url = "github:IllustratedMan-code/nextflowFlake";
  };

  outputs = { self, nixpkgs, mach-nix, flake-utils, nextflow }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = nixpkgs.legacyPackages.${system};
        pythonPackage = mach-nix.lib."${system}".buildPythonPackage { src = ./.; python = "python38"; };
        pythonShell = mach-nix.lib."${system}".mkPython {
          python = "python38";
          requirements = ''
            nf-core
          '';
        };
      in
      {
        packages = flake-utils.lib.flattenTree {
          default = pythonPackage;
        };
        devShells = flake-utils.lib.flattenTree {
          default = pkgs.mkShell {
            buildInputs = [ pythonShell nextflow.packages."${system}".default];
            shellHook = ''
              export PYTHONPATH=$PWD
            '';
          };
        };
      });
}

It fails with a collision between two python modules due to the nf-core package; however, ignoreCollisions=true; does not prevent the error from occurring.

This is reproducible with this flake when you run nix develop

IllustratedMan-code avatar Oct 05 '22 16:10 IllustratedMan-code