/bin/setup-nci-env.sh

https://github.com/omad/dotfiles · Shell · 75 lines · 44 code · 25 blank · 6 comment · 3 complexity · 803907ffa1b26928d20d254358ad0317 MD5 · raw file

  1. #!/bin/bash
  2. set -xe
  3. function get_download_url {
  4. curl -sL https://api.github.com/repos/$1/$2/releases/latest | jq -r ".assets[] | select(.browser_download_url | contains(\"$3\")) | .browser_download_url"
  5. }
  6. function download_if_newer {
  7. url=$1
  8. filename=$2
  9. http_code="$(curl -z ${filename} -O ${url} --silent --location --write-out %{http_code})"
  10. echo $http_code
  11. # return [[ $http_code == 200 ]]
  12. }
  13. function install_rust_util {
  14. pushd $TMPDIR
  15. url=$(get_download_url $1 $2 x86_64-unknown-linux-musl)
  16. http_code=$(download_if_newer ${url} $3)
  17. if [[ "$http_code" == "200" ]]; then
  18. # code here to process index.html because 200 means it gets updated
  19. tar xzf $2*
  20. find $2* -executable -type f -exec cp {} ~/bin/ \;
  21. find $2* -name '*.1' -exec cp {} ~/share/man/man1 \;
  22. find $2* -name '*.bash' -exec cp {} ~/.bash/ \;
  23. fi
  24. popd
  25. }
  26. install_rust_util sharkdp bat ~/bin/bat
  27. install_rust_util sharkdp fd ~/bin/fd
  28. install_rust_util BurntSushi ripgrep ~/bin/rg
  29. curl -L -z ${filename} -o ~/bin/plantuml.jar 'https://downloads.sourceforge.net/project/plantuml/plantuml.jar?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fplantuml%2Ffiles%2Fplantuml.jar%2Fdownload&ts=1563928325'
  30. cat <<EOT > $HOME/bin/plantuml
  31. #!/bin/sh -e
  32. java -jar $HOME/bin/plantuml.jar "$@"
  33. EOT
  34. chmod +x $HOME/bin/plantuml
  35. cd $TMPDIR
  36. curl -L https://github.com/github/hub/releases/download/v2.12.3/hub-linux-amd64-2.12.3.tgz | tar -xz
  37. cd hub-*
  38. prefix=$HOME ./install
  39. # Emacs
  40. cd $TMPDIR
  41. wget https://mirror.freedif.org/GNU/emacs/emacs-26.2.tar.xz
  42. tar xf emacs-26.2*
  43. cd emacs-26.2
  44. ./configure --prefix=$HOME
  45. make -j 8
  46. make install
  47. # Dropbox
  48. cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
  49. Next, run the Dropbox daemon from the newly created .dropbox-dist folder.
  50. ~/.dropbox-dist/dropboxd