-
Notifications
You must be signed in to change notification settings - Fork 5
homebrew and linuxbrew formula Notes
- General homebrew usage
- Homebrew Cask
- Working with Python 2.x / 3.x
- Build time options / parameters
- Useful Links
- TODOs
Homebrew / Linuxbrew provides analytics for monitoring Homebrew usage out of the box
To status if Homebrew analytics is enabled
brew analytics
To disable Homebrew Linuxbrew analytics
brew analytics off
To remove soure tarballs and downloaded .DMGs for homebrew and cask
brew cleanup brew cask cleanup
...will remove downloaded tarballs and image files stored within the below directory on macOS.
$HOME/Library/Caches/HomebrewTo print the location / directory where homebrew is storing tarballs for downloaded / installed apps.
brew --cache
The above command should print the output of the location of the tarballs, ie.
/home/$USER/.cache/HomebrewTo show outdated formula for homebrew
brew outdated brew cask outdated --greedy
A lot of formula installed with
caskupdate themeselves, but can also be updated with the--greedyflag.
brew cask upgrade --greedy
To print a list of taps sourced for homebrew usage
brew tap
To print a pretty π list of installed Homebrew formula and their dependencies in a graphical format
brew deps --tree --installed
To (re)compile a program from source, ie. Vim
brew -v reinstall --build-from-source vim
More information for working with taps
brew bundle
To overwrite an existing Brewfile
brew bundle --force dump
To install Homebrew-Cask via Homebrew
brew tap caskroom/cask
Homebrew-Cask has recently been migrated to the Homebrew umbrella on github, ie.
Homebrew/homebrew-caskwhereas the "main" formula are located atHomebrew/homebrew-coreon github.
Homebrew-Cask Versions Installation
To install the above mentioned repo
brew tap caskroom/versions
To install a cask from caskroom/versions/hyper-canary
brew cask install hyper-canary
- Determine the path of the brew prefix, ie. the path that will be used to store files related to working with homebrew
- Check that all users on the system who need access to
breware in the admin group - Optional Add a user to the admin group if a user needs access to brew
Will require access / privileges to use the sudo command
- Set the brew prefix path to be recursively owned by the admin group
- Set the brew prefix path to be recursively writable by all users who are in the admin group
- Verify the permissions of the brew prefix
- brew
echo $(brew --prefix) echo $(groups whoami) sudo dseditgroup -o edit -a $(whoami) -t user admin sudo chgrp -R admin $(brew --prefix) sudo chmod -R g+w $(brew --prefix) ls -lah $(brew --prefix)
After installing python via homebrew and is properly configured in the
PATH
python -m pip install --upgrade setuptools
python -m pip install --upgrade pip
β οΈ When using the--userflag withpipon macOS packages, ie.virtualenvwill be placed in `$HOME/Library/Python/[major.minor]/bin/
Homebrew can install concurrent Pythons on the local system.
Homebrew seperates its pythons by creating seperate binaries, ie. python 2.x is located at
/usr/local/opt/python/libexec/bin/python
and python 3.x is located at
/usr/local/bin/python3
Both pythons use seperate pip packagemanagers to manage python dependencies, ie. python 2.x uses
/usr/local/opt/python/libexec/bin/pip
and python 3.x uses
/usr/local/bin/pip3
Homebrew documentation - Python
To show build time options for a homebrew formula
brew info [mr_fancy_pants_formula]
brew info weechat
To search for a brew formula from a cask, ie. kodi
brew search kodi
Output:
brew search kodi 0 < 14:24:28 ==> Searching local taps... ==> Searching taps on GitHub... caskroom/cask/kodi caskroom/versions/kodi-development ==> Searching blacklisted, migrated and deleted formulae...
Then to install kodi
brew cask install kodi
To edit a formula, make sure the $EDITOR environment variable is set to your favorite text editor, ie. in the fish shell,
set -x EDITOR /path/to/your/favorite/editorExample
set -x EDITOR /home/linuxbrew/.linuxbrew/bin/nvimThen one can edit the formula of choosing with the below command,
brew edit <name_of_formula.rb>
Example
brew edit weechat.rb
To list all installed packages with homebrew π»
brew list brew cask list
To get the SHA 256 hash of a file
shasum -a 256 <name_of_file> | awk '{printf 1γγ«}' | pbcopy
- Official - search for formula
-
How to Create and Maintain a Tap
-
Formula Cookbook for developers
-
Python for Formula Authors
- A deep dive π into homebrew dependencies
- add entries to table of contents for this .md file
- figure out which binaries belong to which packages, ie. which package installed
locate
-
Linux and macOS Operation Notes
- β macOS Op Notes
- π§ Linux Op Notes
- Vim & Neovim Notes
- git Notes
- π fish shell Notes
- ECMAScript Tooling
- π₯§ Raspberry Pi Notes
- asdf version manager Notes
- Bind9 Notes
- Creating a custom motd on Debian Jessie
- ECMAScript Tooling
- Email client Notes
- Email Server Setup Notes Postfix & Dovecot
- Emoji side quest
- fish shell Notes
- π₯ π€ git it got it good Notes
- git Notes
- Graphics and Image Processing Notes
- GUI text editor Notes
- π»π§ Homebrew and Linuxbrew formula Notes
- Linux and macOS Administration Notes
- Linux and macOS Troubleshooting Notes
- MacBook Pro Late 2013 Notes
- Vim & Neovim Notes
- Video Production Notes
- Python Notes
- radare Notes
- Raspberry Pi Notes
- Terminal Emulators
- Tmux Notes
- Web Browser Notes
- Weechat Notes
- Microsoft Windows Notes