diff --git a/fedora-based/install.sh b/fedora-based/install.sh
new file mode 100755
index 0000000000000000000000000000000000000000..4c424f78a4f9c388bf13a9927da09adaf0974853
--- /dev/null
+++ b/fedora-based/install.sh
@@ -0,0 +1,104 @@
+#!/bin/bash
+
+PACKAGES=
+RUBY_VERSION=2.3.0
+ABSOLUTE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+
+#Checa se o usuário é root
+if [[ $EUID -ne 0 ]]
+then
+    ROOT="sudo"
+else
+    ROOT=
+fi
+
+#Ruby precisa de uma função especial para ser instalado através do RVM
+function ruby {
+    gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
+    curl -sSL https://get.rvm.io | bash -s stable
+    source $HOME/.rvm/scripts/rvm
+    rvm install $RUBY_VERSION
+}
+
+function update {
+    $(echo "$ROOT dnf update")
+    $(echo "$ROOT dnf upgrade -y")
+}
+
+#Instala todos os pacotes no arquivo packages
+function install {
+    PACKAGES=$(cat "$ABSOLUTE_PATH/packages.txt" | cut -d: -f2 | tr '\r\n' ' ')
+}
+
+function fresh-install {
+    update
+    install
+    $(echo "$ROOT dnf install -y $PACKAGES")
+}
+
+function list {
+    cat "$ABSOLUTE_PATH/packages.txt" | tr ':' '\t'
+}
+
+function help {
+    echo "$(basename "$0") [-f|--fresh-install] [-h|--help] [-l|--list] (pacotes) -- Utilize para instalar pacotes na sua máquina"
+    echo
+    echo "onde:"
+    echo "      -h mostra a ajuda e sai"
+    echo "      -f instala todos os pacotes da lista"
+    echo "      -l lista os pacotes disponíveis"
+    echo "exemplo de uso:"
+    echo "      $(basename "$0") php mysql ruby"
+    echo "AVISO: por padrão, o ruby não é instalado. Para instalar, execute $(basename "$0") ruby"
+}
+
+#Se o arquivo não existe, o script cria
+if [ ! -f "$ABSOLUTE_PATH/packages.txt" ]
+then
+    packages="ssh:openssh openssh-server\n"
+    packages="${packages}php:php php-mysql php-pgsql\n"
+    packages="${packages}mysql:mysql\n"
+    packages="${packages}nodejs:nodejs npm\n"
+    packages="${packages}git:git\n"
+    packages="${packages}editors:vim gedit\n"
+    packages="${packages}openjdk:java-1.8.0-openjdk\n"
+    packages="${packages}xchm:xchm\n"
+    packages="${packages}latex:texlive kile\n"
+    packages="${packages}curl:curl\n"
+    packages="${packages}make:make\n"
+
+    echo -e $packages > "$ABSOLUTE_PATH/packages.txt"
+fi
+while [[ $# > 0 ]]
+do
+    key="$1"
+    case $key in
+        -f|--fresh-install)
+        fresh-install
+        exit 0
+        ;;
+        -h|--help)
+        help
+        exit 0
+        ;;
+        -l|--list)
+        list
+        exit 0
+        ;;
+        ruby)
+        ruby
+        ;;
+        *)
+        #concatena na lista de pacotes as regras passadas por parâmetro
+        PACKAGES="$(cat "$ABSOLUTE_PATH/packages.txt" | grep $key | cut -d: -f2) $PACKAGES"
+        ;;
+    esac
+    shift
+done
+#Checa se a string não está vazia
+if [ ! -z "${PACKAGES// }" ]
+then
+    $(echo "$ROOT dnf install -y $PACKAGES")
+else
+    help
+fi
diff --git a/fedora-based/packages.txt b/fedora-based/packages.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fed2b9d34e3e06b87f773e681df6510ef652bad8
--- /dev/null
+++ b/fedora-based/packages.txt
@@ -0,0 +1,11 @@
+ssh:openssh openssh-server
+php:php php-mysql php-pgsql
+mysql:mysql
+nodejs:nodejs npm
+git:git
+editors:vim gedit
+openjdk:java-1.8.0-openjdk
+xchm:xchm
+latex:texlive kile
+curl:curl
+make:make
\ No newline at end of file