Arch Linux is my favorite Linux distro, for the following reasons:
- It does not contain anything
- It contains everything
- It does not decide anything
- It helps you decide everything
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.
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
visudoUncomment the line which allows users in group wheel to execute commands without sudo.
%wheel ALL=(ALL) NOPASSWD: ALL
sudo -i -u yourpreferredusernameNow 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_keysNow you put your public key inside authorized keys
echo "ssh-rsa thelongrsapublickeywithrandomasdkfjaslkdjfaklsdfjlaskdjflaksjdflaksjdflkasjdflkajsflkjasldfkjaslkdfjlaksdfjlaskjdfkalsdjflaksjdflkasdflasdflkjwflkasjdfalkjflksjdflaksjdflkasjfdlaskjdf comment" >> authorized_keysNow you exit the root and login as admin
Secure up your installation by locking root login
sudo passwd -l rootEdit sshd to change a few other security settings. PermitRootLogin no and PasswordAuthentication no
Change hostname
sudo hostnamectl set-hostname server.example.comFollow various other options in secure archlinux
Enjoy. I install my preferred applications at this point.
sudo pacman -S git python mosh tmux