Arch Linux is my favorite Linux distro, for the following reasons:

After having used bosslinux and Linux Mint for a few months, I was using Ubuntu for a few years.

But then, I was tired of the package management system, not knowing exactly how the configurations worked, etc. and so I started lfs. This was a fail since I never proceeded after building the build tools.

That is when I discovered arch, its excellent wiki, and everything good.

Arch is special because when it is first installed, it is just kernel, build tools, and a log in shell. After that, following the wiki, you can install whichever applications you want. And that is a blessing because I do not want bloatware on my computers.

Also, configuration of every application is documented on the Arch Wiki.

Then, the most beautiful concept called Arch User Repository. Anyone can build arch packages and submit it to the AUR. This can easily be installed by anyone else.

My Installation

I followed the Arch Installation Guide and got most things working. I had to figure out a few quirks, though.

Disable auto-suspend on lid close

Read wiki: Power Management

Set HandleLidSwitch to lock in /etc/systemd/logind.conf

systemctl restart systemd-logind.service to take effect.

DM

After going through all DEs I settled on Gnome Shell.

I was using lightdm as the DM but then Gnome Shell’s screen lock won’t work with lightdm, so I had to switch to gdm. And it works super awesome after that.

Read more about GNOME setup

Other applications

List of my preferred applications

Server

On a server running archlinux, my configuration would be roughly like this:

As root

pacman -Syu
pacman -S zsh
useradd -m -G adm,wheel -s /bin/zsh yourpreferredusername
visudo

Uncomment the line which allows users in group wheel to execute commands without sudo.

%wheel ALL=(ALL) NOPASSWD: ALL

sudo -i -u yourpreferredusername

Now you are working as your user. Let’s setup logging in first.

mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys

Now you put your public key inside authorized keys

echo "ssh-rsa thelongrsapublickeywithrandomasdkfjaslkdjfaklsdfjlaskdjflaksjdflaksjdflkasjdflkajsflkjasldfkjaslkdfjlaksdfjlaskjdfkalsdjflaksjdflkasdflasdflkjwflkasjdfalkjflksjdflaksjdflkasjfdlaskjdf comment" >> authorized_keys

Now you exit the root and login as admin

Secure up your installation by locking root login

sudo passwd -l root

Edit sshd to change a few other security settings. PermitRootLogin no and PasswordAuthentication no

Change hostname

sudo hostnamectl set-hostname server.example.com

Follow various other options in secure archlinux

Enjoy. I install my preferred applications at this point.

sudo pacman -S git python mosh tmux