diff --git a/post-install.sh b/post-install.sh index 19ed32b..a11bcf8 100755 --- a/post-install.sh +++ b/post-install.sh @@ -1,5 +1,5 @@ -#! /bin/sh - +#! / +bin/sh echo 'Arch Linux Postinstall' @@ -52,6 +52,11 @@ cp $_cwd/assets/liquiprompt /home/$USER/.config/ # sudo pacman -S --needed --noconfirm bash-completion source /home/$USER/.bashrc +touch /home/$USER/.inputrc +echo 'set show-all-if-ambiguous on' >> /home/$USER/.inputrc +echo 'set completion-ignore-case on' >> /home/$USER/.inputrc + + # vim echo 'vim configuration' sleep 3 @@ -60,21 +65,12 @@ cp $_cwd/assets/vimrc /home/$USER/.vimrc sudo cp $_cwd/assets/vim /root/.vim sudo cp $_cwd/assets/vimrc /root/.vimrc -echo 'Misc' -sleep 3 -touch /home/$USER/.inputrc -echo 'set show-all-if-ambiguous on' >> /home/$USER/.inputrc -echo 'set completion-ignore-case on' >> /home/$USER/.inputrc - echo 'Git Completion' sleep 3 sudo pacman -S --needed --noconfirm bash-completion wget sudo mkdir /etc/bash_completion.d sudo wget -O /etc/bash_completion.d/git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -echo 'increase inotify watch limit' -sleep 3 -sudo cp $_cwd/assets/90-inotify.conf /etc/sysctl.d/ # Yaourt echo -n "install Yaourt [Y|n] " @@ -96,8 +92,18 @@ if [ "$yaourt" == "y" ]; then echo "EDITFILES=1" >> ~/.yaourtrc fi +# network & Bluetooth +sudo pacman -S --needed --noconfirm networkmanager networkmanager-openvpn rfkill +sudo systemctl enable NetworkManager +sudo systemctl start NetworkManager +sudo systemctl enable bluetooth +sudo systemctl start bluetooth + +# misc +sudo pacman -S --needed --noconfirm rsync acpi parted imagemagick + # Display Manager -echo -n "install Graphical Display Part 1 : Xorg server? [Y|n] " +echo -n "install Graphical Display Part 1 : Xorg server (you will have to reboot at the end of part 1)? [Y|n] " read yn yn=${yn:-y} if [ "$yn" == "y" ]; then @@ -116,24 +122,69 @@ read yn yn=${yn:-y} if [ "$yn" == "y" ]; then sudo pacman -S --needed --noconfirm --force plasma-meta - sudo pacman -S --needed --noconfirm ttf-dejavu ttf-liberationi - sudo systemctl enable NetworkManager - sudo systemctl start NetworkManager + sudo pacman -S --needed --noconfirm ttf-dejavu ttf-liberationi ttf-droid fi echo "install basic packages? [Y|n]" read yn yn=${yn:-y} if [ "$yn" == "y" ]; then - sudo pacman -S --needed --noconfirm systemd-kcm bluedevil rfkill + sudo pacman -S --needed --noconfirm systemd-kcm bluedevil sudo pacman -S --needed --noconfirm dolphin dolphin-plugins - sudo pacman -S --needed --noconfirm kmail korganizer kdeconnect - sudo pacman -S --needed --noconfirm chromium terminator + sudo pacman -S --needed --noconfirm kmail korganizer kdeconnect pidgin + sudo pacman -S --needed --noconfirm chromium terminator gparted + sudo pacman -S --needed --noconfirm digikam if [ "$yaourt" == "y" ]; then yaourt -S atom-editor fi fi +# cloud +sudo pacman -S --needed --noconfirm owncloud-client syncthings +echo 'increase inotify watch limit' +sleep 3 +sudo cp $_cwd/assets/90-inotify.conf /etc/sysctl.d/ + +# LAMP +# https://wiki.archlinux.org/index.php/Apache_HTTP_Server +echo -n "Install apache php mysql? [Y|n] " +read yn +yn=${yn:-y} +if [ "$yn" == "y" ]; then + # install packages + sudo pacman -S --needed --noconfirm apache php php-apache mariadb phpmyadmin php-mcrypt + # configure apache + sudo sed -i.back 's/^LoadModule mpm_event_module modules\/mod_mpm_event\.so$/#&/' /etc/httpd/conf/httpd.conf + sudo sed -i.back 's/^#LoadModule mpm_prefork_module modules\/mod_mpm_prefork\.so$/LoadModule mpm_prefork_module modules\/mod_mpm_prefork.so/' /etc/httpd/conf/httpd.conf + sudo sed -i.back 's/^#LoadModule rewrite_module modules\/mod_rewrite\.so$/LoadModule rewrite_module modules\/mod_rewrite.so/' /etc/httpd/conf/httpd.conf + # configure vhosts folder + sudo mkdir /etc/httpd/conf/vhosts + sudo sed -i.back 's/^#Include conf\/extra\/httpd-vhosts\.conf$/&\nInclude conf\/vhosts\/*.conf/' /etc/httpd/conf/httpd.conf + # configure apache for php + sudo sed -i.back 's/^LoadModule dir_module modules\/mod_dir\.so$/&\nLoadModule php5_module modules\/libphp5.so/' /etc/httpd/conf/httpd.conf + sudo sh -c "echo 'Include conf/extra/php5_module.conf' >> /etc/httpd/conf/httpd.conf" + # configure php + sudo sed -i.back 's/^memory_limit.*$/memory_limit = 512M/' /etc/php/php.ini + sudo sed -i.back 's/^error_reporting.*$/error_reporting = E_ALL \& ~E_NOTICE/' /etc/php/php.ini + sudo sed -i.back 's/;extension=gd\.so/extension=gd.so/' /etc/php/php.ini + # configure php for mysql + sudo sed -i.back 's/;extension=pdo_mysql\.so/extension=pdo_mysql.so/' /etc/php/php.ini + # configure mysql + sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql + mysql_secure_installation + sudo sed -i.back 's/^log-bin=mysql-bin$/#&/' /etc/mysql/my.cnf + sudo sed -i.back 's/^max_allowed_packet.*$/max_allowed_packet = 16M/' /etc/mysql/my.cnf + # configure phpmyadmin + sudo sed -i.back 's/;extension=mcrypt\.so/extension=mcrypt.so/' /etc/php/php.ini + sudo sed -i.back 's/;extension=bz2\.so/extension=bz2.so/' /etc/php/php.ini + sudo sed -i.back 's/;extension=zip\.so/extension=zip.so/' /etc/php/php.ini + sudo sed -i.back 's/^open_basedir = .*$/&:\/etc\/webapps\//' /etc/php/php.ini + # todo : add custom basedir + # todo : instal drush +fi + + +# GPG echo 'Setup a gpg encripting' echo 'see https://wiki.archlinux.org/index.php/GnuPG' echo -n "create your gpg encrypting key? [Y|n] " @@ -143,21 +194,7 @@ if [ "$yn" == "y" ]; then gpg --full-gen-key fi - - - - - - - - - - - - - - - +# END echo -n "Reboot? [Y|n] " read yn yn=${yn:-y}