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
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