You are not logged in.
I want to share my archlinux install script dat i use after do a fresh install, if u have any idea of how to make it better pls post here
#!/bin/bash
# By helmuthdu
#custom repositories #{{{
read -p "Install custom repositories [y][n]: " OPTION
if [ $OPTION = "y" ]; then
echo -e '[ayatana]\nServer = http://repo.ayatana.info/' >> /etc/pacman.conf
fi
#}}}
#system update #{{{
pacman -Syu
read -p "Reboot your system [y][n]: " OPTION
if [ $OPTION = "y" ]; then
reboot
fi
#}}}
#create a new user #{{{
read -p "New user name: " USERNAME
useradd -m -g users -G users,audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash $USERNAME
passwd $USERNAME
#set user as sudo #{{{
pacman -S --noconfirm sudo
EDITOR=nano visudo
#}}}
#}}}
#install yaourt #{{{
read -p "Install yaourt [y][n]" OPTION
if [ $OPTION = "y" ]; then
pacman -S --noconfirm base-devel yajl
su -l $USERNAME --command="
wget http://aur.archlinux.org/packages/package-query/package-query.tar.gz;
tar zxvf package-query.tar.gz;
cd package-query;
makepkg --noconfirm -si;
cd ..;
rm -fr package-query*
"
su -l $USERNAME --command="
wget http://aur.archlinux.org/packages/yaourt/yaourt.tar.gz;
tar zxvf yaourt.tar.gz;
cd yaourt;
makepkg --noconfirm -si;
cd ..;
rm -fr yaourt*
"
fi
#}}}
#base system #{{{
pacman -S --noconfirm curl bc rsync mlocate bash-completion vim
pacman -S --noconfirm gutenprint foomatic-db foomatic-db-engine foomatic-db-nonfree foomatic-filters hplip splix cups-pdf
pacman -S --noconfirm ntfs-3g ntfsprogs
pacman -S --noconfirm rssh openssh samba
#configure ssh/samba #{{{
echo -e "sshd: ALL\n# End of file" > /etc/hosts.allow
echo -e "ALL: ALL: DENY\n# End of file" > /etc/hosts.deny
cp /etc/samba/smb.conf.default /etc/samba/smb.conf
#ssh_conf #{{{
sed -i '/ListenAddress/s/^#//' /etc/ssh/sshd_config
sed -i '/SyslogFacility/s/^#//' /etc/ssh/sshd_config
sed -i '/LogLevel/s/^#//' /etc/ssh/sshd_config
sed -i '/LoginGraceTime/s/^#//' /etc/ssh/sshd_config
sed -i '/PermitRootLogin/s/^#//' /etc/ssh/sshd_config
sed -i '/StrictModes/s/^#//' /etc/ssh/sshd_config
sed -i '/RSAAuthentication/s/^#//' /etc/ssh/sshd_config
sed -i '/PubkeyAuthentication/s/^#//' /etc/ssh/sshd_config
sed -i '/IgnoreRhosts/s/^#//' /etc/ssh/sshd_config
sed -i '/PermitEmptyPasswords/s/^#//' /etc/ssh/sshd_config
sed -i '/X11Forwarding/s/^#//' /etc/ssh/sshd_config
sed -i '/X11Forwarding/s/no/yes/' /etc/ssh/sshd_config
sed -i '/X11DisplayOffset/s/^#//' /etc/ssh/sshd_config
sed -i '/X11UseLocalhost/s/^#//' /etc/ssh/sshd_config
sed -i '/PrintMotd/s/^#//' /etc/ssh/sshd_config
sed -i '/PrintMotd/s/yes/no/' /etc/ssh/sshd_config
sed -i '/PrintLastLog/s/^#//' /etc/ssh/sshd_config
sed -i '/TCPKeepAlive/s/^#//' /etc/ssh/sshd_config
#}}}
#}}}
pacman -S --noconfirm tar gzip bzip2 unzip unrar p7zip
pacman -S --noconfirm alsa-utils alsa-oss alsa-plugins
sed -i '/MODULES/s/MODULES=(/&fuse/' /etc/rc.conf
#}}}
#install video driver #{{{
pacman -S --noconfirm xorg-server xorg-xinit xorg-utils xorg-server-utils xorg-xauth xf86-input-evdev xf86-input-synaptics
pacman -S --noconfirm mesa mesa-demos
read -p "Video driver (intel|nvidia|nouveau|virtualbox): " VIDEO
if [ $VIDEO = "intel" ]; then
pacman -S --noconfirm libgl xf86-video-intel
elif [ $VIDEO = "nvidia" ]; then
pacman -S nvidia nvidia-utils
elif [ $VIDEO = "nouveau" ]; then
pacman -S --noconfirm libgl xf86-video-nouveau nouveau-dri
modprobe nouveau
sed -i '/MODULES/s/^[^ ]*\>/& nouveau/' /etc/rc.conf
elif [ $VIDEO = "virtualbox" ]; then
pacman -S --noconfirm virtualbox-archlinux-additions
modprobe -a vboxguest vboxsf vboxvideo
sed -i '/MODULES/s/^[^ ]*\>/& vboxguest vboxsf vboxvideo/' /etc/rc.conf
groupadd vboxsf
gpasswd -a $USERNAME vboxsf
fi
#}}}
#git access thru a firewall #{{{
#this config help me to bypass the company firewall for git access
TOR=""
read -p "config git access thru a firewall [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm gtk-doc openbsd-netcat vidalia privoxy git"
echo 'forward-socks5 / 127.0.0.1:9050 .' >> /etc/privoxy/config
echo -e '#!/bin/bash\nnc.openbsd -xlocalhost:9050 -X5 $*' >> /usr/bin/proxy-wrapper
chmod +x /usr/bin/proxy-wrapper
echo -e '\nexport GIT_PROXY_COMMAND="/usr/bin/proxy-wrapper"' >> /etc/bash.bashrc
export GIT_PROXY_COMMAND="/usr/bin/proxy-wrapper"
groupadd -g 42 privoxy
useradd -u 42 -g privoxy -s /bin/false -d /etc/privoxy privoxy
pacman -S --noconfirm tor privoxy
rc.d restart tor privoxy
su -l $USERNAME --command="sudo /etc/rc.d/tor restart"
su -l $USERNAME --command="sudo /etc/rc.d/privoxy restart"
TOR="tor privoxy"
fi
#}}}
#install desktop environment #{{{
read -p "Desktop Environment (Gnome|KDE): " DE
#gnome #{{{
if [ $DE = "gnome" ]; then
#desktop #{{{
pacman -S --noconfirm gnome gnome-extra
pacman -S --noconfirm gamin pulseaudio-gnome gnome-tweak-tool telepathy deja-dup
pacman -S --noconfirm gnome-packagekit gnome-settings-daemon-updates
pacman -Rdd --noconfirm sushi
su -l $USERNAME --command="yaourt -S --noconfirm gloobus-sushi-bzr"
su -l $USERNAME --command="yaourt -S --noconfirm gnome-shell-system-monitor-applet-git gnome-shell-extension-noa11y-git gnome-shell-extension-weather-git gnome-shell-extension-user-theme gnome-shell-extension-workspace-indicator gnome-shell-extension-places-menu gnome-shell-extension-dock gnome-shell-extension-pomodoro gnome-shell-extension-mediaplayer-git"
#}}}
#aparencia #{{{
su -l $USERNAME --command="yaourt -S --noconfirm faience-icon-theme elementary-icons"
su -l $USERNAME --command="yaourt -S --noconfirm zukitwo-themes light-themes-bzr egtk-bzr"
su -l $USERNAME --command="yaourt -S --noconfirm gnome-shell-theme-faience gnome-shell-theme-nord gnome-shell-theme-eos"
#}}}
#acessórios #{{{
su -l $USERNAME --command="yaourt -S --noconfirm docky guake gpaste kupfer automounter"
su -l $USERNAME --command="yaourt -S --noconfirm gnome-activity-journal libzeitgeist zeitgeist-datahub zeitgeist-extensions"
su -l $USERNAME --command="yaourt -S --noconfirm gedit-plugins gedit-latex"
su -l $USERNAME --command="yaourt -S --noconfirm nautilus-open-terminal nautilus-terminal nautilus-dropbox gnome-defaults-list"
su -l $USERNAME --command="echo -e '[general]\ndef_term_height=10\ndef_visible=0\n\n[terminal]\nshell=/bin/bash' > ~/.nautilus-terminal"
#}}}
#escritório #{{{
pacman -S --noconfirm libreoffice-pt-BR libreoffice-{base,calc,draw,impress,math,writer,gnome} libreoffice-extension-presenter-screen libreoffice-extension-pdfimport
pacman -S --noconfirm chmsee
#}}}
#impressão #{{{
pacman -S --noconfirm system-config-printer-gnome
#}}}
#graficos #{{{
pacman -S --noconfirm shotwell
#}}}
#internet #{{{
#networkmanager #{{{
NETWORKMANAGER="network"
read -p "Install networkmanager [y][n]: " OPTION
if [ $OPTION = "y" ]; then
pacman -S --noconfirm networkmanager network-manager-applet
groupadd networkmanager
gpasswd -a $USERNAME networkmanager
NETWORKMANAGER="networkmanager"
fi
#}}}
#}}}
#multimedia #{{{
su -l $USERNAME --command="yaourt -S --noconfirm exaile exfalso transmageddon"
#arista #{{{
read -p "Install arista [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm arista-transcoder"
fi
#}}}
#}}}
#outros #{{{
pacman -S --noconfirm gksu gvfs-smb xdg-user-dirs
su -l $USERNAME --command="yaourt -S --noconfirm figlet cowsay conky-lua"
#}}}
LOGINMANAGER=gdm
#}}}
#KDE #{{{
elif [ $DE = "kde" ]; then
#desktop #{{{
pacman -S --noconfirm kde kde-l10n-pt_br yakuake
pacman -Rcsn --noconfirm kdenetwork-kopete kdemultimedia-kscd kdemultimedia-juk kdemultimedia-dragonplayer
#}}}
#aparencia #{{{
su -l $USERNAME --command="yaourt -S --noconfirm chakra-gtk-config"
su -l $USERNAME --command="yaourt -S --noconfirm oxygen-gtk qtcurve-gtk2 qtcurve-kde4"
su -l $USERNAME --command="yaourt -S --noconfirm kfaenza-icon-theme"
su -l $USERNAME --command="yaourt -S --noconfirm yakuake-skin-plasma-oxygen-panel plasma-icontasks plasma-theme-caledonia kdm-theme-caledonia ksplash-caledonia bespin-svn"
#}}}
# impressão #{{{
pacman -S --noconfirm kdeadmin-system-config-printer-kde
#}}}
# escritório #{{{
pacman -S --noconfirm libreoffice-pt-BR libreoffice-{base,calc,draw,impress,math,writer,kde4} libreoffice-extension-presenter-screen libreoffice-extension-pdfimport
pacman -S --noconfirm kchmviewer
#}}}
#graficos #{{{
pacman -S --noconfirm digikam kipi-plugins
#}}}
#internet #{{{
pacman -S --noconfirm choqok
pacman -S --noconfirm telepathy-kde telepathy
#networkmanager #{{{
NETWORKMANAGER="network"
read -p "Install networkmanager [y][n]: " OPTION
if [ $OPTION = "y" ]; then
pacman -S --noconfirm networkmanager kdeplasma-applets-networkmanagement
groupadd networkmanager
gpasswd -a $USERNAME networkmanager
NETWORKMANAGER="networkmanager"
fi
#}}}
#}}}
#multimediaa #{{{
pacman -S --noconfirm amarok k3b dvd+rw-tools
su -l $USERNAME --command="yaourt -S --noconfirm vlc phonon-vlc"
su -l $USERNAME --command="yaourt -S --noconfirm minitube musique bangarang"
#}}}
# sistema #{{{
su -l $USERNAME --command="yaourt -S --noconfirm kdirwatch kcm-wacomtablet quickaccess-plasmoid"
su -l $USERNAME --command="yaourt -S --noconfirm apper-git"
#}}}
LOGINMANAGER=kdm
fi
#}}}
#desenvolvimento #{{{
#qtcreator #{{{
read -p "Install qtcreator [y][n]: " OPTION
if [ $OPTION = "y" ]; then
pacman -S --noconfirm qtcreator qt-doc
mkdir -p /home/$USERNAME/.config/Nokia/qtcreator/styles
wget http://angrycoding.googlecode.com/svn/branches/qt-creator-monokai-theme/monokai.xml
mv monokai.xml /home/$USERNAME/.config/Nokia/qtcreator/styles/
chown -R $USERNAME:users /home/$USERNAME/.config
fi
#}}}
#gvim #{{{
read -p "Install gvim [y][n]: " OPTION
if [ $OPTION = "y" ]; then
pacman -Rdd --noconfirm vim
pacman -S --noconfirm gvim meld splint tidyhtml pyflakes ctags wmctrl
su -l $USERNAME --command="yaourt -S --noconfirm jsl"
sed -i '/Icon/s/gvim/vim/g' /usr/share/applications/gvim.desktop
fi
#}}}
#}}}
#acessórios #{{{
read -p "Install wunderlist [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm wunderlist"
fi
#}}}
#escritório #{{{
pacman -S --noconfirm aspell-pt
su -l $USERNAME --command="yaourt -S --noconfirm hunspell-pt-br"
read -p "Install Latex support [y][n]: " OPTION
if [ $OPTION = "y" ]; then
pacman -S --noconfirm texlive-latexextra texlive-langextra lyx
su -l $USERNAME --command="yaourt -S --noconfirm abntex"
fi
#}}}
#ferramentas de sistema #{{{
pacman -S --noconfirm htop grsync
pacman -S --noconfirm wine wine_gecko winetricks
su -l $USERNAME --command="yaourt -S --noconfirm toilet figlet cowsay conky-lua-old"
read -p "Install Virtualbox [y][n]: " OPTION
if [ $OPTION = "y" ]; then
pacman -S --noconfirm virtualbox virtualbox-additions
su -l $USERNAME --command="yaourt -S --noconfirm virtualbox-ext-oracle"
modprobe vboxdrv
sed -i '/MODULES/s/^[^ ]*\>/& vboxdrv/' /etc/rc.conf
groupadd vboxusers
gpasswd -a $USERNAME vboxusers
fi
#}}}
#graficos #{{{
pacman -S --noconfirm gimp inkscape uniconvertor python2-numpy python-lxml
su -l $USERNAME --command="yaourt -S --noconfirm xmind"
su -l $USERNAME --command="yaourt -S --noconfirm gimp-paint-studio gimp-resynth gimpfx-foundry gimp-plugin-pandora gimp-plugin-saveforweb"
#}}}
#internet #{{{
pacman -S --noconfirm firefox firefox-i18n-pt-br thunderbird thunderbird-i18n-pt-br flashplugin
pacman -Rdd --noconfirm jre7-openjdk jdk7-openjdk
su -l $USERNAME --command="yaourt -S --noconfirm jdk"
su -l $USERNAME --command="yaourt -S --noconfirm google-chrome jdownloader"
LAMP=""
read -p "Install LAMP [y][n]: " OPTION
if [ $OPTION = "y" ]; then
pacman -S --noconfirm apache mysql php php-apache php-mcrypt php-gd
su -l $USERNAME --command="yaourt -S --noconfirm adminer"
rc.d restart httpd mysqld
/usr/bin/mysql_secure_installation
echo -e '\n# adminer configuration\nInclude conf/extra/httpd-adminer.conf' >> /etc/httpd/conf/httpd.conf
echo -e 'application/x-httpd-php php' >> /etc/httpd/conf/mime.types
echo -e '\n# Use for PHP 5.x:\nInclude conf/extra/php5_module.conf\nLoadModule php5_module modules/libphp5.so\nAddHandler php5-script php' >> /etc/httpd/conf/httpd.conf
sed -i 's/DirectoryIndex\ index.html/DirectoryIndex\ index.html\ index.php/g' /etc/httpd/conf/httpd.conf
sed -i 's/public_html/Sites/g' /etc/httpd/conf/extra/httpd-userdir.conf
sed -i '/mcrypt.so/s/^;//' /etc/php/php.ini
sed -i '/mysqli.so/s/^;//' /etc/php/php.ini
sed -i '/mysql.so/s/^;//' /etc/php/php.ini
sed -i '/gd.so/s/^;//' /etc/php/php.ini
su -l $USERNAME --command="mkdir -p ~/Sites"
su -l $USERNAME --command="chmod 775 ~/ && chmod -R 775 ~/Sites"
rc.d restart httpd mysqld
LAMP="httpd mysqld"
fi
#}}}
#jogos #{{{
read -p "Install Games [y][n]: " OPTION
if [ $OPTION = "y" ]; then
read -p "Install Astromenace [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm astromenace"
fi
read -p "Install Maniadrive [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm maniadrive"
fi
read -p "Install World of Padman [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm worldofpadman"
fi
read -p "Install Wesnoth [y][n]: " OPTION
if [ $OPTION = "y" ]; then
read -p "Install Devel Version [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm wesnoth-devel"
else
pacman -S --noconfirm wesnoth
fi
fi
read -p "Install Simutrans [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm simutrans"
fi
read -p "Install Heroes of Newerth [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm hon"
fi
read -p "Install Tales of Maj'Eyal: Age of Ascendancy [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm tome4"
fi
read -p "Install Numptyphysics [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm numptyphysics-svn"
fi
read -p "Install Counter-Strike 2D [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm counter-strike-2d"
fi
read -p "Install M.A.R.S. [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm mars-shooter"
fi
read -p "Install SuperTuxKart [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm supertuxkart"
fi
read -p "Install OpenTyrian [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm opentyrian-hg"
fi
read -p "Install Warsow [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm warsow"
fi
read -p "Install Doukutsu [y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm doukutsu"
fi
fi
#}}}
#multimedia #{{{
su -l $USERNAME --command="yaourt -S --noconfirm gstreamer0.10-plugins pulseaudio"
su -l $USERNAME --command="yaourt -S --noconfirm libquicktime libdvdread libdvdnav libdvdcss codecs cdrdao"
su -l $USERNAME --command="yaourt -S --noconfirm xbmc"
read -p "Install midi support[y][n]: " OPTION
if [ $OPTION = "y" ]; then
su -l $USERNAME --command="yaourt -S --noconfirm timidity++ fluidr3"
echo -e 'soundfont /usr/share/soundfonts/fluidr3/FluidR3GM.SF2' >> /etc/timidity++/timidity.cfg
fi
#}}}
#font #{{{
su -l $USERNAME --command="yaourt -S --noconfirm ttf-ms-fonts ttf-dejavu ttf-liberation ttf-kochi-substitute ttf-google-webfonts ttf-roboto"
read -p "Install patched font configuration [(i)nfinity][(u)buntu][(n)one]: " OPTION
if [ $OPTION = "i" ]; then
pacman -Rdd --noconfirm freetype2
su -l $USERNAME --command="yaourt -S freetype2-infinality"
wget http://www.infinality.net/files/local.conf
mv local.conf /etc/fonts/
elif [ $OPTION = "u" ]; then
pacman -Rdd --noconfirm cairo fontconfig freetype2 libxft
su -l $USERNAME --command="yaourt -S --noconfirm cairo-ubuntu fontconfig-ubuntu freetype2-ubuntu"
fi
#}}}
# misc #{{{
#}}}
#}}}
#configure rc.conf #{{{
sed -i /"DAEMONS"/d /etc/rc.conf
echo "DAEMONS=(syslog-ng crond alsa sshd samba dbus cupsd $TOR $LAMP $LOGINMANAGER $NETWORKMANAGER)" >> /etc/rc.conf
#}}}
echo "System configuration complete"
#reboot #{{{
read -p "Reboot your system [y][n]: " OPTION
if [ $OPTION = "y" ]; then
reboot
fi
#}}}
Last edited by helmuthdu (2011-11-17 22:05:09)
Offline