From aec6df385c899669ad9ebef5ce3596501a522da0 Mon Sep 17 00:00:00 2001 From: Bruno 21 Date: Sat, 10 Aug 2019 18:03:01 +0200 Subject: [PATCH] Settings + readme --- README.md | 75 ++++++++++++++++++++--- install.sh | 2 +- kymsu2.sh | 5 +- plugins.d/homebrew.sh | 6 ++ plugins.d/{_installed.sh => installed.sh} | 0 plugins.d/npm.sh | 21 +++++-- plugins.d/pecl.sh | 10 +++ plugins.d/pip.sh | 6 ++ uninstall.sh | 2 +- 9 files changed, 109 insertions(+), 18 deletions(-) rename plugins.d/{_installed.sh => installed.sh} (100%) diff --git a/README.md b/README.md index d8c52c3..f076abc 100644 --- a/README.md +++ b/README.md @@ -4,39 +4,96 @@ https://github.com/welcoMattic/kymsu -### Plug-ins: +## Plug-ins: - **atom** (plug-ins) - **homebrew** (brew and cask) - **installed** (create a list of all your brew, pip, npm... stuffs). -- **npm** (javascript package) (local or global package) -- **mas** (Mac Appstore) plugin for KYMSU +- **npm** (javascript package) (local or global packages) +- **mas** (Mac Appstore) - **pip** (Python Package index) (pip or pip3) - **PECL** (PHP modules) - **Wordpress** (wp-cli) (for testing only) + - -### Requirements +## Requirements - [Homebrew](https://brew.sh/) - [pipdeptree](https://pypi.python.org/pypi/pipdeptree) for checking dependancies (pip plugin) -### Installation +## Installation -`$ git clone git@github.com:Bruno21/kymsu.git && cd kymsu && ./install.sh` +`$ 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/` -### Credit +## 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: + +```bash +# _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 +``` + + + +## 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_update` array on the top. + +```bash +$ 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=false` + *If 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 pip3` `user="" or "--user"` + + + +## Update + +Git pull and re-run install.sh: + +`$ cd kymsu2 && git pull && ./install.sh` + + + +## Uninstall + +Run uninstall.sh: + +`$ cd kymsu2 && ./uninstall.sh` + + + +## Credit All credit goes to [welcoMattic](https://github.com/welcoMattic/kymsu) -### License +## License Same as KYMSU (MIT) diff --git a/install.sh b/install.sh index 93cd35b..0f121e5 100755 --- a/install.sh +++ b/install.sh @@ -9,6 +9,6 @@ ln -fs "${KYMSU_PATH}"/kymsu2.sh /usr/local/bin/kymsu2 mkdir -p ~/.kymsu && echo "${KYMSU_PATH}" > ~/.kymsu/path cp -R "${KYMSU_PATH}/plugins.d" ~/.kymsu -echo "KYMSU2 has been installed. Run kymsu2 command!" +echo "altKYMSU has been installed. Run kymsu2 command!" echo "It's a fork from https://github.com/welcoMattic/kymsu" echo "All credits to welcoMattic" diff --git a/kymsu2.sh b/kymsu2.sh index 402b001..66453aa 100755 --- a/kymsu2.sh +++ b/kymsu2.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash if [[ "$1" == "-h" || "$1" == "--help" ]]; then - echo -e "\033[93m\033[1mkymsu2\033[0m" + echo -e "\033[93m\033[1maltKymsu\033[0m" echo "" - echo "Keep Your macOs Stuff Updated 2" + echo "alt Keep Your macOs Stuff Updated" echo "a fork from kymsu https://github.com/welcoMattic/kymsu" echo echo "USAGE: kymsu2" @@ -16,6 +16,7 @@ if [[ "$1" == "-h" || "$1" == "--help" ]]; then echo echo "Tips:" echo " -prefix the plugin with _ to ignore it" + echo " -see Settings section on top of each plug-in" echo exit 0 fi diff --git a/plugins.d/homebrew.sh b/plugins.d/homebrew.sh index 3ee5461..6ec97e3 100755 --- a/plugins.d/homebrew.sh +++ b/plugins.d/homebrew.sh @@ -9,6 +9,10 @@ # ou # /usr/bin/find "$(brew --prefix)/Caskroom/"*'/.metadata' -type f -name '*.rb' -print0 | /usr/bin/xargs -0 /usr/bin/perl -i -0pe 's/depends_on macos: \[.*?\]//gsm;s/depends_on macos: .*//g' +######################################### +# +# Settings: + # Display info on updated pakages display_info=true @@ -17,6 +21,8 @@ declare -a do_not_update=('virtualbox,virtualbox-extension-pack') # No distract mode (no user interaction)(Casks with 'latest' version number won't be updated) no_distract=false +# +######################################### if [[ $1 == "--nodistract" ]]; then no_distract=true diff --git a/plugins.d/_installed.sh b/plugins.d/installed.sh similarity index 100% rename from plugins.d/_installed.sh rename to plugins.d/installed.sh diff --git a/plugins.d/npm.sh b/plugins.d/npm.sh index 2a26638..6b1f965 100755 --- a/plugins.d/npm.sh +++ b/plugins.d/npm.sh @@ -16,14 +16,25 @@ # https://github.com/npm/npm/issues/17744 -# No distract mode +######################################### +# +# Settings: + +# No distract mode (no user interaction) no_distract=false -doctor=false +if [[ $1 == "--nodistract" ]]; then + no_distract=true +fi + +# Set doctor=true to run 'npm doctor' and 'npm cache verify' each time +doctor=true # Local install local_path=$HOME/Sites/node_modules/ +######################################### + echo -e "\033[1m🌿 npm \033[0m" echo "" @@ -115,9 +126,9 @@ if [ "$doctor" = true ]; then echo "" fi - -if [[ $1 == "--npm_cleanup" ]]; then - +#if [[ $1 == "--npm_cleanup" ]]; then +if [[ $1 == "--cleanup" ]]; then + echo "npm cache clean" # As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. # If you want to make sure everything is consistent, use 'npm cache verify' instead. # On the other hand, if you're debugging an issue with the installer, you can use `npm install --cache /tmp/empty-cache` to use a temporary cache instead of nuking the actual one. diff --git a/plugins.d/pecl.sh b/plugins.d/pecl.sh index 9e66cc3..24516cd 100755 --- a/plugins.d/pecl.sh +++ b/plugins.d/pecl.sh @@ -5,8 +5,18 @@ # https://pecl.php.net +######################################### +# +# Settings: + # No distract mode (no user interaction) no_distract=false +# +######################################### + +if [[ $1 == "--nodistract" ]]; then + no_distract=true +fi echo -e "\033[1m🐘 pecl \033[0m" diff --git a/plugins.d/pip.sh b/plugins.d/pip.sh index 2f15bcd..7d1a4ae 100755 --- a/plugins.d/pip.sh +++ b/plugins.d/pip.sh @@ -3,6 +3,10 @@ # pip plugin for KYMSU # https://github.com/welcoMattic/kymsu +######################################### +# +# Settings: + #version: pip ou pip3 version=pip3 #user: "" or "--user" @@ -11,6 +15,8 @@ user="" no_distract=false #add module to do_not_update array declare -a do_not_update=() +# +######################################### if [[ $1 == "--nodistract" ]]; then no_distract=true diff --git a/uninstall.sh b/uninstall.sh index 4a675d2..9afd3c3 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -3,4 +3,4 @@ rm -rf $(which kymsu2) rm -rf ~/.kymsu -echo "KYMSU2 has been uninstalled." +echo "altKYMSU has been uninstalled."