/bin/create-toolboxes.sh

https://github.com/bogdan2412/dotfiles · Shell · 51 lines · 40 code · 10 blank · 1 comment · 6 complexity · 06cd16103880dd6dd04c0b4bd14280b6 MD5 · raw file

  1. #!/bin/sh
  2. set -euo pipefail
  3. FEDORA_VERSION=$(rpm -E %fedora)
  4. SOURCE_IMAGE=registry.fedoraproject.org/fedora-toolbox:$FEDORA_VERSION
  5. UPDATED_IMAGE=fedora-toolbox-$(date +%Y%m%d)
  6. podman pull "$SOURCE_IMAGE"
  7. WORKING_CONTAINER=$(buildah from --cap-add CAP_SETFCAP "$SOURCE_IMAGE")
  8. buildah run "$WORKING_CONTAINER" -- sh -c "dnf upgrade --refresh -y"
  9. buildah run "$WORKING_CONTAINER" -- sh -c "dnf install -y bat emacs fzf htop jq ripgrep vim zsh"
  10. buildah run "$WORKING_CONTAINER" -- sh -c "dnf autoremove -y"
  11. buildah run "$WORKING_CONTAINER" -- sh -c "dnf clean all"
  12. buildah commit "$WORKING_CONTAINER" "$UPDATED_IMAGE"
  13. buildah rm "$WORKING_CONTAINER"
  14. CREATE_ARGS="--image $UPDATED_IMAGE"
  15. toolbox create $CREATE_ARGS -c ocaml || true
  16. toolbox run -c ocaml sudo dnf install -y clang-tools-extra fuse-devel g++ git-filter-repo gmp-devel inotify-tools libffi-devel opam openssl-devel pcre-devel zlib-devel
  17. toolbox run -c ocaml sudo dnf autoremove -y
  18. toolbox run -c ocaml sudo dnf clean all
  19. toolbox run -c ocaml opam init --bare --no-setup
  20. toolbox create $CREATE_ARGS -c media || true
  21. toolbox run -c media sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
  22. toolbox run -c media sudo dnf install -y beets beets-plugins cuetools ffmpeg flac ImageMagick plex-media-player shntool xorg-x11-drv-nvidia unrar youtube-dl
  23. toolbox run -c media sudo dnf autoremove -y
  24. toolbox run -c media sudo dnf clean all
  25. toolbox create $CREATE_ARGS -c node || true
  26. toolbox run -c node sudo dnf install -y alsa-lib libX11-xcb libXScrnSaver npm nss
  27. toolbox run -c node sudo dnf autoremove -y
  28. toolbox run -c node sudo dnf clean all
  29. toolbox create $CREATE_ARGS -c freerdp || true
  30. toolbox run -c freerdp sudo dnf install -y freerdp
  31. toolbox run -c freerdp sudo dnf autoremove -y
  32. toolbox run -c freerdp sudo dnf clean all
  33. toolbox create $CREATE_ARGS -c python || true
  34. toolbox run -c python sudo dnf install -y python3-beautifulsoup4 python3-html5lib python3-netifaces python3-pycodestyle
  35. toolbox run -c python sudo dnf autoremove -y
  36. toolbox run -c python sudo dnf clean all
  37. toolbox create $CREATE_ARGS -c wine || true
  38. toolbox run -c wine sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
  39. toolbox run -c wine sudo dnf install -y wine xorg-x11-drv-nvidia
  40. toolbox run -c wine sudo dnf autoremove -y
  41. toolbox run -c wine sudo dnf clean all