Skip to content

Instantly share code, notes, and snippets.

@ilyagr
Last active April 9, 2025 12:55
Show Gist options
  • Save ilyagr/1b40f6061d8ad320cee4c12843df1a23 to your computer and use it in GitHub Desktop.
Save ilyagr/1b40f6061d8ad320cee4c12843df1a23 to your computer and use it in GitHub Desktop.
Using meld on Macs (as of 2025-01-22)

Running Meld on MacOS

The state of Meld on Macs is currently in flux. TLDR: currently, the best way to run Meld is to install Homebrew and then run brew install dehesselle-meld.

More details on dehesselle-meld and alternative installation

The dehesselle-meld cask will likely become a part of some upcoming Meld release, but it is not yet available from https://meldmerge.org.

If you do not use Homebrew, you can download Meld from https://gitlab.com/dehesselle/meld_macos/-/releases. You will then need to go to some directory in PATH and run

echo '/Applications/Meld.app/Contents/MacOS/Meld "$@"' > meld
chmod a+x meld

See also the official instructions.

The development of this version of Meld currently seems to be happening on the 3.22.x branch. (This link is likely to become out of date at some point)

Using the older yousebb/meld "Meld for macOS" project

Another option for using Meld on a Mac is to patch the latest prerelease of the separate and older "Meld for macOS" project.

The older "Meld for macOS" now seems abandoned and does not work well on recent Macs (without the patch). It currently has slightly better integration with MacOS UI than dehesselle-meld, and is only recommended if you rely on those features.

@robwilkerson
Copy link

Is anyone else having trouble installing this variant through homebrew? I run homebrew through nix-darwin, so it could definitely be something on that end, but I'm trying to isolate the issue.

brew install --cask dehesselle-meld
Warning: Cask 'dehesselle-meld' is unavailable: No Cask with this name exists.
==> Searching for similarly named casks...
Error: No casks found for dehesselle-meld.

@ilyagr
Copy link
Author

ilyagr commented Jan 24, 2025

Not sure. Installing Homebrew via Nix seems like it would not work smoothly; their philosophies are not really compatible. Homebrew really likes to manage and update itself and does not support its own older versions. It wouldn't install things into the Nix store anyway.

I think you should try one of:

  • Download Dehesselle's Meld from the website as described in the gist and install it manually
  • Install Homebrew globally using its normal instructions and see whether installing the cask then works
  • Try adding Dehesselle's Meld to nixpkgs (or talking to people who might know how to do it). I'm not sure whether you can just have it download it (like nixpkgs' support of VS Code must work) or whether you'd need to figure out how to combine Dehesselle's tricks with the nixpkgs meld installable. (In my experience, nixpkgs Meld works well enough to start on a Mac, but crashes in many cases and/or has graphical glitches).

@winterqt
Copy link

winterqt commented Apr 9, 2025

Is anyone else having trouble installing this variant through homebrew? I run homebrew through nix-darwin, so it could definitely be something on that end, but I'm trying to isolate the issue.

brew install --cask dehesselle-meld
Warning: Cask 'dehesselle-meld' is unavailable: No Cask with this name exists.
==> Searching for similarly named casks...
Error: No casks found for dehesselle-meld.

This should Just Work if you have other casks set up -- all nix-darwin does is run Homebrew's normal install command.

@robwilkerson
Copy link

I was having a similar problem with another cask as well and it turned out that I needed to update my homebrew-cask input:

homebrew-cask = {
    url = "github:Homebrew/homebrew-cask";
    flake = false;
};

Note the capital "H" in github:Homebrew. Now it works. ¯_(ツ)_/¯

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment