holovin

Gnome

alt text alt text

Install Arch Linux via SSH

If wifi connection

iwctl
device list
station DEVICE scan
station DEVICE get-networks
station DEVICE connect SSID
exit
passwd
ip addr show

On the local machine

ssh root@ip.address.of.target
ping archlinux.org
timedatectl set-ntp true
fdisk -l
fdisk /dev/sdX
o
n
+100G
n
w
mkfs.ext4 /dev/sdX1
mkfs.ext4 /dev/sdX2
mount /dev/sdX1 /mnt
mkdir /mnt/home
mount /dev/sdX2 /mnt/home
pacstrap /mnt base base-devel linux linux-firmware gvim man
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
vim /etc/locale.gen
...
en_US.UTF-8 UTF-8
...
locale-gen
vim /etc/locale.conf
LANG=en_US.UTF-8
vim /etc/hostname
gnome
vim /etc/hosts
127.0.0.1    localhost
::1        localhost
127.0.1.1    gnome.localdomain    gnome
passwd
pacman -Syu

Install Gnome

For only Qtile pass this step

pacman -S gnome gnome-software-packagekit-plugin gnome-flashback
vim /etc/gdm/custom.conf
...
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false
...

Continue installation

pacman -S archlinux-keyring pavucontrol alacritty openssh xf86-input-synaptics xorg-server xorg-xinit network-manager-applet dnsmasq ttf-dejavu ttf-droid ttf-liberation wqy-zenhei noto-fonts-emoji sudo grub gst-libav ntfs-3g intel-ucode amd-ucode android-file-transfer android-tools android-udev chromium vlc libreoffice-still gimp git clipgrab firefox wget openshot evolution transmission-cli rsync postgresql inkscape gnome-sound-recorder ghostwriter gnome-keyring gnome-applets
grub-install --target=i386-pc /dev/sdX
vim /etc/default/grub
...
GRUB_DISABLE_OS_PROBER=false
...
grub-mkconfig -o /boot/grub/grub.cfg
vim /etc/sudoers
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

Choose video driver

pacman -S xf86-video-fbdev xf86-video-vesa xf86-video-ati xf86-video-intel xf86-video-amdgpu xf86-video-nouveau

Users and services

useradd -m -G users -s /bin/bash user
useradd -m -G users,wheel,adbusers,video -s /bin/bash admin
passwd user
passwd admin
exit
umount -R /mnt
reboot

On the remote machine login with root

systemctl enable NetworkManager.service
systemctl start NetworkManager.service
systemctl start sshd.service
ip addr show

On the local machine

ssh admin@ip.address.of.target
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo vim /etc/fstab
...
# swapfile
/swapfile    none    swap    defaults    0    0
...

Solid state drive

sudo vim /etc/fstab
/dev/sdX1    /    ext4    defaults,discard    0    1

Start Gnome

For only Qtile pass this step

On the remote machine

systemctl start gdm.service
systemctl enable gdm.service

Qtile

If your choose is Gnome, pass this step

On the local machine

sudo pacman -S qtile xscreensaver

For default config

cp /usr/share/doc/qtile/default_config.py ~/.config/qtile/config.py

If you use laptop

sudo pacman -S acpilight
ls /sys/class/backlight/

Change your backlight name

vim ~/.config/qtile/config.py
...
widget.Backlight(
    backlight_name='amdgpu_bl0',
    change_command="xbacklight -set {0}",
    foreground="#CD8A8A"
),
...
cd

Xinitrc

cp /etc/X11/xinit/xinitrc ~/.xinitrc
vim ~/.xinitrc
...
alacritty &
xscreensaver &
xss-lock --ignore-sleep -- xscreensaver-command -lock &
exec qtile start
startx

For screensaver configuration start xscreensaver-settings app

Install some apps for Qtile

sudo pacman -S evince nautilus gnome-system-monitor eog

Swith to dark theme

gsettings set org.gnome.desktop.interface color-scheme prefer-dark

Ohmyzsh

sudo pacman -S zsh zsh-completions
chsh -s /bin/zsh
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Hide user from login list GDM

sudo vim /var/lib/AccountsService/users/username
...
SystemAccount=true
...

Hide applications from menu Gnome

Example gnome-boxes Names for applications are located in directory /usr/share/applications

vim .local/share/applications/org.gnome.Boxes.desktop
Hidden=true

Printer

sudo pacman -S cups cups-pdf
sudo systemctl start cups.service
sudo systemctl enable cups.service

Drivers

Network connection to usb printer

sudo systemctl start avahi-daemon.service
sudo systemctl enable avahi-daemon.service
sudo vim /etc/nsswitch.conf
hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns
sudo systemctl start cups.service

Open browser with address localhost:631

Steam

sudo vim /etc/pacman.conf
...
[multilib]
Include = /etc/pacman.d/mirrorlist
...
sudo pacman -Syu
sudo pacman -S steam

Bluetooth

sudo systemctl start bluetooth.service
sudo systemctl enable bluetooth.service

Convert .md to .pdf

mkdir grip
cd grip
python -m venv venv
source venv/bin/activate
pip install grip
grip ../Documents/README.md

Open localhost:6419 in Firefox, put Ctrl+p and save pdf file.

Some commands

Syncthing all directories and files

rsync -r source/. destination

Format fat32

mkfs.fat -F 32 /dev/sdX1

Install iso file to device

dd bs=4M if=path/to/archlinux.iso of=/dev/sdX status=progress oflag=sync

Fix ext4 and ntfs devices

sudo fsck.ext4 /dev/sdX1
sudo ntfsfix /dev/sdX1

Show device UUID

sudo blkid | grep sdX

Make package from AUR

makepkg -si

Regenerate ssh-key for specified host

ssh-keygen -R <host>

Clear pacman cache

pacman -Scc

Update archlinux-keyring

pacman -Sy archlinux-keyring

Permissions for user folder

sudo chown -R user:user /home/user

Copy folder without overwriting an exists files

cp -r -n Downloads Downloads1

Install windows.iso

cd Downloads
pacman -S p7zip
git clone https://aur.archlinux.org/windows2usb-git.git
git clone https://aur.archlinux.org/ms-sys.git
cd ms-sys
makepkg -si
cd ../windows2usb-git
makepkg -si

How to use