INSTALL 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #!/bin/sh
  2. # DETERMINE SYSTEM ARCHITECTURE AND CURRENT USER
  3. arch=$(uname -m)
  4. currentuser=$(who | awk '{print $1}')
  5. # CREATING THE MAIN DIRECTORY FOR "AM"
  6. mkdir -p /opt/am/.cache /opt/am/modules
  7. cd /opt/am || exit
  8. # CREATE THE SCRIPT NEEDED TO UNINSTALL "AM"
  9. rm -f /opt/am/remove
  10. echo '#!/bin/sh
  11. if [ -z "$SUDO_COMMAND" ]; then echo "Permission denied"; exit 1; fi
  12. rm -R -f /usr/local/bin/am /opt/am /etc/bash_completion.d/am-completion.sh' >> /opt/am/remove
  13. chmod a+x /opt/am/remove
  14. # DOWNLOAD THE MAIN SCRIPT
  15. wget -q https://raw.githubusercontent.com/ivan-hc/AM/main/APP-MANAGER
  16. chmod a+x /opt/am/APP-MANAGER
  17. # LINK THE MAIN SCRIPT TO A KNOWN PATH
  18. ln -s /opt/am/APP-MANAGER /usr/local/bin/am
  19. # DOWNLOAD THE LIST OF THE AVAILABLE PROGRAMS
  20. wget -q "https://raw.githubusercontent.com/ivan-hc/AM/main/programs/$arch-apps"
  21. # DOWNLOAD MODULES
  22. MODULES=$(curl -Ls https://api.github.com/repos/ivan-hc/AM/contents/modules | sed 's/[()",{}]/ /g; s/ /\n/g' | grep -o 'https.*raw.*modules.*am$')
  23. for module in $MODULES; do
  24. for v in $module; do
  25. cd /opt/am/modules || exit
  26. mkdir -p tmp
  27. cd tmp || exit
  28. wget -q "$v"
  29. cd ..
  30. mv tmp/*.am ./
  31. chmod a+x ./*.am
  32. rmdir tmp
  33. done
  34. done
  35. # ENABLE NON-ROOT PERMISSIONS TO THE MAIN DIRECTORY FOR THE CURRENT USER
  36. chown -R $currentuser /opt/am 2> /dev/null
  37. # ADD THE BASH COMPLETION SCRIPT
  38. echo '#!/usr/bin/env bash
  39. complete -W "$(cat /opt/am/list 2>/dev/null)" am' >> /opt/am/am-completion.sh
  40. chmod a+x /opt/am/am-completion.sh
  41. if test -f /etc/bash_completion.d; then
  42. mv /opt/am/am-completion.sh /etc/bash_completion.d/
  43. else
  44. mkdir -p /etc/bash_completion.d
  45. sudo mv /opt/am/am-completion.sh /etc/bash_completion.d/
  46. fi
  47. # SHOW THE MESSAGE
  48. echo '
  49. _____ _____
  50. /\ \ /\ \ A A
  51. /::\ \ /::\____\ P M
  52. /::::\ \ /::::| | P
  53. /::::::\ \ /:::::| | M &
  54. /:::/\:::\ \ /::::::| | A
  55. /:::/__\:::\ \ /:::/|::| | N
  56. /::::\ \:::\ \ /:::/ |::| |
  57. /::::::\ \:::\ \ /:::/ |::|___|______
  58. /:::/\:::\ \:::\ \ /:::/ |::::::::\ \
  59. /:::/ \:::\ \:::\____\/:::/ |:::::::::\____\
  60. \::/ \:::\ /:::/ /\::/ / ~~~~~/:::/ /
  61. \/____/ \:::\/:::/ / \/____/ /:::/ /
  62. \::::::/ / /:::/ /
  63. \::::/ / /:::/ /
  64. /:::/ / /:::/ /╔═╗╔╗╔┌─┐┌─┐┌─┐┬─┐
  65. /:::/ / /:::/ / ╠═╣║║║├─┤│ ┬├┤ ├┬┘
  66. /:::/ / /:::/ / ╩ ╩╝╚╝┴ ┴└─┘└─┘┴└─
  67. /:::/ /╔═╗╔═╗┬ ┬┌─┐┌─┐┌┬┐┬┌─┐┌┐┌
  68. \::/ / ╠═╝╠═╝│ ││ ├─┤ │ ││ ││││
  69. \/____/ ╩ ╩ ┴─┘┴└─┘┴ ┴ ┴ ┴└─┘┘└┘ by Ivan Alex HC
  70. >> 𝘋𝘢𝘵𝘢𝘣𝘢𝘴𝘦 & 𝘴𝘰𝘭𝘶𝘵𝘪𝘰𝘯𝘴 𝘧𝘰𝘳 𝘢𝘭𝘭 𝘈𝘱𝘱𝘐𝘮𝘢𝘨𝘦𝘴 𝘢𝘯𝘥 𝘱𝘰𝘳𝘵𝘢𝘣𝘭𝘦 𝘢𝘱𝘱𝘴 𝘧𝘰𝘳 𝘎𝘕𝘜/𝘓𝘪𝘯𝘶𝘹 <<
  71. ##########################################################################
  72. __________________________________________________________________________
  73. SITE: https://portable-linux-apps.github.io
  74. REPOSITORY: https://github.com/ivan-hc/AM
  75. __________________________________________________________________________
  76. ##########################################################################
  77. Run "am -h" to see the list of the options
  78. ##########################################################################
  79. '