#!/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 --noconfirm break ;; "AMD/ATI") pacman -S xf86-video-ati --noconfirm break ;; "Intel") pacman -S xf86-video-intel --noconfirm break ;; "VIA") pacman -S xf86-video-openchrome --noconfirm break ;; "No lo se") pacman -S xf86-video-vesa xf86-video-nouveau xf86-video-nv xf86-video-ati xf86-video-intel xf86-video-openchrome --noconfirm 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 --noconfirm instentorno=1 break ;; "XFCE") pacman -S xfce4 --noconfirm instentorno=1 break ;; "Cinnamon") pacman -S cinnamon --noconfirm instentorno=1 break ;; "Gnome") pacman -S gnome --noconfirm instentorno=1 break ;; "Solo quiero la consola") break ;; *) echo invalid option;; esac done if [[ $instentorno ]];then graficos pacman -S lightdm lightdm-gtk-greeter --noconfirm 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 --noconfirm 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