installed.sh

final version
This commit is contained in:
2019-08-11 09:28:32 +02:00
parent aec6df385c
commit 47845436dd

View File

@@ -1,22 +1,50 @@
#!/bin/bash #!/usr/bin/env bash
# List of brew, cask, mas, python, npm installed... # List of brew, cask, mas, python, npm, pecl installed...
#########################################
echo '' #
# Settings:
# npm local install # npm local install
local_path=/Users/bruno/Sites/node_modules/ local_path=/Users/bruno/Sites/node_modules/
chemin=$(pwd) chemin=$(pwd)
#version: pip ou pip3
version=pip3
#
#########################################
if [ -f Installed.md ]; then now=$(date +"%d-%m-%Y_%T")
echo -e "The file \033[93mInstalled.md\033[0m already exist! We erase it." mac=$(hostname -s)
rm Installed.md file=$mac"@"$now
#echo "$file"
filename="Installed_$file"
echo -e "\033[1m🛠 Installed \033[0m"
echo ''
Installed=$(find . -name 'Installed*.md' -maxdepth 1)
if [ -n "$Installed" ]; then
echo -e "A file \033[93mInstalled*.md\033[0m already exist! We remove it."
a=$(echo "$Installed" | xargs rm)
fi
if [ -f Brewfile ]; then
echo -e "The \033[93mBrewfile\033[0m already exist! We rename it."
bf=$(find . -name 'Brewfile_*' -maxdepth 1 | xargs rm)
d=$(date -r Brewfile "+%m-%d-%Y_%H:%M:%S")
mv Brewfile "Brewfile_$mac@$d"
fi fi
echo '# Apps, package, scripts installed:' > Installed.md echo '# Apps, package, scripts installed:' > Installed.md
echo "<u>"$mac"@"$now"</u>" >> Installed.md
echo '' >> Installed.md echo '' >> Installed.md
echo '[TOC]' >> Installed.md
echo '' >> Installed.md
# Homebrew # Homebrew
@@ -27,28 +55,33 @@ echo -e "🍺 Get Homebrew \033[3m\033[93mtap\033[0m list"
echo '### Tap:' >> Installed.md echo '### Tap:' >> Installed.md
tap=$(brew tap) tap=$(brew tap)
echo "\`\`\`bash" >> Installed.md
echo "$tap" >> Installed.md echo "$tap" >> Installed.md
echo "\`\`\`" >> Installed.md
echo "" >> Installed.md echo "" >> Installed.md
echo -e "🍺 Get Homebrew \033[3m\033[93mpackages\033[0m installed list" echo -e "🍺 Get Homebrew \033[3m\033[93mpackages\033[0m installed list"
echo '### Packages:' >> Installed.md echo '### Packages:' >> Installed.md
brew=$(brew list) brew=$(brew list)
echo "\`\`\`bash" >> Installed.md
echo "$brew" >> Installed.md echo "$brew" >> Installed.md
echo "\`\`\`" >> Installed.md
echo "" >> Installed.md echo "" >> Installed.md
echo -e "🍺 Get Homebrew \033[3m\033[93mCask\033[0m installed list" echo -e "🍺 Get Homebrew \033[3m\033[93mCask\033[0m installed list"
echo '### Casks:' >> Installed.md echo '### Casks:' >> Installed.md
cask=$(brew cask list) cask=$(brew cask list)
echo "\`\`\`bash" >> Installed.md
echo "$cask" >> Installed.md echo "$cask" >> Installed.md
echo "\`\`\`" >> Installed.md
echo "" >> Installed.md echo "" >> Installed.md
# liste des apps de l'Appstore installées (nom & numéro) # liste des apps de l'Appstore installées (nom & numéro)
echo -e "🍏 Get mas \033[3m\033[93mApp Storeapplications\033[0m list" echo -e "🍏 Get mas \033[3m\033[93mApp Store applications\033[0m list"
echo '## mas (Mac App Store)' >> Installed.md echo '## mas (Mac App Store)' >> Installed.md
echo '' >> Installed.md echo '' >> Installed.md
@@ -56,7 +89,7 @@ echo '' >> Installed.md
appfrommas=$(mas list) appfrommas=$(mas list)
#echo "$appfrommas" #echo "$appfrommas"
#declare -a appstore #declare -a appstore
echo "\`\`\`bash" >> Installed.md
# todo: trier la liste par nom # todo: trier la liste par nom
while read -r line; do while read -r line; do
number=$(echo "$line" | awk '{print $1}') number=$(echo "$line" | awk '{print $1}')
@@ -65,6 +98,7 @@ while read -r line; do
#echo " " >> Installed.md #echo " " >> Installed.md
#appstore["$name"]="${number}" #appstore["$name"]="${number}"
done <<< "$appfrommas" done <<< "$appfrommas"
echo "\`\`\`" >> Installed.md
echo "" >> Installed.md echo "" >> Installed.md
@@ -76,7 +110,9 @@ echo '## PECL extensions' >> Installed.md
echo '' >> Installed.md echo '' >> Installed.md
ext_pecl=$(pecl list | sed '1,3d' | awk '{print $1}') ext_pecl=$(pecl list | sed '1,3d' | awk '{print $1}')
echo "\`\`\`bash" >> Installed.md
echo "$ext_pecl" >> Installed.md echo "$ext_pecl" >> Installed.md
echo "\`\`\`" >> Installed.md
echo "" >> Installed.md echo "" >> Installed.md
@@ -86,8 +122,10 @@ echo -e "🐍 Get pip \033[3m\033[93mPython 3 packages\033[0m installed list"
echo '## Python packages' >> Installed.md echo '## Python packages' >> Installed.md
echo '' >> Installed.md echo '' >> Installed.md
pip_packages=$(pip list | sed '1,2d' | awk '{print $1}') pip_packages=$($version list | sed '1,2d' | awk '{print $1}')
echo "\`\`\`bash" >> Installed.md
echo "$pip_packages" >> Installed.md echo "$pip_packages" >> Installed.md
echo "\`\`\`" >> Installed.md
echo '' >> Installed.md echo '' >> Installed.md
@@ -99,11 +137,13 @@ echo '' >> Installed.md
atom=$(apm list | grep 'Community Packages' -A 100 | sed '1,1d') atom=$(apm list | grep 'Community Packages' -A 100 | sed '1,1d')
echo "\`\`\`bash" >> Installed.md
while read -r line; do while read -r line; do
a=$(echo "$line" | awk -F "@" '{print $1}') a=$(echo "$line" | awk -F "@" '{print $1}')
atom_pkg=${a:4} atom_pkg=${a:4}
echo "$atom_pkg" >> "$chemin/Installed.md" echo "$atom_pkg" >> "$chemin/Installed.md"
done <<< "$atom" done <<< "$atom"
echo "\`\`\`" >> Installed.md
echo '' >> Installed.md echo '' >> Installed.md
@@ -116,7 +156,9 @@ echo -e "🌿 Get npm \033[3m\033[93m node global packages\033[0m installed scr
echo '### Global:' >> Installed.md echo '### Global:' >> Installed.md
pkg_global_npm=$(npm list -g --depth=0 --silent | sed '1,2d' | awk '{print $2}' | awk -F "@" '{print $1}') pkg_global_npm=$(npm list -g --depth=0 --silent | sed '1,2d' | awk '{print $2}' | awk -F "@" '{print $1}')
echo "\`\`\`bash" >> Installed.md
echo "$pkg_global_npm" >> Installed.md echo "$pkg_global_npm" >> Installed.md
echo "\`\`\`" >> Installed.md
#echo "$local_path" #echo "$local_path"
if [ -d "$local_path" ]; then if [ -d "$local_path" ]; then
@@ -127,15 +169,30 @@ if [ -d "$local_path" ]; then
pkg_local=$(npm ls | sed '1,1d' | grep -v 'deduped') pkg_local=$(npm ls | sed '1,1d' | grep -v 'deduped')
echo "\`\`\`bash" >> "$chemin/Installed.md"
while read -r line; do while read -r line; do
a=$(echo "$line" | awk -F "@" '{print $1}') a=$(echo "$line" | awk -F "@" '{print $1}')
pkg_local_npm=${a:4} pkg_local_npm=${a:4}
echo "$pkg_local_npm" >> "$chemin/Installed.md" echo "$pkg_local_npm" >> "$chemin/Installed.md"
done <<< "$pkg_local" done <<< "$pkg_local"
echo "\`\`\`" >> "$chemin/Installed.md"
cd $chemin cd $chemin
fi fi
echo "" >> Installed.md echo "" >> Installed.md
echo ''
# Create a Brewfile
echo -e "🍺 Create a \033[3m\033[93mBrewfile\033[0m:"
echo "list all of the installed brew packages, cask applications, and Mac App Store applications currently on the machine..."
brew bundle dump
echo ''
echo -e "To restore everything listed in that file, run \033[3m\033[93m'$ brew bundle'\033[0m in folder that contains the Brewfile."
echo ''
mv Installed.md "$filename".md
open "$filename".md