Update
Update following original kymsu
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2017 Mathieu Santo Stefano--Féron
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
39
README.md
39
README.md
@@ -1,32 +1,39 @@
|
|||||||
# Plugins KYMSU
|
# KYMSU
|
||||||
Plugins KYMSU (Keep Your macOs Stuff Updated)
|
Keep Your macOs Stuff Updated (KYMSU)
|
||||||
https://github.com/welcoMattic/kymsu
|
|
||||||
|
|
||||||
|
> Get your Homebrew, Mac App Store, Atom Package Manager (apm), npm, yarn, composer, rustup ... stuff updated.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
- **npm** (javascript package) plugin for KYMSU (install local package)
|
- [Homebrew](https://brew.sh)
|
||||||
- **mas** (Mac Appstore) plugin for KYMSU
|
|
||||||
- **Homebrew** plugin for KYMSU
|
|
||||||
brew and cask
|
|
||||||
- **pip** (Python Package index) plugin for KYMSU
|
|
||||||
pip or pip3
|
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
`$ git clone git@github.com:welcoMattic/kymsu.git && cd kymsu && ./install.sh`
|
||||||
|
|
||||||
### Requirements
|
## Usage
|
||||||
|
|
||||||
- [KYMSU](https://github.com/welcoMattic/kymsu)
|
Only update all the things
|
||||||
- [pipdeptree](https://pypi.python.org/pypi/pipdeptree) for checking dependancies (pip plugin)
|
`$ kymsu`
|
||||||
|
|
||||||
|
With cleanup after updates
|
||||||
|
`$ kymsu cleanup`
|
||||||
|
|
||||||
|
## Plugins system
|
||||||
|
|
||||||
### Installation
|
All default plugins are placed in `~/.kymsu/plugins.d`, feel free to delete those you don't use, and/or add new ones.
|
||||||
|
Don't forget to share them here with a shiny pull request! ✨
|
||||||
|
|
||||||
Copy the plugins in `~/.kymsu/plugins.d`
|
## Auto-update
|
||||||
|
|
||||||
|
KYMSU will auto-update itself each time you run `kymsu` command.
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
### License
|
* [All contributors](https://github.com/welcomattic/kymsu/graphs/contributors)
|
||||||
|
* Thanks to [@waxzce](https://github.com/waxzce) for his [article](https://medium.com/@waxzce/keeping-macos-clean-this-is-my-osx-brew-update-cli-command-6c8f12dc1731) about keeping macOs clean!
|
||||||
|
|
||||||
Same as KYMSU
|
## License
|
||||||
|
|
||||||
|
KYMSU is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
||||||
|
for details.
|
||||||
|
|||||||
32
README2.md
Normal file
32
README2.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# Plugins KYMSU
|
||||||
|
Plugins KYMSU (Keep Your macOs Stuff Updated)
|
||||||
|
https://github.com/welcoMattic/kymsu
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- **npm** (javascript package) plugin for KYMSU (install local package)
|
||||||
|
- **mas** (Mac Appstore) plugin for KYMSU
|
||||||
|
- **Homebrew** plugin for KYMSU
|
||||||
|
brew and cask
|
||||||
|
- **pip** (Python Package index) plugin for KYMSU
|
||||||
|
pip or pip3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Requirements
|
||||||
|
|
||||||
|
- [KYMSU](https://github.com/welcoMattic/kymsu)
|
||||||
|
- [pipdeptree](https://pypi.python.org/pypi/pipdeptree) for checking dependancies (pip plugin)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
Copy the plugins in `~/.kymsu/plugins.d`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### License
|
||||||
|
|
||||||
|
Same as KYMSU
|
||||||
|
|
||||||
44
_mas.sh
44
_mas.sh
@@ -1,44 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Mac Appstore plugin for KYMSU
|
|
||||||
# https://github.com/welcoMattic/kymsu
|
|
||||||
|
|
||||||
echo -e "\033[1m🍏 Mac App Store updates come fast as lightning \033[0m"
|
|
||||||
|
|
||||||
# No distract mode (Casks with 'latest' version number won't be updated)
|
|
||||||
no_distract=false
|
|
||||||
|
|
||||||
if [[ $1 == "--nodistract" ]]; then
|
|
||||||
no_distract=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
#mas outdated
|
|
||||||
massy=`mas outdated`
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
if [ -n "$massy" ]; then
|
|
||||||
#if [ "$massy" != 0 ]; then
|
|
||||||
echo -e "\033[4mAvailables updates:\033[0m"
|
|
||||||
echo "$massy" | cut -d " " -f2-5
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
if [ "$no_distract" = false ]; then
|
|
||||||
|
|
||||||
a=$(echo -e "Do you wanna run \033[1mmas upgrade\033[0m ? (y/n)")
|
|
||||||
read -p "$a" choice
|
|
||||||
case "$choice" in
|
|
||||||
y|Y|o ) mas upgrade;;
|
|
||||||
n|N ) echo "Ok, let's continue";;
|
|
||||||
* ) echo "invalid";;
|
|
||||||
esac
|
|
||||||
|
|
||||||
else
|
|
||||||
mas upgrade
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
echo -e "\033[4mNo availables mas updates.\033[0m"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo ""
|
|
||||||
14
install.sh
Executable file
14
install.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
KYMSU_PATH=`pwd`
|
||||||
|
|
||||||
|
# Make Kymsu accessible in PATH
|
||||||
|
ln -fs "${KYMSU_PATH}"/kymsu2.sh /usr/local/bin/kymsu2
|
||||||
|
|
||||||
|
# Store Kymsu stuff in home directory
|
||||||
|
mkdir -p ~/.kymsu && echo "${KYMSU_PATH}" > ~/.kymsu/path
|
||||||
|
cp -R "${KYMSU_PATH}/plugins.d" ~/.kymsu
|
||||||
|
|
||||||
|
echo "KYMSU2 has been installed. Run kymsu2 command!"
|
||||||
|
echo "It's a fork from https://github.com/welcoMattic/kymsu"
|
||||||
|
echo "All credits to welcoMattic"
|
||||||
40
kymsu2.sh
Executable file
40
kymsu2.sh
Executable file
@@ -0,0 +1,40 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
echo -e "\033[93m\033[1mkymsu2\033[0m"
|
||||||
|
echo ""
|
||||||
|
echo "Keep Your macOs Stuff Updated 2"
|
||||||
|
echo "a fork from kymsu https://github.com/welcoMattic/kymsu"
|
||||||
|
echo
|
||||||
|
echo "USAGE: kymsu2"
|
||||||
|
echo
|
||||||
|
echo "Commandes: "
|
||||||
|
echo " -h, --help display this help"
|
||||||
|
echo " --nodistract no distract mode (no user interaction)"
|
||||||
|
echo " --cleanup removing any older versions of installed formulae and clearing old downloads from the Homebrew download-cache"
|
||||||
|
echo " --npm_cleanup cleaning npm cache"
|
||||||
|
echo
|
||||||
|
echo "Tips:"
|
||||||
|
echo " -prefix the plugin with _ to ignore it"
|
||||||
|
echo
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Please, grab a ☕️, KYMSU keep your working environment up to date!"
|
||||||
|
|
||||||
|
SCRIPTS_DIR=$HOME/.kymsu/plugins.d
|
||||||
|
#SCRIPTS_DIR=$(cat ~/.kymsu/path)/plugins.d
|
||||||
|
|
||||||
|
cd "$SCRIPTS_DIR"
|
||||||
|
|
||||||
|
# On boucle sur tous les fichiers du répertoire
|
||||||
|
# (seuls les fichiers commençant par '_' ou '0' sont pris en compte)
|
||||||
|
#for script in $(find . -name '[_0]*' -maxdepth 1 | sort); do
|
||||||
|
for script in $(find . ! -name _\*.sh -maxdepth 1 | sort); do
|
||||||
|
# si le fichier est exécutable et n'est pas un dossier
|
||||||
|
if [ -x "$SCRIPTS_DIR/$script" ] && [ -f "$SCRIPTS_DIR/$script" ]; then
|
||||||
|
# on l’exécute ; le $@ permet de passer à chaque
|
||||||
|
# script les arguments passés à *ce* script
|
||||||
|
$SCRIPTS_DIR/$script $@
|
||||||
|
fi
|
||||||
|
done
|
||||||
6
plugins.d/00-kymsu.sh
Executable file
6
plugins.d/00-kymsu.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
echo "🦄 KYMSU self update"
|
||||||
|
pushd "$(cat ~/.kymsu/path)" > /dev/null
|
||||||
|
git pull
|
||||||
|
popd > /dev/null
|
||||||
|
echo ""
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
echo -e "\033[1m⚛️ Atom editor will be shiny when you'll be back from your coffee/tea break! \033[0m"
|
echo -e "\033[1m⚛️ Atom editor will be shiny when you'll be back from your coffee/tea break! \033[0m"
|
||||||
|
|
||||||
if hash apm-beta 2>/dev/null; then
|
if hash apm-beta 2>/dev/null; then
|
||||||
@@ -13,9 +13,9 @@
|
|||||||
display_info=true
|
display_info=true
|
||||||
|
|
||||||
#add module to do_not_update array
|
#add module to do_not_update array
|
||||||
declare -a do_not_update=('')
|
declare -a do_not_update=('virtualbox,virtualbox-extension-pack')
|
||||||
|
|
||||||
# No distract mode (Casks with 'latest' version number won't be updated)
|
# No distract mode (no user interaction)(Casks with 'latest' version number won't be updated)
|
||||||
no_distract=false
|
no_distract=false
|
||||||
|
|
||||||
if [[ $1 == "--nodistract" ]]; then
|
if [[ $1 == "--nodistract" ]]; then
|
||||||
50
plugins.d/mas.sh
Executable file
50
plugins.d/mas.sh
Executable file
@@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Mac Appstore plugin for KYMSU
|
||||||
|
# https://github.com/welcoMattic/kymsu
|
||||||
|
|
||||||
|
echo -e "\033[1m🍏 Mac App Store updates come fast as lightning \033[0m"
|
||||||
|
|
||||||
|
# No distract mode (no user interaction)
|
||||||
|
no_distract=false
|
||||||
|
|
||||||
|
if [[ $1 == "--nodistract" ]]; then
|
||||||
|
no_distract=true
|
||||||
|
fi
|
||||||
|
|
||||||
|
# On teste si mas est installé
|
||||||
|
if hash mas 2>/dev/null; then
|
||||||
|
|
||||||
|
massy=$(mas outdated)
|
||||||
|
echo ""
|
||||||
|
echo "$massy"
|
||||||
|
|
||||||
|
#if [ -n "$massy" ]; then
|
||||||
|
if [ ! -z "$(mas outdated)" ]; then
|
||||||
|
echo -e "\033[4mAvailables updates:\033[0m"
|
||||||
|
echo "$massy" | cut -d " " -f2-5
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if [ "$no_distract" = false ]; then
|
||||||
|
|
||||||
|
a=$(echo -e "Do you wanna run \033[1mmas upgrade\033[0m ? (y/n)")
|
||||||
|
read -p "$a" choice
|
||||||
|
case "$choice" in
|
||||||
|
y|Y|o ) mas upgrade;;
|
||||||
|
n|N ) echo "Ok, let's continue";;
|
||||||
|
* ) echo "invalid";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
else
|
||||||
|
mas upgrade
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
echo -e "\033[4mNo availables mas updates.\033[0m"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Please install mas: brew install mas"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
@@ -22,7 +22,7 @@ no_distract=false
|
|||||||
doctor=false
|
doctor=false
|
||||||
|
|
||||||
# Local install
|
# Local install
|
||||||
local_path=/Users/bruno/Sites/node_modules/
|
local_path=$HOME/Sites/node_modules/
|
||||||
|
|
||||||
echo -e "\033[1m🌿 npm \033[0m"
|
echo -e "\033[1m🌿 npm \033[0m"
|
||||||
echo ""
|
echo ""
|
||||||
@@ -81,9 +81,12 @@ echo ""
|
|||||||
# Global packages
|
# Global packages
|
||||||
echo -e "\033[4m🌿 Global installed scripts:\033[0m"
|
echo -e "\033[4m🌿 Global installed scripts:\033[0m"
|
||||||
npm list -g --depth=0
|
npm list -g --depth=0
|
||||||
|
|
||||||
g_outdated=$(npm outdated -g)
|
g_outdated=$(npm outdated -g)
|
||||||
|
|
||||||
# => npm ERR! Cannot read property 'length' of undefined -> https://stackoverflow.com/questions/55172700/npm-outdated-g-error-cannot-read-property-length-of-undefined
|
# => npm ERR! Cannot read property 'length' of undefined -> https://stackoverflow.com/questions/55172700/npm-outdated-g-error-cannot-read-property-length-of-undefined
|
||||||
|
# /Users/bruno/.nvm/versions/node/v10.16.2/lib/node_modules/npm/lib/outdated.js
|
||||||
|
# /usr/local/lib/node_modules/npm/lib/outdated.js
|
||||||
|
|
||||||
# update -> wanted ; install -> latest
|
# update -> wanted ; install -> latest
|
||||||
if [ -n "$g_outdated" ]; then
|
if [ -n "$g_outdated" ]; then
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
# https://pecl.php.net
|
# https://pecl.php.net
|
||||||
|
|
||||||
# No distract mode
|
# No distract mode (no user interaction)
|
||||||
no_distract=false
|
no_distract=false
|
||||||
|
|
||||||
echo -e "\033[1m🐘 pecl \033[0m"
|
echo -e "\033[1m🐘 pecl \033[0m"
|
||||||
@@ -71,6 +71,16 @@ if [ -n "$upd" ]; then
|
|||||||
z=$((z+1))
|
z=$((z+1))
|
||||||
fi
|
fi
|
||||||
done <<< "$dependencies"
|
done <<< "$dependencies"
|
||||||
|
|
||||||
|
else
|
||||||
|
c=$(echo -e "Do you want to install pipdeptree to check dependancies ? (y/n)")
|
||||||
|
read -p "$c" choice
|
||||||
|
case "$choice" in
|
||||||
|
y|Y|o ) $version install $user pipdeptree ;;
|
||||||
|
n|N ) echo "Ok, let's continue";;
|
||||||
|
* ) echo "invalid";;
|
||||||
|
esac
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If the update is not in the do_not_update array, we install it.
|
# If the update is not in the do_not_update array, we install it.
|
||||||
6
uninstall.sh
Executable file
6
uninstall.sh
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
rm -rf $(which kymsu2)
|
||||||
|
rm -rf ~/.kymsu
|
||||||
|
|
||||||
|
echo "KYMSU2 has been uninstalled."
|
||||||
Reference in New Issue
Block a user