Install dmg onto Mac using Nix overlays

I am trying to install Julia 1.6.1 using official dmg onto my Mac. My ./pkgs/julia looks like this

{ stdenv, lib, fetchurl, undmg, unzip }:

let
  build = "161";
in stdenv.mkDerivation {
  name = "julia";
  version = "161";
  nativeBuildInputs = [ undmg unzip ];
  phases = ["unpackPhase" "installPhase"];

  sourceRoot = ".";
  src = fetchurl {
      name = "julia16.dmg";
      url = "https://julialang-s3.julialang.org/bin/mac/x64/1.6/julia-1.6.1-mac64.dmg";
      sha256 = "ed359fbc76ca5917113dae836d2db3feeeaca0758238549380c19b95697ffee1";
  };

  installPhase = ''
    mkdir -p "$out/Applications/Julia-1.6.app"
    cp -pR * "$out/Applications/Julia-1.6.app"
  '';
  meta = with lib; {
    description = "Julia";
    homepage = "https://julialang.org/";
    maintainers = [ maintainers.trickster ];
    platforms = platforms.darwin;
  };
    
}

With overlay

self: super:

let
  callPackage = super.lib.callPackageWith super;
in
{
  julia = callPackage ./pkgs/julia {};
}

In my home-manager home,

nixpkgs.config.packageOverrides = import ./julia-overlay.nix pkgs;

The package is getting extracted, but not sure, where it is. Is this the right approach?

1 Like