In this post, I will continue from my last
post and set up my newly installed Arch
Linux for daily use. I am going to install some applications that I use on a day
to day basis. Some of these applications are required for my current dotfile
configuration setup to work properly. The
choice of applications is highly opinionated and your preferences might be
different.
If you had gone for installation via SSH option, then I would suggest you to
edit your
sshd_config file and disable root login. It can be a security risk
otherwise.Terminal-based browsers are very handy in cases when you are required to login
into a captive portal and you don't have access to a graphical browser. We will
install two different browsers,
elinks and w3m.bash
sudo pacman -S elinks w3mbash
sudo pacman -S xorgThis will install minimal X desktop environment with fonts, in case, you want to
test your system before installing any desktop environment.
To enable multilib repository, uncomment the
[multilib] section in
/etc/pacman.conf.bash
[multilib]
Include = /etc/pacman.d/mirrorlistNow upgrade your system.
bash
sudo pacman -Syyubash
sudo pacman -S xf86-video-intel xf86-input-synapticsbash
sudo pacman -S expac yajl --noconfirm
cd /tmp
gpg --recv-keys --keyserver hkp://pgp.mit.edu:80 1EB2638FF56C0C53
curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=cower
makepkg -i PKGBUILD --noconfirm
curl -o PKGBUILD https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pacaur
makepkg -i PKGBUILD --noconfirm
cdbash
pacaur -S firefox chromiumbash
pacaur -S sublime-text-dev atom-editor-git visual-studio-code-bin neovim neovim-drop-in leafpadbash
sudo pacman -S apache
# Make your user-directory available to apache server
mkdir ~/public_html
chmod o+x ~
chmod o+x ~/public_html
chmod -R o+r ~/public_htmlbash
# To enable virtualhosts, uncomment the following line in `/etc/httpd/conf/httpd.conf`
Include conf/extra/httpd-vhosts.confAdd your virtualhost configuration in following file -
bash
sudo vim /etc/httpd/conf/extra/httpd-vhosts.confTo test the virtual hosts on you local machine, add the virtual names to your
/etc/hosts file.bash
sudo pacman -S php php-apacheTo use PHP with apache, open
/etc/httpd/conf/httpd.conf and uncomment
following line -bash
LoadModule mpm_prefork_module modules/mod_mpm_prefork.soand comment out the following line -
bash
# LoadModule mpm_event_module modules/mod_mpm_event.soNow add these lines to
/etc/httpd/conf/httpd.conf:bash
# Add these at the end of `LoadModule` section.
LoadModule php7_module modules/libphp7.so
AddHandler php7-script .php
# Place this at the end of the `Include` section:
Include conf/extra/php7_module.confbash
sudo pacman -S mariadb
# Initialize the MariaDB data directory prior to starting the service. To do so, run:
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
# Then issue the commands to start the database server
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
# To apply recommended security settings to your database, run
sudo mysql_secure_installationbash
sudo pacman -S phpmyadmin php-mcryptEnable
mysqli, mcrypt, zip and bz2 extensions in /etc/php/php.ini.Create the apache configuration file
/etc/httpd/conf/extra/phpmyadmin.confapache
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>Then include following in
/etc/httpd/conf/httpd.confapache
# phpMyAdmin configuration
Include conf/extra/phpmyadmin.confNow restart
httpd service to apply settings.bash
sudo systemctl restart httpdOnce all these steps are done, your LAMP stack should be working.
Install
tlp and some of its optional dependenciesbash
sudo pacman -S tlp tlp-rdw bash-completion ethtool lsb-release smartmontoolsThen enable
tlp servicesbash
sudo systemctl enable tlp.service
sudo systemctl enable tlp-sleep.service
# mask some services for tlp to work properly
sudo systemctl mask systemd-rfkill.service
sudo systemctl mask systemd-rfkill.socketAll these tools are part of my
i3 config with exception of the theme related
packages. So installing them here will help me later while setting up the i3
window manager.bash
pacaur -S i3 rofi polybar xautolock powerline-fonts-git i3lock-fancy-git compton scrot feh dunst unclutter xfce4-power-manager numlockx lxappearance adapta-gtk-theme gtk-engine-murrine gnome-themes-standard termiteFonts rendering is one area where Linux still lags behind Windows and OSX. It
can be a nightmare for users to setup fonts properly in Linux. In Arch Linux,
this is even worse. I found some tricks to improve the quality of font rendering
on Arch Linux. Though this is far from perfect, it is manageable. Follow these
steps
on Reddit to fix font rendering. I use Noto Sans, Adobe Source Code Pro, and
Microsoft fonts. My apologies, but I can't help here. Some websites still use
Microsoft fonts.
I use Python extensively and virtual environments are a must for my development
setup. I use
pipenv to manage my virtual environments. To install pipenv,
you need to install virtualenv first. To install it, run the following
command.bash
sudo pacman -S python-virtualenvNow you are ready to install
pipenv. Follow
here to install the tool.bash
sudo pacman -S vlc openssh npm imagemagick git la-capitaine-icon-theme-gitThat's all! Your system should be in working condition now. Do check out my
dotfiles if you want to set up your
system like mine.
Hope you enjoyed the article. Cheers 😄