#!/bin/bash #Este script corre en el chroot para configurar todo argpart=$1 function horaidioma { #Idioma echo "Escoja su idioma. Se irá desde la abreviatura general, a la particular" options=($(cat /etc/locale.gen | grep '^#[a-zA-Z]' | cut -c2-30 | cut -f1 -d"_" | sort | uniq)) select opt in "${options[@]}" do case $opt in *) langabr=$opt;break;; esac done clear options=($(cat /etc/locale.gen | grep '^#'$langabr | cut -c2-30 | cut -f1 -d" " | sort | uniq)) select opt in "${options[@]}" do case $opt in *) opclang=$opt;break;; esac done langinst=$(cat /etc/locale.gen | grep -m1 '^#'$opclang | cut -c2-40) sed "s/\#$langinst/$langinst/g" /etc/locale.gen > /etc/locale.gen.new mv /etc/locale.gen.new /etc/locale.gen echo "LANG=$langinst" > /etc/locale.conf echo "KEYMAP=$langabr" > /etc/vconsole.conf locale-gen echo "Ahora seleccione su ubicación/país para ajustar el reloj" NEW_TIMEZONE=$(tzselect) test -n "$NEW_TIMEZONE" && cp -fp /usr/share/zoneinfo/"$NEW_TIMEZONE" /etc/localtime hwclock --systohc --utc } function userpass { clear #Aqui hay que añadir los comandos para crear un usuario, aunque esto correrá dentro del chroot y no aqui echo "Para seguridad, vamos a cambiar la contraseña de root" echo "Contraseña para el usuario root:" passwd root echo "Ahora crearemos tu usuario:" echo "Nombre:" read nameuser useradd -m -G wheel -s /bin/bash $nameuser passwd $nameuser } function graficos { echo "¿Cual es la marca de su tarjeta gráfica?" options=("Nvidia" "AMD/ATI" "Intel" "VIA" "No lo se") select opt in "${options[@]}" do case $opt in "Nvidia") pacman -S xf86-video-nouveau xf86-video-nv break ;; "AMD/ATI") pacman -S xf86-video-ati break ;; "Intel") pacman -S xf86-video-intel break ;; "VIA") pacman -S xf86-video-openchrome break ;; "No lo se") pacman -S xf86-video-vesa xf86-video-nouveau xf86-video-nv xf86-video-ati xf86-video-intel xf86-video-openchrome break ;; *) echo invalid option;; esac done } function entorno { clear echo "Ahora customizaremos el entorno, escritorio, etc) echo "Para empezar, ¿que entorno de escritorio (parte gráfica) le gustaría usar?" echo "LXDE es más liviano, XFCE es liviano pero bonito, Cinnamon es agradable para usuarios antiguos de Windows, Gnome es complejo pero práctico" options=("LXDE" "XFCE" "Cinnamon" "Gnome" "Solo quiero la consola") select opt in "${options[@]}" do case $opt in "LXDE") pacman -S lxde instentorno=1 break ;; "XFCE") pacman -S xfce4 instentorno=1 break ;; "Cinnamon") pacman -S cinnamon instentorno=1 break ;; "Gnome") pacman -S gnome instentorno=1 break ;; "Solo quiero la consola") break ;; *) echo invalid option;; esac done if [[ $instentorno ]];then pacman -S lightdm lightdm-gtk-greeter systemctl enable lightdm fi } function bootinstall { clear echo "Instalando bootloader" echo "¿Usas EFI o tu esquema de particiones es GPT/UEFI?" echo "(Recuerda como lo hiciste al comenzar la instalación)" options=("EFI/UEFI/GPT" "MBR/BIOS" "No instalar boot") select opt in "${options[@]}" do case $opt in "EFI/UEFI/GPT") echo "Instalando grub modo EFI" break ;; "MBR/BIOS") echo "Instalando grub en modo normal" pacman -S grub os-prober grub-install --target=i386-pc /dev/$argpart grub-mkconfig -o /boot/grub/grub.cfg break ;; "No instalar boot") #Asi no formateará echo "No se ha instalado ningún gestor de arranque nuevo" break ;; *) echo invalid option;; esac done } echo "Configuración de su sistema" echo "Por se acaso, actualizaremos las bases de datos de arch" pacman -Sy horaidioma mkinitcpio -p linux userpass entorno bootinstall