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