Archlinux config

All steps i reproduced to set my Archlinux config. You can find all the config files and system configuration files for my Archlinux to set up a nice environment for development and daily use.

Table of Contents

Config files
Zsh
Xfce4 Config
nVidia Optimus Bumblebee
linux-ck Brain Fuck Scheduler (BFS)
Packages for programming
Sublime Text 3 config
Power managment
Firewall Configuration
Better Fonts with Infinality fonts
Source of all files

Config files

Screenshots

Archlinux desktop

Archlinux with xfce4

Guake colors

Guake colors

Zsh

pacman -S zsh zsh-completions
wget --no-check-certificate http://install.ohmyz.sh -O - | sh
sudo wget --no-check-certificate http://install.ohmyz.sh -O - | sh
chsh -s /bin/zsh
sudo chsh -s /bin/zsh

Xfce4 Config

1. xfce4 extras

#xfce4 devel
yaourt -S libxfce4ui-devel xfwm4-devel xfdesktop-devel xfce4-settings-devel xfce4-session-devel

pacman -S lxtask ffmpegthumbnailer poppler-glib gvfs gvfs-smb sshfs xdg-user-dirs xdg-user-dirs-gtk guake pavucontrol pulseaudio-alsa lib32-alsa-plugins lib32-libpulse
yaourt -S xfce4-volumed-pulse xfce4-whiskermenu-plugin menulibre
xdg-user-dirs-update
xdg-user-dirs-gtk-update

2. xfce4 eyecandy

yaourt -S xfce-theme-greybird xcursor-human elementary-xfce-icons-git

2.1 Cursor theme

nano /usr/share/icons/default/index.theme

[Icon Theme]
Inherits=Human

3. xfce4 Lightdm integration

pacman -S lightdm-gtk2-greeter light-locker

nano /etc/lightdm/lightdm.conf

[SeatDefaults]
greeter-session=lightdm-gtk-greeter

3.1 Wallpaper lightdm

cp path/to/wallpaper.png /usr/share/pixmaps/wallpaper.png

3.2 lightdm-gtk-greeter

nano /etc/lightdm/lightdm-gtk-greeter.conf

[greeter]
background= /usr/share/pixmaps/wallpaper.png
theme-name=Greybird
icon-theme-name=elementary-xfce

4. xfce4 Lightdm lightlock

4.1 Create systemd service

nano /etc/systemd/system/lock.service

[Unit]
Description=Lock X session
Before=suspend.target

[Service]
Type=oneshot
ExecStart=/usr/bin/xflock4

[Install]
WantedBy=suspend.target

4.2 Enable systemd service

systemctl enable lock

4.3 Add light-locker to xflock4 script

nano /usr/bin/xflock4

#!/bin/sh
light-locker-command -l

Source Xlock config

nVidia Optimus Bumblebee

pacman -S bumblebee bbswitch primus lib32-primus lib32-virtualgl nvidia lib32-nvidia-utils
gpasswd -a diego bumblebee
systemctl enable bumblebeed

nano /etc/mkinitcpio.conf

MODULES="i915 bbswitch"

nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet rcutree.rcu_idle_gp_delay=1"

lspci | grep VGA | grep NVIDIA

nano /etc/bumblebee/xorg.conf.nvidia

BusID "PCI:01:00:0"

Source Bumblebee config

linux-ck Brain Fuck Scheduler

pacman-key -r 5EE46C4C
pacman-key --lsign-key 5EE46C4C
pacman -S linux-ck-ivybridge linux-ck-ivybridge-headers nvidia-ck-ivybridge
yaourt -S bbswitch-ck acpi_call-ck
grub-mkconfig -o /boot/grub/grub.cfg

Packages for programming

pacman -S mariadb mongodb ruby openssh nodejs apache php php-apache php-mcrypt php-gd php-composer gdb virtualbox jdk7-openjdk jre7-openjdk jre7-openjdk-headlessc clang qtcreator virtualbox-host-dkms

pacman -S postgresql php-pgsql pgadmin3

