plugin-brew icon indicating copy to clipboard operation
plugin-brew copied to clipboard

Mac m1 support

Open scubafly opened this issue 3 years ago • 1 comments

Brew is installed differently on the m1 mac brew can be found in /opt/homebrew/bin/brew

scubafly avatar Dec 14 '21 13:12 scubafly

This are the changes I had to make for HomeBrew to work correctly on M1:

I've added this to .config/fish/conf.d:

eval (/opt/homebrew/bin/brew shellenv)
set -gx CPATH "/opt/homebrew/include"
set -gx LIBRARY_PATH "/opt/homebrew/lib"
set -gx LD_LIBRARY_PATH "/opt/homebrew/lib"

and modified .local/share/omf/pkg/brew/conf.d/brew.fish to include M1 bin/sbin paths:

if type -q brew
  set -l brew_paths /opt/homebrew/bin /opt/homebrew/sbin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin

  # Append all existing brew paths to PATH
  set -l existing_brew_paths
  for brew_path in $brew_paths
    if test -d $brew_path
      set PATH $PATH $brew_path
      set existing_brew_paths $existing_brew_paths $brew_path
    end
  end

  # Remove brew paths from tail to head that were not recently added
  set -l number_of_paths_to_ignore (math (count $PATH) - (count $existing_brew_paths))
  for i in (seq (count $PATH))[-1..1]
    if test $i -le $number_of_paths_to_ignore
      if contains $PATH[$i] $brew_paths
        set -e PATH[$i]
      end
    end
  end
else
  echo "Please install 'brew' first!"
end

ideally we should combine both changes as they are required

brodock avatar Dec 20 '21 16:12 brodock