diff --git a/m/common/main.nix b/m/common/main.nix index a5bba65..ec3775e 100644 --- a/m/common/main.nix +++ b/m/common/main.nix @@ -9,11 +9,12 @@ ./slurm.nix ./ssh.nix ./users.nix - - ../../pkgs/mpi.nix ]; - nixpkgs.overlays = [ bscpkgs.bscOverlay ]; + nixpkgs.overlays = [ + bscpkgs.bscOverlay + (import ../../pkgs/mpi.nix) + ]; nix.nixPath = [ "nixpkgs=${nixpkgs}" diff --git a/pkgs/mpi.nix b/pkgs/mpi.nix index b0e30d7..adfde9e 100644 --- a/pkgs/mpi.nix +++ b/pkgs/mpi.nix @@ -1,31 +1,25 @@ -let - overlay = final: prev: - { - bsc = prev.bsc.extend (bsc: { - mpi2 = bsc.mpich; - mpich = with final; prev.mpich.overrideAttrs (old: { - buildInput = old.buildInputs ++ [ - libfabric - pmix - ]; - configureFlags = [ - "--enable-shared" - "--enable-sharedlib" - "--with-pm=no" - "--with-device=ch4:ofi" - "--with-pmi=pmix" - "--with-pmix=${final.pmix}" - "--with-libfabric=${final.libfabric}" - "--enable-g=log" - ] ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [ - "FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300 - "FCFLAGS=-fallow-argument-mismatch" - ]; - }); - }; - }; -in - +final: prev: { - nixpkgs.overlays = [ overlay ]; + bsc = prev.bsc.extend (bsc: { + mpi2 = bsc.mpich; + mpich = with final; prev.mpich.overrideAttrs (old: { + buildInput = old.buildInputs ++ [ + libfabric + pmix + ]; + configureFlags = [ + "--enable-shared" + "--enable-sharedlib" + "--with-pm=no" + "--with-device=ch4:ofi" + "--with-pmi=pmix" + "--with-pmix=${final.pmix}" + "--with-libfabric=${final.libfabric}" + "--enable-g=log" + ] ++ lib.optionals (lib.versionAtLeast gfortran.version "10") [ + "FFLAGS=-fallow-argument-mismatch" # https://github.com/pmodels/mpich/issues/4300 + "FCFLAGS=-fallow-argument-mismatch" + ]; + }); + }); }