Features: +when update, disabled plugins stay disabled +if new install, choice to disable some plugins
altKYMSU
altKYMSU is a fork from KYMSU (Keep Your macOs Stuff Updated) https://github.com/welcoMattic/kymsu
Each plugin notifie you about available update and upgrade apps and packages.
homebrew and pecl plugins notifie you if apache/php configuration files have been modified.
Plug-ins:
- atom (plug-ins)
- antibody (zsh plug-ins)
- homebrew (brew and cask)
- installed (create a list of all your brew, pip, npm... stuffs and a Brewfile).
- npm (javascript package) (local or global packages) (can update nvm script)
- mas (Mac Appstore)
- pip (Python Package index) (pip or pip3)
- PECL (PHP modules)
- Wordpress (wp-cli) (for testing only)
Requirements
Optionnal:
- pipdeptree (pip install pipdeptree) for checking dependancies (pip plugin)
- jq (brew install jq) for processing JSON data (homebrew plugin)
- terminal-notifier (brew install terminal-notifier) for sending macOS notification (all plugins)
- Bash 5 (brew install bash) for associative array (homebrew plugin)
Installation
$ git clone git@github.com:Bruno21/kymsu.git && cd kymsu2 && ./install.sh
A symbolic link is created in /usr/local/bin/
Plug-ins are placed in ~/.kymsu/
Usage
Only update all the things: $ kymsu2
With cleanup after updates: $ kymsu2 --cleanup
No distract mode (no user interaction):$ kymsu2 --nodistract
Prefix plugin with a _ to ignore it:
# _wp.sh is disabled (still beta)
~/.kymsu/plugins.d $ ls
00-kymsu.sh _wp.sh atom.sh homebrew.sh mas.sh npm.sh pecl.sh pip.sh
Installed.sh create a Markdown file with all yours installed stuffs and a Brewfile. I suggest to disable the plugin and run it manually.
Settings
There is a settings section on top of each plug-in:
- [homebrew-pip] don't update a module, package...: add it to the
do_not_updatearray on the top.
$ nano homebrew.sh
declare -a do_not_update=('virtualbox,virtualbox-extension-pack')
- [homebrew] display info on updated pakages:
display_info=true - [homebrew-npm-pecl-pip] no distract mode (no user interaction):
no_distract=falseIf running Homebrew plug-in in no_distract mode, Casks with 'latest' version number won't be updated. - [npm] run npm maintenance tools:
doctor=true - [pip]
version=pip or pip3user="" or "--user"
Update
Git pull and re-run install.sh:
$ cd kymsu2 && git pull && ./install.sh
Automate
altKYMSU comes with 2 .plist files (one for kymsu2, one for installed.sh) to automate the use of KYMSU. Please edit and drag them into the folder ~ / Library / LaunchAgents
For configure LaunchAgent, I suggest LaunchControl.
Uninstall
Run uninstall.sh:
$ cd kymsu2 && ./uninstall.sh
Credit
All credit goes to welcoMattic
License
Same as KYMSU (MIT)