All Projects → zkokaja → Brewlet

zkokaja / Brewlet

Licence: bsd-2-clause
The missing menulet for brew.sh: keeping your packages up-to-date, and your system secure.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Brewlet

Iterm Fish Fisher Osx
Complete guide and Bash script to install Command Line Tools + Homebrew + iTerm2 + Fish Shell + Fisher + Plugins for development purposes
Stars: ✭ 249 (-16.44%)
Mutual labels:  homebrew, brew
Homebrew Avr
Homebrew AVR Toolchain
Stars: ✭ 294 (-1.34%)
Mutual labels:  homebrew, brew
Things.sh
Simple read-only comand-line interface to your Things 3 database
Stars: ✭ 492 (+65.1%)
Mutual labels:  productivity, brew
Ansible Role Homebrew
Ansible Role - Homebrew
Stars: ✭ 195 (-34.56%)
Mutual labels:  homebrew, brew
phpmon
Lightweight, native Mac menu bar app that interacts with Laravel Valet. Helps you manage multiple PHP installations, locate config files and more.
Stars: ✭ 1,896 (+536.24%)
Mutual labels:  homebrew, brew
Kubefwd
Bulk port forwarding Kubernetes services for local development.
Stars: ✭ 2,713 (+810.4%)
Mutual labels:  homebrew, brew
macstrap
Set up your macOS from scratch.
Stars: ✭ 16 (-94.63%)
Mutual labels:  homebrew, brew
Dotfiles
Get started with your own dotfiles.
Stars: ✭ 1,094 (+267.11%)
Mutual labels:  homebrew, brew
ibrew
🍻Interactive CLI for Homebrew – the missing package manager for macOS.
Stars: ✭ 33 (-88.93%)
Mutual labels:  homebrew, brew
puppet-homebrew
homebrew (+brewcask! +taps!) package installer and provider
Stars: ✭ 17 (-94.3%)
Mutual labels:  homebrew, brew
Txeh
Go library and CLI utilty for /etc/hosts management.
Stars: ✭ 181 (-39.26%)
Mutual labels:  homebrew, brew
cleanmymac
A developer friendly command line cleaner program for modern macOS systems
Stars: ✭ 35 (-88.26%)
Mutual labels:  homebrew, brew
Aliddns
aliyun ddns for golang【阿里云DDNS服务,用来将自己的动态IP同步到自己的域名解析服务器,安装方便,配置简单,默认支持Linux和MacOS以后台服务方式持续运行】
Stars: ✭ 136 (-54.36%)
Mutual labels:  homebrew, brew
Brew
🍺🐧 The Homebrew package manager for Linux
Stars: ✭ 2,600 (+772.48%)
Mutual labels:  homebrew, brew
Kymsu
Keep Your macOs Stuff Updated (KYMSU)
Stars: ✭ 119 (-60.07%)
Mutual labels:  homebrew, brew
.config
⚙️ Bootstrappable user environment for macOS & Ubuntu
Stars: ✭ 31 (-89.6%)
Mutual labels:  homebrew, brew
Brew
🍺 The missing package manager for macOS (or Linux)
Stars: ✭ 30,318 (+10073.83%)
Mutual labels:  homebrew, brew
Homebrew Emacs Plus
Emacs Plus formulae for the Homebrew package manager
Stars: ✭ 965 (+223.83%)
Mutual labels:  homebrew, brew
rubydoc.brew.sh
📖 An online Ruby documentation browser for Homebrew/brew
Stars: ✭ 13 (-95.64%)
Mutual labels:  homebrew, brew
AutoBrew
AutoBrew: Homebrew deployments made easy
Stars: ✭ 71 (-76.17%)
Mutual labels:  homebrew, brew

BrewLet Icon Brewlet

Release Version 1.4

The missing menulet for brew.sh.

This menulet makes it easier to use brew.sh. For example, you need to manually check if some of your packages can be updated. With Brewlet it's easy: if everything is working swimmingly, then you'll see the normal shadow icon. If updates are available to be installed, the icon will become colored, , to get your attention – along with a notification if you wish. Once clicked, you'll be able to upgrade your packages, among other options. In addition, Brewlet will periodically check the status of packages in the background, so you don't have to.

When new versions are available, you can update all of them at once or manually choose specific packages:

Installation

Install with brew on the command line:

brew tap zkokaja/brewlet
brew install --cask brewlet

Or download the latest version from releases or here (zip).

You can upgrade to the latest version by running:

brew update
brew reinstall brewlet

On the horizon

I am currently working on adding more features, listed in order of priority here:

  • Ability to handle casks
  • Ability to install brew if not found
  • About page with detailed information
  • Features suggested by community (see Issues).

Update vs Upgrade

The update operation pulls the latest version of Homebrew and updates the metadata related to packages. From the man pages:

Fetch the newest version of Homebrew and all formulae from GitHub using git(1) and perform any necessary migrations.

Whereas upgrade will actually upgrade your outdated packages to the latest version(s).

Upgrade outdated, unpinned formulae using the same options they were originally installed with, plus any appended brew formula options.

Developer

Contributions are welcome!

You can look for logged messages and errors with the Console app, or this command:

$ log show --predicate 'process == "Brewlet"' --info
$ log show --predicate "processID == `pgrep Brewlet`" --info --last 1h

To test for outdated packages, reinstall some older versions from a specific commit. For example:

$ brew uninstall jq 
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/b76347c21bbe20accf0a514b138515e30a48ad12/Formula/jq.rb

To generate images of different sizes, use Inkscape on the command line:

$ len=64 # or use a for loop
$ inkscape --export-type="png" \
           --export-file brewlet-"$len".png \
           -w "$len" \
           brewlet.svg

Brew will redirect output of the upgrade command to a temporary file, you can use this command to locate it.

$ find /var/folders -type f -name 'brewlet*log' 2> /dev/null

License & Acknowledgements

Because this app is closely tied to brew.sh, I used their icon as a template. I also decided to adopt their choice of license: BSD 2-Clause "Simplified" License.

Security & Permissions

Brewlet needs to be able to access to:

  • the brew.sh shell script to get information and take action on your behalf.
  • access to write to your Downloads folder when exporting a list of packages.
  • permissions to send you notifications when updates are available, and when unexpected errors occur.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].