diff options
author | Jorge Lopez <jorginho@riseup.net> | 2015-01-24 02:28:04 +0100 |
---|---|---|
committer | Jorge Lopez <jorginho@riseup.net> | 2015-01-24 02:28:04 +0100 |
commit | 9bddd8f80ac7aae8090a8023745c5ba0ba3ee0b3 (patch) | |
tree | 266a49ada4f82dc667ac797557c25d79d1709f82 /configs/X11 | |
parent | 5e17c07418861c8c1a4a169075f12785be871408 (diff) |
End installation scripts
Diffstat (limited to 'configs/X11')
16 files changed, 1514 insertions, 5 deletions
diff --git a/configs/X11/root-image/etc/skel/.icewm/images/parabolaicon.png b/configs/X11/root-image/etc/skel/.icewm/images/parabolaicon.png Binary files differnew file mode 100644 index 0000000..aed32d7 --- /dev/null +++ b/configs/X11/root-image/etc/skel/.icewm/images/parabolaicon.png diff --git a/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_en b/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_en index f7698da..a3dba1a 100644 --- a/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_en +++ b/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_en @@ -1,5 +1,6 @@ prog "Terminal" "/usr/share/icons/Adwaita/32x32/apps/utilities-terminal.png" xterm prog "File Manager" "/usr/share/icons/Adwaita/32x32/apps/system-file-manager.png" xfe +prog "Install Parabola" "/root/.icewm/images/parabolaicon.png" xterm /root/.scriptsInstallation/install.sh menu "Utilities" "/usr/share/icons/Adwaita/32x32/categories/applications-utilities.png" { prog "Text editor" "/usr/share/icons/Adwaita/32x32/apps/accessories-text-editor.png" xfw diff --git a/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_es b/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_es index 0fbd609..6f4af10 100644 --- a/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_es +++ b/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_es @@ -1,5 +1,6 @@ prog "Terminal" "/usr/share/icons/Adwaita/32x32/apps/utilities-terminal.png" xterm prog "Gestor de Archivos" "/usr/share/icons/Adwaita/32x32/apps/system-file-manager.png" xfe +prog "Instalar Parabola" "/root/.icewm/images/parabolaicon.png" xterm /root/.scriptsInstallation/install.sh menu "Utilidades" "/usr/share/icons/Adwaita/32x32/categories/applications-utilities.png" { prog "Editor de Texto" "/usr/share/icons/Adwaita/32x32/apps/accessories-text-editor.png" xfw diff --git a/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_gl b/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_gl index ffe320c..e742ef0 100644 --- a/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_gl +++ b/configs/X11/root-image/etc/skel/.icewm/menuLanguages/menu_gl @@ -1,5 +1,6 @@ prog "Terminal" "/usr/share/icons/Adwaita/32x32/apps/utilities-terminal.png" xterm prog "Xestor de Arquivos" "/usr/share/icons/Adwaita/32x32/apps/system-file-manager.png" xfe +prog "Instalar Parabola" "/root/.icewm/images/parabolaicon.png" xterm /root/.scriptsInstallation/install.sh menu "Utilidades" "/usr/share/icons/Adwaita/32x32/categories/applications-utilities.png" { prog "Editor de Texto" "/usr/share/icons/Adwaita/32x32/apps/accessories-text-editor.png" xfw diff --git a/configs/X11/root-image/etc/skel/.icewm/startup b/configs/X11/root-image/etc/skel/.icewm/startup index ab3e766..47462fe 100755 --- a/configs/X11/root-image/etc/skel/.icewm/startup +++ b/configs/X11/root-image/etc/skel/.icewm/startup @@ -1,7 +1,7 @@ #!/bin/bash ~/.language.sh & +nitrogen --set-scaled .icewm/images/wallpaper.png & sleep 2 nm-applet & -volumeicon & -nitrogen --set-scaled .icewm/images/wallpaper.png +volumeicon diff --git a/configs/X11/root-image/etc/skel/.language.sh b/configs/X11/root-image/etc/skel/.language.sh index b34d99a..75eb8f8 100755 --- a/configs/X11/root-image/etc/skel/.language.sh +++ b/configs/X11/root-image/etc/skel/.language.sh @@ -1,6 +1,8 @@ #!/bin/bash -finish=0 +finish=0 #If change locale the system need restart session to see the changes + +#Comprobe if language was selected code=$(cat ~/.codecheck | grep LANG= | tail --bytes 2) if [ $code = "0" ]; then lang=$(zenity --list --title="Select your locale" --column="Locale" --column="Language" \ @@ -8,24 +10,33 @@ if [ $code = "0" ]; then "gl_ES.UTF-8" "Galego" \ "es_ES.UTF-8" "Spanish" ) + #Copy locale in locale.conf echo "LANG=$lang" > /etc/locale.conf + + #Put a new line confirm that language was selected sed -i '/LANG=./d' ~/.codecheck echo "LANG=1" >> ~/.codecheck - cp -a ~/.icewm/menuLanguages/menu_${lang/_*/} ~/.icewm/menu - + #Copy icewm menu in that language and scripts to install + cp -a ~/.icewm/menuLanguages/menu_${lang/_*/} ~/.icewm/menu + cp -a ~/.scriptsInstallation/language/${lang/_*/}/* ~/.scriptsInstallation/ + finish=1 fi +#Comprobe if X11 keymap was selected code=$(cat .codecheck | grep XKBMAP= | cut -d '=' -f 2) if [ $code = "us" ]; then keymap=$(zenity --list --title="Select your keymap" --column="Keymap" $(localectl list-x11-keymap-layouts)) + setxkbmap $keymap + #Sae XKBMAP in .codecheck to use in other time. For example if you install X11 with scripts sed -i '/XKBMAP=./d' ~/.codecheck echo "XKBMAP=$keymap" >> ~/.codecheck fi if [ $finish -eq 1 ]; then + #Restart session pkill -KILL -u root fi diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/install.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/install.sh new file mode 100755 index 0000000..02401ff --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/install.sh @@ -0,0 +1,215 @@ +#!/bin/bash +#Temporal is a file that contains parameters to use when access to chroot + +pacman -Sy parabola-keyring --noconfirm +pacman-key --populate parabola +pacman-key --refresh-keys + +partition(){ + + #Search and show the Hard Disks to select + aux=$(ls /dev/sd?) + index=0 + for i in $aux; do + hdds[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + hdd=$(dialog --stdout --radiolist "Select Hard Disk" 20 70 50 ${hdds[@]}) + + #If exist the line delete + if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null + then + sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal + fi + + #And add the new line with new parameter + echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal + gparted $hdd + + #Search and show the partitions that select before. + aux=$(ls $hdd?) + index=0; + for i in $aux; do + partitions[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + partition=$(dialog --stdout --radiolist "Mount / Partition" 20 70 50 ${partitions[@]}) + + #Mount partition / + umount /mnt &> /dev/null + mount $partition /mnt + + #Ask if you want mount other partitions + other=0 + while [ $other != 3 ]; do + other=$(dialog --stdout --menu "Mount other partition?" 20 70 50 1 "/home" 2 "/boot" 3 "No") + + case $other in + 1) + umount /mnt/home &> /dev/null + mkdir /mnt/home &> /dev/null + mount $(dialog --stdout --radiolist "Mount /home Partition" 20 70 50 ${partitions[@]}) /mnt/home + ;; + 2) + umount /mnt/boot &> /dev/null + mkdir /mnt/boot &> /dev/null + mount $(dialog --stdout --radiolist "Mount /boot Partition" 20 70 50 ${partitions[@]}) /mnt/boot + ;; + *) + other=3 + ;; + esac + done +} + + +option=0 +while [ option != 7 ]; do + option=$(dialog --stdout --menu "Parabola Instalation CLI" 20 70 50 \ + 1 "Format and Mount Partitions" \ + 2 "Install Base System" \ + 3 "Install GRUB" \ + 4 "System Configure" \ + 5 "Create User Account" \ + 6 "(Optional)Install Live CD Desktop/Aplications" \ + 7 "Exit" ) + + case $option in + 1) + partition + ;; + 2) + #Install base system + pacstrap /mnt + pacstrap /mnt dialog + ;; + 3) + #Install grub + pacstrap /mnt grub + ;; + 4) + #Generate fstab and acces to chroot to do System Config + genfstab -p /mnt >> /mnt/etc/fstab + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/systemConfig.sh /mnt + chmod +x /mnt/systemConfig.sh + arch-chroot /mnt /systemConfig.sh + rm -r /mnt/systemConfig.sh + ;; + 5) + #Create a new username and save in temporal, to use after + if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null + then + sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal + fi + + echo "userName=$(dialog --stdout --inputbox "Enter an User Name" 8 40)" >> ~/.scriptsInstallation/temporal + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/userAccount.sh /mnt + chmod +x /mnt/userAccount.sh + arch-chroot /mnt /userAccount.sh + rm -r /mnt/userAccount.sh + ;; + 6) + #Packages to the X11 live + packages=( "xorg-server" + "xf86-input-evdev" + "xf86-input-synaptics" + "xf86-video-vesa" + "xf86-video-intel" + "xf86-video-nouveau" + "xf86-video-ati" + "xf86-video-apm" + "xf86-video-ark" + "xf86-video-ast" + "xf86-video-chips" + "xf86-video-cirrus" + "xf86-video-dummy" + "xf86-video-fbdev" + "xf86-video-glint" + "xf86-video-i128" + "xf86-video-i740" + "xf86-video-intel" + "xf86-video-mach64" + "xf86-video-mga" + "xf86-video-modesetting" + "xf86-video-neomagic" + "xf86-video-nv" + "xf86-video-openchrome" + "xf86-video-r128" + "xf86-video-rendition" + "xf86-video-s3" + "xf86-video-s3virge" + "xf86-video-savage" + "xf86-video-siliconmotion" + "xf86-video-sis" + "xf86-video-sisimedia" + "xf86-video-sisusb" + "xf86-video-tdfx" + "xf86-video-trident" + "xf86-video-tseng" + "xf86-video-v4l" + "xf86-video-vmware" + "xf86-video-voodoo" + "xorg-xinit" + "gst-plugins-good" + "gst-libav" + "icewm" + "nitrogen" + "xterm" + "zenity" + "pulseaudio-alsa" + "alsa-utils" + "volumeicon" + "networkmanager" + "network-manager-applet" + "ath9k-htc-firmware" + "xfe" + "iceweasel" + "icedove" + "pidgin" + "gparted" + "supertux" + "smplayer" + "epdfview" + "gpicview" + "abiword" + "gnumeric") + + #Install packages + pacstrap /mnt ${packages[@]} + user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) + + #Copie skel in the new system without scripts, other languages... + cp -a /etc/skel/ /mnt/etc/ + rm -r /mnt/etc/skel/.scriptsInstallation /mnt/etc/skel/.icewm/menuLanguages /mnt/etc/skel/.codecheck /mnt/etc/skel/.language.sh + cp -a /root/.icewm/menu /mnt/etc/skel/.icewm/menu + sed -i -e '/.scriptsInstallation/d' /mnt/etc/skel/.icewm/menu + sed -i -e '/language.sh/d' /mnt/etc/skel/.icewm/startup + + #Puts the XKBMAP, start X11 automatically and icewm desktop + echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc + echo "exec icewm-session" >> /mnt/etc/skel/.xinitrc + echo "startx" >> /mnt/etc/skel/.bash_profile + + chmod +x /mnt/etc/skel/.xinitrc + cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ + cp -a cp ~/.scriptsInstallation/x11.sh /mnt + + #Enable services with systemd + chmod +x /mnt/x11.sh + arch-chroot /mnt /x11.sh + rm /mnt/x11.sh + ;; + *) + #Delete temporal file and umount partitions + rm -r /mnt/temporal + umount /mnt/boot &> /dev/null + umount /mnt/home &> /dev/null + umount /mnt &> /dev/null + exit + ;; + esac +done diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/systemConfig.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/systemConfig.sh new file mode 100755 index 0000000..ae89599 --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/systemConfig.sh @@ -0,0 +1,270 @@ +#!/bin/bash + +echo "$(dialog --stdout --inputbox "Enter Hostname:" 8 40)" > /etc/hostname + +ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Enter your Zone Time:\nFor example: Europe/Athens" 8 40) /etc/localtime + +keymaps=( + "ANSI-dvorak ANSI-dvorak off" + "amiga-de amiga-de off" + "amiga-us amiga-us off" + "applkey applkey off" + "atari-de atari-de off" + "atari-se atari-se off" + "atari-uk-falcon atari-uk-falcon off" + "atari-us atari-us off" + "azerty azerty off" + "backspace backspace off" + "bashkir bashkir off" + "be-latin1 be-latin1 off" + "bg-cp1251 bg-cp1251 off" + "bg-cp855 bg-cp855 off" + "bg_bds-cp1251 bg_bds-cp1251 off" + "bg_bds-utf8 bg_bds-utf8 off" + "bg_pho-cp1251 bg_pho-cp1251 off" + "bg_pho-utf8 bg_pho-utf8 off" + "br-abnt br-abnt off" + "br-abnt2 br-abnt2 off" + "br-latin1-abnt2 br-latin1-abnt2 off" + "br-latin1-us br-latin1-us off" + "by by off" + "by-cp1251 by-cp1251 off" + "bywin-cp1251 bywin-cp1251 off" + "cf cf off" + "colemak colemak off" + "croat croat off" + "ctrl ctrl off" + "cz cz off" + "cz-cp1250 cz-cp1250 off" + "cz-lat2 cz-lat2 off" + "cz-lat2-prog cz-lat2-prog off" + "cz-qwertz cz-qwertz off" + "cz-us-qwertz cz-us-qwertz off" + "de de off" + "de-latin1 de-latin1 off" + "de-latin1-nodeadkeys de-latin1-nodeadkeys off" + "de-mobii de-mobii off" + "de_CH-latin1 de_CH-latin1 off" + "de_alt_UTF-8 de_alt_UTF-8 off" + "defkeymap defkeymap off" + "defkeymap_V1.0 defkeymap_V1.0 off" + "dk dk off" + "dk-latin1 dk-latin1 off" + "dvorak dvorak off" + "dvorak-ca-fr dvorak-ca-fr off" + "dvorak-es dvorak-es off" + "dvorak-fr dvorak-fr off" + "dvorak-l dvorak-l off" + "dvorak-r dvorak-r off" + "dvorak-ru dvorak-ru off" + "dvorak-sv-a1 dvorak-sv-a1 off" + "dvorak-sv-a5 dvorak-sv-a5 off" + "dvorak-uk dvorak-uk off" + "emacs emacs off" + "emacs2 emacs2 off" + "es es off" + "es-cp850 es-cp850 off" + "es-olpc es-olpc off" + "et et off" + "et-nodeadkeys et-nodeadkeys off" + "euro euro off" + "euro1 euro1 off" + "euro2 euro2 off" + "fi fi off" + "fr fr off" + "fr-bepo fr-bepo off" + "fr-bepo-latin9 fr-bepo-latin9 off" + "fr-latin1 fr-latin1 off" + "fr-latin9 fr-latin9 off" + "fr-pc fr-pc off" + "fr_CH fr_CH off" + "fr_CH-latin1 fr_CH-latin1 off" + "gr gr off" + "gr-pc gr-pc off" + "hu hu off" + "hu101 hu101 off" + "il il off" + "il-heb il-heb off" + "il-phonetic il-phonetic off" + "is-latin1 is-latin1 off" + "is-latin1-us is-latin1-us off" + "it it off" + "it-ibm it-ibm off" + "it2 it2 off" + "jp106 jp106 off" + "kazakh kazakh off" + "keypad keypad off" + "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" + "kyrgyz kyrgyz off" + "la-latin1 la-latin1 off" + "lt lt off" + "lt.baltic lt.baltic off" + "lt.l4 lt.l4 off" + "lv lv off" + "lv-tilde lv-tilde off" + "mac-be mac-be off" + "mac-de-latin1 mac-de-latin1 off" + "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" + "mac-de_CH mac-de_CH off" + "mac-dk-latin1 mac-dk-latin1 off" + "mac-dvorak mac-dvorak off" + "mac-es mac-es off" + "mac-euro mac-euro off" + "mac-euro2 mac-euro2 off" + "mac-fi-latin1 mac-fi-latin1 off" + "mac-fr mac-fr off" + "mac-fr_CH-latin1 mac-fr_CH-latin1 off" + "mac-it mac-it off" + "mac-pl mac-pl off" + "mac-pt-latin1 mac-pt-latin1 off" + "mac-se mac-se off" + "mac-template mac-template off" + "mac-uk mac-uk off" + "mac-us mac-us off" + "mk mk off" + "mk-cp1251 mk-cp1251 off" + "mk-utf mk-utf off" + "mk0 mk0 off" + "nl nl off" + "nl2 nl2 off" + "no no off" + "no-dvorak no-dvorak off" + "no-latin1 no-latin1 off" + "pc110 pc110 off" + "pl pl off" + "pl1 pl1 off" + "pl2 pl2 off" + "pl3 pl3 off" + "pl4 pl4 off" + "pt-latin1 pt-latin1 off" + "pt-latin9 pt-latin9 off" + "pt-olpc pt-olpc off" + "ro ro off" + "ro_std ro_std off" + "ro_win ro_win off" + "ru ru off" + "ru-cp1251 ru-cp1251 off" + "ru-ms ru-ms off" + "ru-yawerty ru-yawerty off" + "ru1 ru1 off" + "ru2 ru2 off" + "ru3 ru3 off" + "ru4 ru4 off" + "ru_win ru_win off" + "ruwin_alt-CP1251 ruwin_alt-CP1251 off" + "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" + "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" + "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" + "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" + "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" + "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" + "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" + "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" + "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" + "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" + "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" + "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" + "se-fi-ir209 se-fi-ir209 off" + "se-fi-lat6 se-fi-lat6 off" + "se-ir209 se-ir209 off" + "se-lat6 se-lat6 off" + "sg sg off" + "sg-latin1 sg-latin1 off" + "sg-latin1-lk450 sg-latin1-lk450 off" + "sk-prog-qwerty sk-prog-qwerty off" + "sk-prog-qwertz sk-prog-qwertz off" + "sk-qwerty sk-qwerty off" + "sk-qwertz sk-qwertz off" + "slovene slovene off" + "sr-cy sr-cy off" + "sun-pl sun-pl off" + "sun-pl-altgraph sun-pl-altgraph off" + "sundvorak sundvorak off" + "sunkeymap sunkeymap off" + "sunt4-es sunt4-es off" + "sunt4-fi-latin1 sunt4-fi-latin1 off" + "sunt4-no-latin1 sunt4-no-latin1 off" + "sunt5-cz-us sunt5-cz-us off" + "sunt5-de-latin1 sunt5-de-latin1 off" + "sunt5-es sunt5-es off" + "sunt5-fi-latin1 sunt5-fi-latin1 off" + "sunt5-fr-latin1 sunt5-fr-latin1 off" + "sunt5-ru sunt5-ru off" + "sunt5-uk sunt5-uk off" + "sunt5-us-cz sunt5-us-cz off" + "sunt6-uk sunt6-uk off" + "sv-latin1 sv-latin1 off" + "tj_alt-UTF8 tj_alt-UTF8 off" + "tr_f-latin5 tr_f-latin5 off" + "tr_q-latin5 tr_q-latin5 off" + "tralt tralt off" + "trf trf off" + "trf-fgGIod trf-fgGIod off" + "trq trq off" + "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" + "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" + "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" + "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" + "ua ua off" + "ua-cp1251 ua-cp1251 off" + "ua-utf ua-utf off" + "ua-utf-ws ua-utf-ws off" + "ua-ws ua-ws off" + "uk uk off" + "unicode unicode off" + "us us on" + "us-acentos us-acentos off" + "wangbe wangbe off" + "wangbe2 wangbe2 off" + "windowkeys windowkeys off" +) + +echo "KEYMAP=$(dialog --stdout --radiolist "Select Keymap" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf + +aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) +index=0 +for i in $aux; do + i=$(echo $i | sed -e 's/#/ /g') + locales+=("$i" "$i" off) + if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then + locales[$index]="$i" + locales[$((index+1))]="$i" + locales[$((index+2))]="on" + fi + index=$((index+3)) +done + +locale=$(dialog --stdout --checklist "Select Locales" 20 70 50 "${locales[@]}") +locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') + +for i in ${locale[@]}; do + i=$(echo $i | sed -e 's/#/ /g') + sed -i -e "s/#$i/$i/g" /etc/locale.gen +done + +locale-gen + +aux=$(locale -a) +index=0 +for i in $aux; do + langs+=("$i" "$i" on) + index=$((index+1)) +done + +echo "LANG=$(dialog --stdout --radiolist "Select your language" 20 70 50 ${langs[@]})" > /etc/locale.conf + +mkinitcpio -p linux-libre + +hdd=$(cat /temporal | grep 'hdd=') +grub-install ${hdd#*=} +grub-mkconfig -o /boot/grub/grub.cfg + +password=$(dialog --stdout --passwordbox "Insert root password" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite root password" 8 40) +done + +usermod -p $(openssl passwd ${password}) root + +exit diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/userAccount.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/userAccount.sh new file mode 100755 index 0000000..a9551d8 --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/en/userAccount.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +user=$(cat /temporal | grep "userName") + +password=$(dialog --stdout --passwordbox "Insert ${user#*=} password" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Reply password" 8 40) +done + +useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} + +exit diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/install.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/install.sh new file mode 100755 index 0000000..3e340ca --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/install.sh @@ -0,0 +1,214 @@ +#!/bin/bash +#Temporal is a file that contains parameters to use when access to chroot + +pacman -Sy parabola-keyring --noconfirm +pacman-key --populate parabola +pacman-key --refresh-keys + +partition(){ + + #Search and show the Hard Disks to select + aux=$(ls /dev/sd?) + index=0 + for i in $aux; do + hdds[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + hdd=$(dialog --stdout --radiolist "Selecciona Disco Duro" 20 70 50 ${hdds[@]}) + + #If exist the line delete + if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null + then + sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal + fi + + #And add the new line with new parameter + echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal + gparted $hdd + + #Search and show the partitions that select before. + aux=$(ls $hdd?) + index=0; + for i in $aux; do + partitions[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + partition=$(dialog --stdout --radiolist "Montar Particion /" 20 70 50 ${partitions[@]}) + + #Mount partition / + umount /mnt &> /dev/null + mount $partition /mnt + + #Ask if you want mount other partitions + other=0 + while [ $other != 3 ]; do + other=$(dialog --stdout --menu "Quiere montar otra particion?" 20 70 50 1 "/home" 2 "/boot" 3 "No") + + case $other in + 1) + umount /mnt/home &> /dev/null + mkdir /mnt/home &> /dev/null + mount $(dialog --stdout --radiolist "Montar particion /home" 20 70 50 ${partitions[@]}) /mnt/home + ;; + 2) + umount /mnt/boot &> /dev/null + mkdir /mnt/boot &> /dev/null + mount $(dialog --stdout --radiolist "Montar particion /boot" 20 70 50 ${partitions[@]}) /mnt/boot + ;; + *) + other=3 + ;; + esac + done +} + + +option=0 +while [ option != 7 ]; do + option=$(dialog --stdout --menu "Instalacion de Parabola CLI" 20 70 50 \ + 1 "Formatear y Montar Particiones" \ + 2 "Instalar Sistema Base" \ + 3 "Instalar GRUB" \ + 4 "Configuracion del Sistema" \ + 5 "Crear Cuenta de Usuario" \ + 6 "(Opcional)Instalar Live Cd Escritorio/Aplicaciones" \ + 7 "Salir" ) + + case $option in + 1) + partition + ;; + 2) + #Install base system + pacstrap /mnt + pacstrap /mnt dialog + ;; + 3) + #Install grub + pacstrap /mnt grub + ;; + 4) + #Generate fstab and acces to chroot to do System Config + genfstab -p /mnt >> /mnt/etc/fstab + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/systemConfig.sh /mnt + chmod +x /mnt/systemConfig.sh + arch-chroot /mnt /systemConfig.sh + rm -r /mnt/systemConfig.sh + ;; + 5) + #Create a new username and save in temporal, to use after + if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null + then + sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal + fi + + echo "userName=$(dialog --stdout --inputbox "Introduce nombre de usuario" 8 40)" >> ~/.scriptsInstallation/temporal + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/userAccount.sh /mnt + chmod +x /mnt/userAccount.sh + arch-chroot /mnt /userAccount.sh + rm -r /mnt/userAccount.sh + ;; + 6) + #Packages to the X11 live + packages=( "xorg-server" + "xf86-input-evdev" + "xf86-input-synaptics" + "xf86-video-vesa" + "xf86-video-intel" + "xf86-video-nouveau" + "xf86-video-ati" + "xf86-video-apm" + "xf86-video-ark" + "xf86-video-ast" + "xf86-video-chips" + "xf86-video-cirrus" + "xf86-video-dummy" + "xf86-video-fbdev" + "xf86-video-glint" + "xf86-video-i128" + "xf86-video-i740" + "xf86-video-intel" + "xf86-video-mach64" + "xf86-video-mga" + "xf86-video-modesetting" + "xf86-video-neomagic" + "xf86-video-nv" + "xf86-video-openchrome" + "xf86-video-r128" + "xf86-video-rendition" + "xf86-video-s3" + "xf86-video-s3virge" + "xf86-video-savage" + "xf86-video-siliconmotion" + "xf86-video-sis" + "xf86-video-sisimedia" + "xf86-video-sisusb" + "xf86-video-tdfx" + "xf86-video-trident" + "xf86-video-tseng" + "xf86-video-v4l" + "xf86-video-vmware" + "xf86-video-voodoo" + "xorg-xinit" + "gst-plugins-good" + "gst-libav" + "icewm" + "nitrogen" + "xterm" + "zenity" + "pulseaudio-alsa" + "alsa-utils" + "volumeicon" + "networkmanager" + "network-manager-applet" + "ath9k-htc-firmware" + "xfe" + "iceweasel" + "icedove" + "pidgin" + "gparted" + "supertux" + "smplayer" + "epdfview" + "gpicview" + "abiword" + "gnumeric") + + #Install packages + pacstrap /mnt ${packages[@]} + user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) + + #Copie skel in the new system without scripts, other languages... + cp -a /etc/skel/ /mnt/etc/ + rm -r /mnt/etc/skel/.scriptsInstallation /mnt/etc/skel/.icewm/menuLanguages /mnt/etc/skel/.codecheck /mnt/etc/skel/.language.sh + cp -a /root/.icewm/menu /mnt/etc/skel/.icewm/menu + sed -i -e '/.scriptsInstallation/d' /mnt/etc/skel/.icewm/menu + sed -i -e '/language.sh/d' /mnt/etc/skel/.icewm/startup + + #Puts the XKBMAP, start X11 automatically and icewm desktop + echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc + echo "exec icewm-session" >> /mnt/etc/skel/.xinitrc + echo "startx" >> /mnt/etc/skel/.bash_profile + chmod +x /mnt/etc/skel/.xinitrc + cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ + cp -a cp ~/.scriptsInstallation/x11.sh /mnt + + #Enable services with systemd + chmod +x /mnt/x11.sh + arch-chroot /mnt /x11.sh + rm /mnt/x11.sh + ;; + *) + #Delete temporal file and umount partitions + rm -r /mnt/temporal + umount /mnt/boot &> /dev/null + umount /mnt/home &> /dev/null + umount /mnt &> /dev/null + exit + ;; + esac +done diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/systemConfig.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/systemConfig.sh new file mode 100755 index 0000000..c32ad85 --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/systemConfig.sh @@ -0,0 +1,270 @@ +#!/bin/bash + +echo "$(dialog --stdout --inputbox "Introduce el nombre del sistema:" 8 40)" > /etc/hostname + +ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Introduce la Zona Horaria:\nPor ejemplo: Europe/Athens" 8 40) /etc/localtime + +keymaps=( + "ANSI-dvorak ANSI-dvorak off" + "amiga-de amiga-de off" + "amiga-us amiga-us off" + "applkey applkey off" + "atari-de atari-de off" + "atari-se atari-se off" + "atari-uk-falcon atari-uk-falcon off" + "atari-us atari-us off" + "azerty azerty off" + "backspace backspace off" + "bashkir bashkir off" + "be-latin1 be-latin1 off" + "bg-cp1251 bg-cp1251 off" + "bg-cp855 bg-cp855 off" + "bg_bds-cp1251 bg_bds-cp1251 off" + "bg_bds-utf8 bg_bds-utf8 off" + "bg_pho-cp1251 bg_pho-cp1251 off" + "bg_pho-utf8 bg_pho-utf8 off" + "br-abnt br-abnt off" + "br-abnt2 br-abnt2 off" + "br-latin1-abnt2 br-latin1-abnt2 off" + "br-latin1-us br-latin1-us off" + "by by off" + "by-cp1251 by-cp1251 off" + "bywin-cp1251 bywin-cp1251 off" + "cf cf off" + "colemak colemak off" + "croat croat off" + "ctrl ctrl off" + "cz cz off" + "cz-cp1250 cz-cp1250 off" + "cz-lat2 cz-lat2 off" + "cz-lat2-prog cz-lat2-prog off" + "cz-qwertz cz-qwertz off" + "cz-us-qwertz cz-us-qwertz off" + "de de off" + "de-latin1 de-latin1 off" + "de-latin1-nodeadkeys de-latin1-nodeadkeys off" + "de-mobii de-mobii off" + "de_CH-latin1 de_CH-latin1 off" + "de_alt_UTF-8 de_alt_UTF-8 off" + "defkeymap defkeymap off" + "defkeymap_V1.0 defkeymap_V1.0 off" + "dk dk off" + "dk-latin1 dk-latin1 off" + "dvorak dvorak off" + "dvorak-ca-fr dvorak-ca-fr off" + "dvorak-es dvorak-es off" + "dvorak-fr dvorak-fr off" + "dvorak-l dvorak-l off" + "dvorak-r dvorak-r off" + "dvorak-ru dvorak-ru off" + "dvorak-sv-a1 dvorak-sv-a1 off" + "dvorak-sv-a5 dvorak-sv-a5 off" + "dvorak-uk dvorak-uk off" + "emacs emacs off" + "emacs2 emacs2 off" + "es es off" + "es-cp850 es-cp850 off" + "es-olpc es-olpc off" + "et et off" + "et-nodeadkeys et-nodeadkeys off" + "euro euro off" + "euro1 euro1 off" + "euro2 euro2 off" + "fi fi off" + "fr fr off" + "fr-bepo fr-bepo off" + "fr-bepo-latin9 fr-bepo-latin9 off" + "fr-latin1 fr-latin1 off" + "fr-latin9 fr-latin9 off" + "fr-pc fr-pc off" + "fr_CH fr_CH off" + "fr_CH-latin1 fr_CH-latin1 off" + "gr gr off" + "gr-pc gr-pc off" + "hu hu off" + "hu101 hu101 off" + "il il off" + "il-heb il-heb off" + "il-phonetic il-phonetic off" + "is-latin1 is-latin1 off" + "is-latin1-us is-latin1-us off" + "it it off" + "it-ibm it-ibm off" + "it2 it2 off" + "jp106 jp106 off" + "kazakh kazakh off" + "keypad keypad off" + "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" + "kyrgyz kyrgyz off" + "la-latin1 la-latin1 off" + "lt lt off" + "lt.baltic lt.baltic off" + "lt.l4 lt.l4 off" + "lv lv off" + "lv-tilde lv-tilde off" + "mac-be mac-be off" + "mac-de-latin1 mac-de-latin1 off" + "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" + "mac-de_CH mac-de_CH off" + "mac-dk-latin1 mac-dk-latin1 off" + "mac-dvorak mac-dvorak off" + "mac-es mac-es off" + "mac-euro mac-euro off" + "mac-euro2 mac-euro2 off" + "mac-fi-latin1 mac-fi-latin1 off" + "mac-fr mac-fr off" + "mac-fr_CH-latin1 mac-fr_CH-latin1 off" + "mac-it mac-it off" + "mac-pl mac-pl off" + "mac-pt-latin1 mac-pt-latin1 off" + "mac-se mac-se off" + "mac-template mac-template off" + "mac-uk mac-uk off" + "mac-us mac-us off" + "mk mk off" + "mk-cp1251 mk-cp1251 off" + "mk-utf mk-utf off" + "mk0 mk0 off" + "nl nl off" + "nl2 nl2 off" + "no no off" + "no-dvorak no-dvorak off" + "no-latin1 no-latin1 off" + "pc110 pc110 off" + "pl pl off" + "pl1 pl1 off" + "pl2 pl2 off" + "pl3 pl3 off" + "pl4 pl4 off" + "pt-latin1 pt-latin1 off" + "pt-latin9 pt-latin9 off" + "pt-olpc pt-olpc off" + "ro ro off" + "ro_std ro_std off" + "ro_win ro_win off" + "ru ru off" + "ru-cp1251 ru-cp1251 off" + "ru-ms ru-ms off" + "ru-yawerty ru-yawerty off" + "ru1 ru1 off" + "ru2 ru2 off" + "ru3 ru3 off" + "ru4 ru4 off" + "ru_win ru_win off" + "ruwin_alt-CP1251 ruwin_alt-CP1251 off" + "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" + "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" + "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" + "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" + "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" + "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" + "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" + "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" + "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" + "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" + "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" + "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" + "se-fi-ir209 se-fi-ir209 off" + "se-fi-lat6 se-fi-lat6 off" + "se-ir209 se-ir209 off" + "se-lat6 se-lat6 off" + "sg sg off" + "sg-latin1 sg-latin1 off" + "sg-latin1-lk450 sg-latin1-lk450 off" + "sk-prog-qwerty sk-prog-qwerty off" + "sk-prog-qwertz sk-prog-qwertz off" + "sk-qwerty sk-qwerty off" + "sk-qwertz sk-qwertz off" + "slovene slovene off" + "sr-cy sr-cy off" + "sun-pl sun-pl off" + "sun-pl-altgraph sun-pl-altgraph off" + "sundvorak sundvorak off" + "sunkeymap sunkeymap off" + "sunt4-es sunt4-es off" + "sunt4-fi-latin1 sunt4-fi-latin1 off" + "sunt4-no-latin1 sunt4-no-latin1 off" + "sunt5-cz-us sunt5-cz-us off" + "sunt5-de-latin1 sunt5-de-latin1 off" + "sunt5-es sunt5-es off" + "sunt5-fi-latin1 sunt5-fi-latin1 off" + "sunt5-fr-latin1 sunt5-fr-latin1 off" + "sunt5-ru sunt5-ru off" + "sunt5-uk sunt5-uk off" + "sunt5-us-cz sunt5-us-cz off" + "sunt6-uk sunt6-uk off" + "sv-latin1 sv-latin1 off" + "tj_alt-UTF8 tj_alt-UTF8 off" + "tr_f-latin5 tr_f-latin5 off" + "tr_q-latin5 tr_q-latin5 off" + "tralt tralt off" + "trf trf off" + "trf-fgGIod trf-fgGIod off" + "trq trq off" + "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" + "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" + "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" + "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" + "ua ua off" + "ua-cp1251 ua-cp1251 off" + "ua-utf ua-utf off" + "ua-utf-ws ua-utf-ws off" + "ua-ws ua-ws off" + "uk uk off" + "unicode unicode off" + "us us on" + "us-acentos us-acentos off" + "wangbe wangbe off" + "wangbe2 wangbe2 off" + "windowkeys windowkeys off" +) + +echo "KEYMAP=$(dialog --stdout --radiolist "Selecciona la distribucion del teclado" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf + +aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) +index=0 +for i in $aux; do + i=$(echo $i | sed -e 's/#/ /g') + locales+=("$i" "$i" off) + if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then + locales[$index]="$i" + locales[$((index+1))]="$i" + locales[$((index+2))]="on" + fi + index=$((index+3)) +done + +locale=$(dialog --stdout --checklist "Selecciona las Localizaciones" 20 70 50 "${locales[@]}") +locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') + +for i in ${locale[@]}; do + i=$(echo $i | sed -e 's/#/ /g') + sed -i -e "s/#$i/$i/g" /etc/locale.gen +done + +locale-gen + +aux=$(locale -a) +index=0 +for i in $aux; do + langs+=("$i" "$i" on) + index=$((index+1)) +done + +echo "LANG=$(dialog --stdout --radiolist "Selecciona tu idioma" 20 70 50 ${langs[@]})" > /etc/locale.conf + +mkinitcpio -p linux-libre + +hdd=$(cat /temporal | grep 'hdd=') +grub-install ${hdd#*=} +grub-mkconfig -o /boot/grub/grub.cfg + +password=$(dialog --stdout --passwordbox "Inserta la contraseña para el administrador" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite la contraseña para el administrador" 8 40) +done + +usermod -p $(openssl passwd ${password}) root + +exit diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/userAccount.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/userAccount.sh new file mode 100755 index 0000000..4ed7437 --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/es/userAccount.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +user=$(cat /temporal | grep "userName") + +password=$(dialog --stdout --passwordbox "Introduce la contraseñara para el usuario ${user#*=}" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite la contraseña" 8 40) +done + +useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} + +exit diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/install.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/install.sh new file mode 100755 index 0000000..f49866d --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/install.sh @@ -0,0 +1,214 @@ +#!/bin/bash +#Temporal is a file that contains parameters to use when access to chroot + +pacman -Sy parabola-keyring --noconfirm +pacman-key --populate parabola +pacman-key --refresh-keys + +partition(){ + + #Search and show the Hard Disks to select + aux=$(ls /dev/sd?) + index=0 + for i in $aux; do + hdds[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + hdd=$(dialog --stdout --radiolist "Selecciona Disco Duro" 20 70 50 ${hdds[@]}) + + #If exist the line delete + if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null + then + sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal + fi + + #And add the new line with new parameter + echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal + gparted $hdd + + #Search and show the partitions that select before. + aux=$(ls $hdd?) + index=0; + for i in $aux; do + partitions[$index]="${i} ${i#/*/} off" + index=$((index+1)) + done + + partition=$(dialog --stdout --radiolist "Montar Particion /" 20 70 50 ${partitions[@]}) + + #Mount partition / + umount /mnt &> /dev/null + mount $partition /mnt + + #Ask if you want mount other partitions + other=0 + while [ $other != 3 ]; do + other=$(dialog --stdout --menu "Quere montar outra particion?" 20 70 50 1 "/home" 2 "/boot" 3 "No") + + case $other in + 1) + umount /mnt/home &> /dev/null + mkdir /mnt/home &> /dev/null + mount $(dialog --stdout --radiolist "Montar particion /home" 20 70 50 ${partitions[@]}) /mnt/home + ;; + 2) + umount /mnt/boot &> /dev/null + mkdir /mnt/boot &> /dev/null + mount $(dialog --stdout --radiolist "Montar particion /boot" 20 70 50 ${partitions[@]}) /mnt/boot + ;; + *) + other=3 + ;; + esac + done +} + + +option=0 +while [ option != 7 ]; do + option=$(dialog --stdout --menu "Instalacion de Parabola CLI" 20 70 50 \ + 1 "Formatear e Montar Particiones" \ + 2 "Instalar Sistema Base" \ + 3 "Instalar GRUB" \ + 4 "Configuracion do Sistema" \ + 5 "Crear Conta de Usuario" \ + 6 "(Opcional)Instalar Live Cd Escritorio/Aplicaciones" \ + 7 "Salir" ) + + case $option in + 1) + partition + ;; + 2) + #Install base system + pacstrap /mnt + pacstrap /mnt dialog + ;; + 3) + #Install grub + pacstrap /mnt grub + ;; + 4) + #Generate fstab and acces to chroot to do System Config + genfstab -p /mnt >> /mnt/etc/fstab + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/systemConfig.sh /mnt + chmod +x /mnt/systemConfig.sh + arch-chroot /mnt /systemConfig.sh + rm -r /mnt/systemConfig.sh + ;; + 5) + #Create a new username and save in temporal, to use after + if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null + then + sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal + fi + + echo "userName=$(dialog --stdout --inputbox "Introduce un nome de usuario" 8 40)" >> ~/.scriptsInstallation/temporal + cp ~/.scriptsInstallation/temporal /mnt + cp ~/.scriptsInstallation/userAccount.sh /mnt + chmod +x /mnt/userAccount.sh + arch-chroot /mnt /userAccount.sh + rm -r /mnt/userAccount.sh + ;; + 6) + #Packages to the X11 live + packages=( "xorg-server" + "xf86-input-evdev" + "xf86-input-synaptics" + "xf86-video-vesa" + "xf86-video-intel" + "xf86-video-nouveau" + "xf86-video-ati" + "xf86-video-apm" + "xf86-video-ark" + "xf86-video-ast" + "xf86-video-chips" + "xf86-video-cirrus" + "xf86-video-dummy" + "xf86-video-fbdev" + "xf86-video-glint" + "xf86-video-i128" + "xf86-video-i740" + "xf86-video-intel" + "xf86-video-mach64" + "xf86-video-mga" + "xf86-video-modesetting" + "xf86-video-neomagic" + "xf86-video-nv" + "xf86-video-openchrome" + "xf86-video-r128" + "xf86-video-rendition" + "xf86-video-s3" + "xf86-video-s3virge" + "xf86-video-savage" + "xf86-video-siliconmotion" + "xf86-video-sis" + "xf86-video-sisimedia" + "xf86-video-sisusb" + "xf86-video-tdfx" + "xf86-video-trident" + "xf86-video-tseng" + "xf86-video-v4l" + "xf86-video-vmware" + "xf86-video-voodoo" + "xorg-xinit" + "gst-plugins-good" + "gst-libav" + "icewm" + "nitrogen" + "xterm" + "zenity" + "pulseaudio-alsa" + "alsa-utils" + "volumeicon" + "networkmanager" + "network-manager-applet" + "ath9k-htc-firmware" + "xfe" + "iceweasel" + "icedove" + "pidgin" + "gparted" + "supertux" + "smplayer" + "epdfview" + "gpicview" + "abiword" + "gnumeric") + + #Install packages + pacstrap /mnt ${packages[@]} + user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) + + #Copie skel in the new system without scripts, other languages... + cp -a /etc/skel/ /mnt/etc/ + rm -r /mnt/etc/skel/.scriptsInstallation /mnt/etc/skel/.icewm/menuLanguages /mnt/etc/skel/.codecheck /mnt/etc/skel/.language.sh + cp -a /root/.icewm/menu /mnt/etc/skel/.icewm/menu + sed -i -e '/.scriptsInstallation/d' /mnt/etc/skel/.icewm/menu + sed -i -e '/language.sh/d' /mnt/etc/skel/.icewm/startup + + #Puts the XKBMAP, start X11 automatically and icewm desktop + echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc + echo "exec icewm-session" >> /mnt/etc/skel/.xinitrc + echo "startx" >> /mnt/etc/skel/.bash_profile + chmod +x /mnt/etc/skel/.xinitrc + cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ + cp -a cp ~/.scriptsInstallation/x11.sh /mnt + + #Enable services with systemd + chmod +x /mnt/x11.sh + arch-chroot /mnt /x11.sh + rm /mnt/x11.sh + ;; + *) + #Delete temporal file and umount partitions + rm -r /mnt/temporal + umount /mnt/boot &> /dev/null + umount /mnt/home &> /dev/null + umount /mnt &> /dev/null + exit + ;; + esac +done diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/systemConfig.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/systemConfig.sh new file mode 100755 index 0000000..8353cfb --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/systemConfig.sh @@ -0,0 +1,270 @@ +#!/bin/bash + +echo "$(dialog --stdout --inputbox "Introduce o nome do sistema:" 8 40)" > /etc/hostname + +ln -s /usr/share/zoneinfo/$(dialog --stdout --inputbox "Introduce a Zona Horaria:\nPor ejemplo: Europe/Athens" 8 40) /etc/localtime + +keymaps=( + "ANSI-dvorak ANSI-dvorak off" + "amiga-de amiga-de off" + "amiga-us amiga-us off" + "applkey applkey off" + "atari-de atari-de off" + "atari-se atari-se off" + "atari-uk-falcon atari-uk-falcon off" + "atari-us atari-us off" + "azerty azerty off" + "backspace backspace off" + "bashkir bashkir off" + "be-latin1 be-latin1 off" + "bg-cp1251 bg-cp1251 off" + "bg-cp855 bg-cp855 off" + "bg_bds-cp1251 bg_bds-cp1251 off" + "bg_bds-utf8 bg_bds-utf8 off" + "bg_pho-cp1251 bg_pho-cp1251 off" + "bg_pho-utf8 bg_pho-utf8 off" + "br-abnt br-abnt off" + "br-abnt2 br-abnt2 off" + "br-latin1-abnt2 br-latin1-abnt2 off" + "br-latin1-us br-latin1-us off" + "by by off" + "by-cp1251 by-cp1251 off" + "bywin-cp1251 bywin-cp1251 off" + "cf cf off" + "colemak colemak off" + "croat croat off" + "ctrl ctrl off" + "cz cz off" + "cz-cp1250 cz-cp1250 off" + "cz-lat2 cz-lat2 off" + "cz-lat2-prog cz-lat2-prog off" + "cz-qwertz cz-qwertz off" + "cz-us-qwertz cz-us-qwertz off" + "de de off" + "de-latin1 de-latin1 off" + "de-latin1-nodeadkeys de-latin1-nodeadkeys off" + "de-mobii de-mobii off" + "de_CH-latin1 de_CH-latin1 off" + "de_alt_UTF-8 de_alt_UTF-8 off" + "defkeymap defkeymap off" + "defkeymap_V1.0 defkeymap_V1.0 off" + "dk dk off" + "dk-latin1 dk-latin1 off" + "dvorak dvorak off" + "dvorak-ca-fr dvorak-ca-fr off" + "dvorak-es dvorak-es off" + "dvorak-fr dvorak-fr off" + "dvorak-l dvorak-l off" + "dvorak-r dvorak-r off" + "dvorak-ru dvorak-ru off" + "dvorak-sv-a1 dvorak-sv-a1 off" + "dvorak-sv-a5 dvorak-sv-a5 off" + "dvorak-uk dvorak-uk off" + "emacs emacs off" + "emacs2 emacs2 off" + "es es off" + "es-cp850 es-cp850 off" + "es-olpc es-olpc off" + "et et off" + "et-nodeadkeys et-nodeadkeys off" + "euro euro off" + "euro1 euro1 off" + "euro2 euro2 off" + "fi fi off" + "fr fr off" + "fr-bepo fr-bepo off" + "fr-bepo-latin9 fr-bepo-latin9 off" + "fr-latin1 fr-latin1 off" + "fr-latin9 fr-latin9 off" + "fr-pc fr-pc off" + "fr_CH fr_CH off" + "fr_CH-latin1 fr_CH-latin1 off" + "gr gr off" + "gr-pc gr-pc off" + "hu hu off" + "hu101 hu101 off" + "il il off" + "il-heb il-heb off" + "il-phonetic il-phonetic off" + "is-latin1 is-latin1 off" + "is-latin1-us is-latin1-us off" + "it it off" + "it-ibm it-ibm off" + "it2 it2 off" + "jp106 jp106 off" + "kazakh kazakh off" + "keypad keypad off" + "ky_alt_sh-UTF-8 ky_alt_sh-UTF-8 off" + "kyrgyz kyrgyz off" + "la-latin1 la-latin1 off" + "lt lt off" + "lt.baltic lt.baltic off" + "lt.l4 lt.l4 off" + "lv lv off" + "lv-tilde lv-tilde off" + "mac-be mac-be off" + "mac-de-latin1 mac-de-latin1 off" + "mac-de-latin1-nodeadkeys mac-de-latin1-nodeadkeys off" + "mac-de_CH mac-de_CH off" + "mac-dk-latin1 mac-dk-latin1 off" + "mac-dvorak mac-dvorak off" + "mac-es mac-es off" + "mac-euro mac-euro off" + "mac-euro2 mac-euro2 off" + "mac-fi-latin1 mac-fi-latin1 off" + "mac-fr mac-fr off" + "mac-fr_CH-latin1 mac-fr_CH-latin1 off" + "mac-it mac-it off" + "mac-pl mac-pl off" + "mac-pt-latin1 mac-pt-latin1 off" + "mac-se mac-se off" + "mac-template mac-template off" + "mac-uk mac-uk off" + "mac-us mac-us off" + "mk mk off" + "mk-cp1251 mk-cp1251 off" + "mk-utf mk-utf off" + "mk0 mk0 off" + "nl nl off" + "nl2 nl2 off" + "no no off" + "no-dvorak no-dvorak off" + "no-latin1 no-latin1 off" + "pc110 pc110 off" + "pl pl off" + "pl1 pl1 off" + "pl2 pl2 off" + "pl3 pl3 off" + "pl4 pl4 off" + "pt-latin1 pt-latin1 off" + "pt-latin9 pt-latin9 off" + "pt-olpc pt-olpc off" + "ro ro off" + "ro_std ro_std off" + "ro_win ro_win off" + "ru ru off" + "ru-cp1251 ru-cp1251 off" + "ru-ms ru-ms off" + "ru-yawerty ru-yawerty off" + "ru1 ru1 off" + "ru2 ru2 off" + "ru3 ru3 off" + "ru4 ru4 off" + "ru_win ru_win off" + "ruwin_alt-CP1251 ruwin_alt-CP1251 off" + "ruwin_alt-KOI8-R ruwin_alt-KOI8-R off" + "ruwin_alt-UTF-8 ruwin_alt-UTF-8 off" + "ruwin_alt_sh-UTF-8 ruwin_alt_sh-UTF-8 off" + "ruwin_cplk-CP1251 ruwin_cplk-CP1251 off" + "ruwin_cplk-KOI8-R ruwin_cplk-KOI8-R off" + "ruwin_cplk-UTF-8 ruwin_cplk-UTF-8 off" + "ruwin_ct_sh-CP1251 ruwin_ct_sh-CP1251 off" + "ruwin_ct_sh-KOI8-R ruwin_ct_sh-KOI8-R off" + "ruwin_ct_sh-UTF-8 ruwin_ct_sh-UTF-8 off" + "ruwin_ctrl-CP1251 ruwin_ctrl-CP1251 off" + "ruwin_ctrl-KOI8-R ruwin_ctrl-KOI8-R off" + "ruwin_ctrl-UTF-8 ruwin_ctrl-UTF-8 off" + "se-fi-ir209 se-fi-ir209 off" + "se-fi-lat6 se-fi-lat6 off" + "se-ir209 se-ir209 off" + "se-lat6 se-lat6 off" + "sg sg off" + "sg-latin1 sg-latin1 off" + "sg-latin1-lk450 sg-latin1-lk450 off" + "sk-prog-qwerty sk-prog-qwerty off" + "sk-prog-qwertz sk-prog-qwertz off" + "sk-qwerty sk-qwerty off" + "sk-qwertz sk-qwertz off" + "slovene slovene off" + "sr-cy sr-cy off" + "sun-pl sun-pl off" + "sun-pl-altgraph sun-pl-altgraph off" + "sundvorak sundvorak off" + "sunkeymap sunkeymap off" + "sunt4-es sunt4-es off" + "sunt4-fi-latin1 sunt4-fi-latin1 off" + "sunt4-no-latin1 sunt4-no-latin1 off" + "sunt5-cz-us sunt5-cz-us off" + "sunt5-de-latin1 sunt5-de-latin1 off" + "sunt5-es sunt5-es off" + "sunt5-fi-latin1 sunt5-fi-latin1 off" + "sunt5-fr-latin1 sunt5-fr-latin1 off" + "sunt5-ru sunt5-ru off" + "sunt5-uk sunt5-uk off" + "sunt5-us-cz sunt5-us-cz off" + "sunt6-uk sunt6-uk off" + "sv-latin1 sv-latin1 off" + "tj_alt-UTF8 tj_alt-UTF8 off" + "tr_f-latin5 tr_f-latin5 off" + "tr_q-latin5 tr_q-latin5 off" + "tralt tralt off" + "trf trf off" + "trf-fgGIod trf-fgGIod off" + "trq trq off" + "ttwin_alt-UTF-8 ttwin_alt-UTF-8 off" + "ttwin_cplk-UTF-8 ttwin_cplk-UTF-8 off" + "ttwin_ct_sh-UTF-8 ttwin_ct_sh-UTF-8 off" + "ttwin_ctrl-UTF-8 ttwin_ctrl-UTF-8 off" + "ua ua off" + "ua-cp1251 ua-cp1251 off" + "ua-utf ua-utf off" + "ua-utf-ws ua-utf-ws off" + "ua-ws ua-ws off" + "uk uk off" + "unicode unicode off" + "us us on" + "us-acentos us-acentos off" + "wangbe wangbe off" + "wangbe2 wangbe2 off" + "windowkeys windowkeys off" +) + +echo "KEYMAP=$(dialog --stdout --radiolist "Selecciona a distribucion do teclado" 20 70 50 ${keymaps[@]})" > /etc/vconsole.conf + +aux=$(sed -e '1,23d' -e 's/#//g' -e 's/ /#/g' -e 's/..$//' /etc/locale.gen) +index=0 +for i in $aux; do + i=$(echo $i | sed -e 's/#/ /g') + locales+=("$i" "$i" off) + if [[ $i == "en_US.UTF-8 UTF-8" || $i == "en_US ISO-8859-1" ]]; then + locales[$index]="$i" + locales[$((index+1))]="$i" + locales[$((index+2))]="on" + fi + index=$((index+3)) +done + +locale=$(dialog --stdout --checklist "Selecciona as Localizacions" 20 70 50 "${locales[@]}") +locale=$(echo ${locale} | sed -e 's/" "/\n/g' -e 's/ /#/g' -e 's/"//g') + +for i in ${locale[@]}; do + i=$(echo $i | sed -e 's/#/ /g') + sed -i -e "s/#$i/$i/g" /etc/locale.gen +done + +locale-gen + +aux=$(locale -a) +index=0 +for i in $aux; do + langs+=("$i" "$i" on) + index=$((index+1)) +done + +echo "LANG=$(dialog --stdout --radiolist "Selecciona o teu idioma" 20 70 50 ${langs[@]})" > /etc/locale.conf + +mkinitcpio -p linux-libre + +hdd=$(cat /temporal | grep 'hdd=') +grub-install ${hdd#*=} +grub-mkconfig -o /boot/grub/grub.cfg + +password=$(dialog --stdout --passwordbox "Insire o contrasinal para o administrador" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite o contrasinal para o administrador" 8 40) +done + +usermod -p $(openssl passwd ${password}) root + +exit diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/userAccount.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/userAccount.sh new file mode 100755 index 0000000..aa1d33a --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/language/gl/userAccount.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +user=$(cat /temporal | grep "userName") + +password=$(dialog --stdout --passwordbox "Introduce o contrasinal para o usuario ${user#*=}" 8 40) + +while [[ $password != $password2 ]]; do + password2=$(dialog --stdout --passwordbox "Repite o contrasinal" 8 40) +done + +useradd -m -g users -G "wheel" -s /bin/bash -p $(openssl passwd $password) ${user#*=} + +exit diff --git a/configs/X11/root-image/etc/skel/.scriptsInstallation/x11.sh b/configs/X11/root-image/etc/skel/.scriptsInstallation/x11.sh new file mode 100755 index 0000000..34bf396 --- /dev/null +++ b/configs/X11/root-image/etc/skel/.scriptsInstallation/x11.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +systemctl enable NetworkManager |