diff --git a/archinstall/archinstall.sh b/archinstall/archinstall.sh index 88fc969..d89eadb 100755 --- a/archinstall/archinstall.sh +++ b/archinstall/archinstall.sh @@ -400,7 +400,7 @@ nameuser=`dialog --stdout --inputbox "Ahora crearemos tu usuario \nNombre para inchroot useradd -m -G wheel -s /bin/bash $nameuser until [[ $pass1 = $pass2 && $pass1 != "" ]] do - pass1=`dialog --stdout --insecure --passwordbox "$(T "Password for ") . $nameuser" 9 50` + pass1=`dialog --stdout --insecure --passwordbox "$(T "Password for ") $nameuser" 9 50` pass2=`dialog --stdout --insecure --passwordbox "$(T "Repeat password")" 9 50` if ! [[ $pass1 = $pass2 && $pass1 != "" ]];then mostrardialog "$(T "Password")" "$(T "Passwords do not match")" @@ -458,13 +458,14 @@ opt2="1 5" opt3="1" opt5="1" opt6="1 2" +opt8="8" mostrardialog "Leer" "Ahora se le presenta la opcion de elegir que programas quieres que sean instalados, cosa que recomendamos, aunque, dejamos tambien una opcion rapida, que instalara lo basico y recomendado desde nuestro punto de vista." -tipoinstall=`dialog --stdout --nocancel --menu "¿Elegir los programas que quiere?" 0 0 5 1 "Si, elegir (Muy recomendado)" 2 "No, opcion rapida (No recomendado)"` +tipoinstall=`dialog --stdout --nocancel --menu "¿Elegir los programas que quiere?" 0 0 5 1 "Si, elegir (Muy recomendado)" 2 "No, instalar preseleccion propia (No recomendado)" 3 "No, no instalar ninguno (Solo tendras el entorno y lo mas basico)"` case $tipoinstall in 1) until [[ $surep -eq 1 ]] do - optprogramas=`dialog --stdout --nocancel --scrollbar --menu "Categorías" 0 0 9 1 "Navegadores web ($(echo $opt1 | wc -w) seleccionados)" 2 "Editores de texto y Office ($(echo $opt2 | wc -w) seleccionados)" 3 "Audio y Video ($(echo $opt3 | wc -w) seleccionados)" 4 "Imagen ($(echo $opt4 | wc -w) seleccionado)" 5 "Fuentes/Tipos de letra ($(echo $opt5 | wc -w) seleccionado)" 6 "Visores ($(echo $opt6 | wc -w) seleccionado)" 7 "Soportes (Impresoras,Bluetooth...) ($(echo $opt7 | wc -w) seleccionado)" 8 "Utilidades varias ($(echo $opt8 | wc -w) seleccionado)" I "Instalar"` + optprogramas=`dialog --stdout --nocancel --scrollbar --menu "Categorías" 0 0 9 1 "Navegadores web ($(echo $opt1 | wc -w) seleccionados)" 2 "Editores de texto y Office ($(echo $opt2 | wc -w) seleccionados)" 3 "Audio y Video ($(echo $opt3 | wc -w) seleccionados)" 4 "Editores de imagen ($(echo $opt4 | wc -w) seleccionado)" 5 "Fuentes/Tipos de letra ($(echo $opt5 | wc -w) seleccionado)" 6 "Visores ($(echo $opt6 | wc -w) seleccionado)" 7 "Soportes (Impresoras,Bluetooth...) ($(echo $opt7 | wc -w) seleccionado)" 8 "Utilidades varias ($(echo $opt8 | wc -w) seleccionado)" 9 "Programacion ($(echo $opt9 | wc -w) seleccionado)" I "Instalar"` #Menu con cada una de las categorias case $optprogramas in # La variable optstate "$optX" Y es una funcion que devuelve on o off, para mostrar la ultima seleccion bien @@ -475,7 +476,7 @@ case $tipoinstall in 5) opt5=`dialog --stdout --checklist "Fuentes/Tipos de letra" 0 0 6 1 "noto-fonts (Muy recomendado)" $(optstate "$opt5" 1) 2 "Microsoft Fonts" $(optstate "$opt5" 2) 3 "Recopilatorio de fuentes de Google (mas de 300)" $(optstate "$opt5" 3)`;; 6) opt6=`dialog --stdout --checklist "Recomendado pulsar todos \nVisores" 0 0 6 1 "Evince (PDF)" $(optstate "$opt6" 1) 2 "Ristretto (imagenes como jpg,png...)" $(optstate "$opt6" 2)`;; 7) opt7=`dialog --stdout --checklist "Soportes (Impresoras,Bluetooth...)" 0 0 6 1 "CUPS (Soporte impresoras)" $(optstate "$opt7" 1) 2 "HPLIP (Soporte impresoras HP)" $(optstate "$opt7" 2) 3 "Bluetooth" $(optstate "$opt7" 3)`;; - 8) opt8=`dialog --stdout --scrollbar --checklist "Utilidades varias" 0 0 8 1 "Dropbox" $(optstate "$opt8" 1) 2 "MEGA" $(optstate "$opt8" 2) 3 "Visor de correo Evolution" $(optstate "$opt8" 3) 4 "Grabador de discos (k3b)" $(optstate "$opt8" 4) 5 "Java (jre8)" $(optstate "$opt8" 5) 6 "Wine ('Emulador' de programas de Windows)" $(optstate "$opt8" 6) 7 "BleachBit (Limpiador de disco duro)" $(optstate "$opt8" 7)`;; + 8) opt8=`dialog --stdout --scrollbar --checklist "Utilidades varias" 0 0 8 1 "Dropbox" $(optstate "$opt8" 1) 2 "MEGA" $(optstate "$opt8" 2) 3 "Visor de correo Evolution" $(optstate "$opt8" 3) 4 "Grabador de discos (k3b)" $(optstate "$opt8" 4) 5 "Java (jre8)" $(optstate "$opt8" 5) 6 "Wine ('Emulador' de programas de Windows)" $(optstate "$opt8" 6) 7 "BleachBit (Limpiador de disco duro)" $(optstate "$opt8" 7) 8 "File-roller (Compresor/descompresor, muy recomendado) $(optstate "$opt8" 8)`;; 9) opt9=`dialog --stdout --scrollbar --checklist "Programacion" 0 0 8 1 "Sublime Text 3" $(optstate "$opt9" 1) 2 "Sublime Text 2" $(optstate "$opt9" 2) 3 "Visual Studio Code" $(optstate "$opt9" 3) 4 "Eclipse" $(optstate "$opt9" 4) 5 "Monodevelop" $(optstate "$opt9" 5) 6 "Brackets" $(optstate "$opt9" 6) 7 "Atom" $(optstate "$opt9" 7) 8 "Gamedevelop" $(optstate "$opt9" 8) 9 "Poedit (gettext)" $(optstate "$opt9" 9) A "Arduino IDE" $(optstate "$opt9" A)`;; "I") #Instalar @@ -484,82 +485,89 @@ case $tipoinstall in esac done ;; - 2) mostrardialog "Programas predeterminados" "Ahora se van a instalar los programas predeterminados, espere" + 2) mostrardialog "Programas predeterminados" "Ahora se van a instalar los programas predeterminados, espere";; + 3) mostrardialog "Ningun programa" "No se instalara ningun programa opcional." + nooptprogs="1" # Not install anything + ;; esac -packages="" #Erase var before -case $opt1 in - *1*) packages="firefox";;& - *2*) packages="$packages google-chrome";;& - *3*) packages="$packages chromium";;& - *4*) packages="$packages opera";;& - *5*) packages="$packages otter-browser";;& - *6*) packages="$packages flashplugin";;& -esac -case $opt2 in - *1*) packages="$packages libreoffice-fresh";;& - *2*) packages="$packages abiword";;& - *3*) packages="$packages gnumeric";;& - *4*) packages="$packages wps-office";;& - *5*) packages="$packages leafpad";;& - *6*) packages="$packages gedit";;& - *7*) packages="$packages notepadqq";;& -esac -case $opt3 in - *1*) packages="$packages vlc qt4";;& - *2*) packages="$packages smplayer";;& - *3*) packages="$packages totem";;& - *4*) packages="$packages clementine";;& - *5*) packages="$packages banshee";;& -esac -case $opt4 in - *1*) packages="$packages gimp";;& - *2*) packages="$packages inkscape";;& - *3*) packages="$packages pinta";;& - *4*) packages="$packages krita";;& -esac -case $opt5 in - *1*) packages="$packages noto-fonts";;& - *2*) packages="$packages ttf-ms-fonts";;& - *3*) packages="$packages ttf-google-fonts-git";;& -esac -case $opt6 in - *1*) packages="$packages evince";;& - *2*) packages="$packages ristretto librsvg";;& -esac -case $opt7 in - *1*) packages="$packages cups cups-filters";;& - *2*) packages="$packages hplip";;& - *3*) packages="$packages bluez bluez-utils bluez-cups bluez-firmware bluez-libs blueberry";;& -esac -case $opt8 in - *1*) packages="$packages dropbox";;& - *2*) packages="$packages megasync";;& - *3*) packages="$packages geary";;& - *4*) packages="$packages k3b";;& - *5*) packages="$packages jre8-openjdk";;& - *6*) packages="$packages wine-staging wine_gecko winetricks" - packages="$packages lib32-libpng lib32-libldap lib32-gnutls lib32-mpg123 lib32-libpulse lib32-ncurses lib32-openal lib32-alsa-lib" #Some 32bit libs for winearch 32 work better - inswine=1;;& - *7*) packages="$packages bleachbit";;& -esac -case $opt9 in - *1*) packages="$packages sublime-text-dev";;& - *2*) packages="$packages sublime-text";;& - *3*) packages="$packages visual-studio-code";;& - *4*) packages="$packages jdk8-openjdk eclipse-java";;& - *5*) packages="$packages monodevelop";;& - *6*) packages="$packages brackets";;& - *7*) packages="$packages atom-editor-bin";;& - *8*) packages="$packages gdevelop";;& - *9*) packages="$packages poedit";;& - *A*) packages="$packages arduino";;& -esac -inchroot pacman -S $packages --noconfirm --needed -if [[ $inswine = 1 ]];then - echo "$(T "Configuring wine for better experience") (32 bit winearch)" - inchroot su $nameuser -c "WINEARCH=win32 wineboot -u" + +if [[ $nooptprogs != "1" ]];then + packages="" #Erase var before + case $opt1 in + *1*) packages="firefox";;& + *2*) packages="$packages google-chrome";;& + *3*) packages="$packages chromium";;& + *4*) packages="$packages opera";;& + *5*) packages="$packages otter-browser";;& + *6*) packages="$packages flashplugin";;& + esac + case $opt2 in + *1*) packages="$packages libreoffice-fresh";;& + *2*) packages="$packages abiword";;& + *3*) packages="$packages gnumeric";;& + *4*) packages="$packages wps-office";;& + *5*) packages="$packages leafpad";;& + *6*) packages="$packages gedit";;& + *7*) packages="$packages notepadqq";;& + esac + case $opt3 in + *1*) packages="$packages vlc qt4";;& + *2*) packages="$packages smplayer";;& + *3*) packages="$packages totem";;& + *4*) packages="$packages clementine";;& + *5*) packages="$packages banshee";;& + esac + case $opt4 in + *1*) packages="$packages gimp";;& + *2*) packages="$packages inkscape";;& + *3*) packages="$packages pinta";;& + *4*) packages="$packages krita";;& + esac + case $opt5 in + *1*) packages="$packages noto-fonts";;& + *2*) packages="$packages ttf-ms-fonts";;& + *3*) packages="$packages ttf-google-fonts-git";;& + esac + case $opt6 in + *1*) packages="$packages evince";;& + *2*) packages="$packages ristretto librsvg";;& + esac + case $opt7 in + *1*) packages="$packages cups cups-filters";;& + *2*) packages="$packages hplip";;& + *3*) packages="$packages bluez bluez-utils bluez-cups bluez-firmware bluez-libs blueberry";;& + esac + case $opt8 in + *1*) packages="$packages dropbox";;& + *2*) packages="$packages megasync";;& + *3*) packages="$packages geary";;& + *4*) packages="$packages k3b";;& + *5*) packages="$packages jre8-openjdk";;& + *6*) packages="$packages wine-staging wine_gecko winetricks" + packages="$packages lib32-libpng lib32-libldap lib32-gnutls lib32-mpg123 lib32-libpulse lib32-ncurses lib32-openal lib32-alsa-lib" #Some 32bit libs for winearch 32 work better + inswine=1;;& + *7*) packages="$packages bleachbit";;& + *8*) packages="$packages file-roller";;& + esac + case $opt9 in + *1*) packages="$packages sublime-text-dev";;& + *2*) packages="$packages sublime-text";;& + *3*) packages="$packages visual-studio-code";;& + *4*) packages="$packages jdk8-openjdk eclipse-java";;& + *5*) packages="$packages monodevelop";;& + *6*) packages="$packages brackets";;& + *7*) packages="$packages atom-editor-bin";;& + *8*) packages="$packages gdevelop";;& + *9*) packages="$packages poedit";;& + *A*) packages="$packages arduino";;& + esac + inchroot pacman -S $packages --noconfirm --needed + if [[ $inswine = 1 ]];then + echo "$(T "Configuring wine for better experience") (32 bit winearch)" + inchroot su $nameuser -c "WINEARCH=win32 wineboot -u" + fi + packages="" fi -packages="" } ### Install base graphic programs ### @@ -567,16 +575,13 @@ function baseconX { tput setaf 2 ;echo "$(T "Installing desktop and basic programs, please wait")" ; tput setaf 9 sleep 2 inchroot pacman -S xorg-server xorg-xinit xorg-server-common xf86-input-libinput lightdm lightdm-gtk-greeter gvfs gvfs-mtp gvfs-smb udisks networkmanager network-manager-applet gnome-keyring xdialog --noconfirm -inchroot pacman -S lxterminal ttf-inconsolata file-roller --noconfirm +inchroot pacman -S lxterminal ttf-inconsolata octopi octopi-notifier gksu --noconfirm # Basic JKArch programs #Instalar pulseaudio si tiene entorno grafico, sino es tonteria inchroot pacman -S pulseaudio pavucontrol --noconfirm -echo "Instalando octopi, gestor visual de actualizaciones y paquetes" -inchroot pacman -S octopi octopi-notifier gksu --noconfirm inchroot pacman -S xdg-user-dirs --noconfirm inchroot xdg-user-dirs-update #Gestor de energia inchroot pacman -S xfce4-power-manager --noconfirm - #Habilitamos ciertos servicios inchroot systemctl enable lightdm inchroot systemctl enable NetworkManager @@ -585,6 +590,7 @@ inchroot pacman -S jkarch-appearance --noconfirm clear } +### Simply put keyboard layout configs ### function keyboardlayout { echo "KEYMAP=$langabr" > /mnt/etc/vconsole.conf echo "# Read and parsed by systemd-localed. It's probably wise not to edit this file" > /mnt/etc/X11/xorg.conf.d/00-keyboard.conf @@ -596,6 +602,7 @@ echo ' Option "XkbLayout" "'$langabr'"' >> /mnt/etc/X11/xorg.conf.d/00-keyboa echo 'EndSection' >> /mnt/etc/X11/xorg.conf.d/00-keyboard.conf } +### Install desktop enviroment and their style in some cases ### function entorno { clear optentorno=`dialog --stdout --nocancel --menu "$(T "Select your desktop enviroment")" 0 0 5 1 "LXDE (Muy ligero)" 2 "XFCE (Ligero)" 3 "Cinnamon (Facil para antiguos usuarios de Windows)" 4 "Gnome (Complejo, pero practico)" 5 "MATE (Tradicional)" 6 "Plasma/KDE (Pesado aunque bonito) " 7 "No instalar entorno de escritorio"` @@ -659,6 +666,7 @@ programasguiuser fi } +### More optional configs ### function otrasconfig { mostrardialog "$(T "Other configs")" "Aquí puedes seleccionar otras configuraciones que puedes hacer a Arch antes de terminar la instalacion, como su nombre" # Loop infinito en otras configuraciones hasta que se pulse la de terminar