pacman -S xampp
sudo ln -s ~/public_html /opt/lampp/htdocs/$USER

yaourt -S sublime-text-dev virtualbox-ext-oracle

npm install -g bower gulp grunt-cli yo sails generator-gulp-angular  generator-angular

#games
pacman -S tiled tinyxml sdl sdl_image sdl_gfx sfml

#Networking
pacman -S whois nmap wireshark-cli wireshark-gtk john aircrack-ng

Sublime Text 3 config

1. Install Package Control

Open Sublime Text 3 and hit ctrl+ยด shortcut or the View > Show Console menu, then enter the following:

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

2.Install and load packages (ctrl-Shift-P)

3. Load user settings from Sublime Text 3 config

PostgreSQL config

sed -i '/pgsql.so/s/^;//' /etc/php/php.ini
su - postgres -c "initdb --locale es_CL.UTF-8 -D '/var/lib/postgres/data'"
chown -R postgres:postgres /var/lib/postgres
systemctl start postgresql

Mariadb config

systemctl start mysqld && /usr/bin/mysql_secure_installation

Power managment

pacman -S  tlp lm_sensors smartmontools lsb-release ethtool iw
systemctl enable tlp
sensors-detect

Network Manager

pacman -S networkmanager networkmanager-openconnect network-manager-applet dnsmasq
systemctl enable NetworkManager

Bluetooth

yaourt -S blueman-git
systemctl enable bluetooth

Firewall Configuration

pacman -S iptables
systemctl enable iptables && systemctl start iptables

Set rules

#block all conections
iptables -P INPUT DROP
#allow all conections for localhost
iptables -A INPUT -i lo -j ACCEPT
#allow all conections established by localhost
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Save rules

iptables-save > /etc/iptables/iptables.rules
systemctl reload iptables

Other stuff

pacman -S conky clementine gpicview wine winetricks wine_gecko xdelta3 pkgstats firefox-adblock-plus  firefox-i18n-es-cl transmission-gtk filezilla xchat  wget mpv libva libva-intel-driver thunderbird-i18n-es-ar  gtk-recordmydesktop skype galculator bleachbit preload ntfs-3g archey3 chromium flashplugin
#fix errors logs wine
pacman -S lib32-ncurses lib32-mpg123
yaourt -S profile-sync-daemon anything-sync-daemon chromium-pepper-flash
#gaming
pacman -S steam desmume

#Multimedia extras
pacman -S  gimp gimp-plugin-gmic inkscape blender mkvtoolnix-gtk soundconverter
yaourt -S jdownloader2 teamspeak3 animecheck-git radiotray
#Ofimatic
pacman -S libreoffice-fresh-es hunspell-es hyphen-es libmythes mythes-es

#LaTeX
pacman -S texlive-core texlive-bibtexextra texlive-htmlxml texlive-humanities texlive-latexextra texlive-pictures texlive-publishers  texlive-science

Compressed Files

pacman -S file-roller
pacman -S unrar zip unzip xz tar gzip bzip2 rpmextract

Better Fonts with Infinality fonts

nano /etc/pacman.con

[infinality-bundle]
Server = http://bohoomil.com/repo/$arch

[infinality-bundle-multilib]
Server = http://bohoomil.com/repo/multilib/$arch

[infinality-bundle-fonts]
Server = http://bohoomil.com/repo/fonts
pacman -S infinality-bundle infinality-bundle-multilib

pacman -S ibfonts-meta-base ibfonts-meta-extended-lt adobe-source-sans-pro-fonts adobe-source-serif-pro-fonts ttf-meslo-fonts-ibx otf-source-code-pro-pwl-ibx 

#Oriental fonts
pacman -S adobe-source-han-sans-cn-fonts adobe-source-han-sans-jp-fonts adobe-source-han-sans-jp-fonts adobe-source-han-sans-otc-fonts adobe-source-han-sans-tw-fonts ttf-roboto-ibx

Source of all files

The config files can be found in my repo in github