-
lsblk
-
gdisk /dev/vda
//run gdisk on vda- efi partition create
n
//new partition- default //just press enter
- default //just press enter
+300M
//300mb of spaceef00
//efi partition type
- main partition create
n
- default //just press enter
- default //just press enter
- default //just press enter
- default //just press enter
- command =
w
// write change to disk y
//confirm
- efi partition create
-
mkfs.vfat /dev/vda1
//make vfat at the efi partition -
mkfs.btrfs /dev/vda2
//make btrfs at the main partion
mount /dev/vda2 /mnt
//mount main to /mntcd /mnt
btrfs subvolume create @
//create root subvolmebtrfs subvolume create @home
//create home subvolumebtrfs subvolume create @var
//create var subvolumecd
umount /mnt
mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@ /dev/vda2 /mnt
// -o for options,discard=async
if you have an ssdmkdir /mnt/{boot,home,var}
mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@home /dev/vda2 /mnt/home
//mount homemount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@var /dev/vda2 /mnt/var
//mount varmount /dev/vda1 /mnt/boot
//mount efi partition to /mnt/boot
pacstrap /mnt base linux linux-firmware git nano amd-ucode btrfs-progs
install base packages in /mntgenfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
hwclock --systohc
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "zh_TW.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" >> /etc/locale.conf
echo "arch" >> /etc/hostname
//change arch to your desire hostnameecho "127.0.0.1 localhost" >> /etc/hosts
echo "::1 localhost" >> /etc/hosts
echo "127.0.1.1 arch.localdomain arch" >> /etc/hosts
//change arch to your hostnameecho root:password | chpasswd
//changepassword
to what ever password you wantpacman -S grub efibootmgr networkmanager network-manager-applet dialog wpa_supplicant mtools dosfstools reflector base-devel linux-headers avahi xdg-user-dirs xdg-utils gvfs gvfs-smb nfs-utils inetutils dnsutils bluez bluez-utils cups hplip alsa-utils pipewire pipewire-alsa pipewire-pulse pipewire-jack bash-completion openssh rsync reflector acpi acpi_call virt-manager qemu qemu-arch-extra edk2-ovmf bridge-utils dnsmasq vde2 openbsd-netcat iptables-nft ipset firewalld flatpak sof-firmware nss-mdns acpid os-prober ntfs-3g terminus-font
pacman -S --noconfirm xf86-video-amdgpu
- grub installation
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
//install grubgrub-mkconfig -o /boot/grub/grub.cfg
- enable services
systemctl enable NetworkManager
systemctl enable bluetooth
systemctl enable cups.service
systemctl enable sshd
systemctl enable avahi-daemon
systemctl enable reflector.timer
systemctl enable fstrim.timer
systemctl enable libvirtd
systemctl enable firewalld
systemctl enable acpid
- user settings
useradd -m kyle
//add kyle userecho kyle:password | chpasswd
//changepassword
to what ever you like, changekyle
to your user nameusermod -aG libvirt kyle
//add kyle to libvirt groupecho "kyle ALL=(ALL) ALL" >> /etc/sudoers.d/kyle
//add kyle to sudoers
nano /etc/mkinitcpio.conf
mkinitcpio -p linux
//recreate initramfsexit
//exit chrootumount -a
exit
reboot
- login to system as normal user
sudo timedatectl set-ntp true
sudo hwclock --systohc
sudo reflector -c Taiwan -a 12 --sort rate --save /etc/pacman.d/mirrorlist
sudo pacman -Syy
sudo pacman -S --noconfirm gnu-free-fonts noto-fonts ttf-roboto ttf-ubuntu-font-family ttf-jetbrains-mono adobe-source-code-pro-fonts inter-font ttf-opensans adobe-source-han-sans-otc-fonts adobe-source-han-serif-otc-fonts noto-fonts-cjk xorg-xwayland
sudo pacman -S --noconfirm xorg gdm gnome gnome-extra gnome-tweaks xorg-xwayland
- sudo systemctl enable gdm
sudo pacman -S xorg xorg-xwayland plasma dbus-python kde-system-meta kde-utilities-meta audiocd-kio gwenview ark spectacle elisa
- sudo systemctl enable sddm
-
sudo pacman -Syy
-
install paru
- git clone https://aur.archlinux.org/paru.git
- cd paru
- makepkg -si
-
sudo pacman -S fcitx-chewing
-
KDE:
sudo pacman -S kcm-fcitx
-
GNOME:
sudo pacman -S fcitx-configtool
-
add ~/.pam_environment
GTK_IM_MODULE DEFAULT=fcitx QT_IM_MODULE DEFAULT=fcitx XMODIFIERS DEFAULT=\@im=fcitx
-
reboot
-
change to these in fcitx settings
-
Run this to set config
kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.plasmashell,/PlasmaShell,org.kde.PlasmaShell,activateLauncherMenu"
-
then run
qdbus org.kde.KWin /KWin reconfigure
- At your old installation, type
sudo pacman -Qe >> packages.txt
// this will print all packages into packages.txt - And that's pretty much done.
- rclone for google drive
- Follow this guide https://gist.github.com/KyleUltimate/5eb2679032beb7ae57f69df9d01b1750
- Aria2
- Follow this guide aria2.md
bat
bpytop-git
davinci-resolve
discord_arch_electron
downgrade
exfatprogs
github-cli
goverlay-git
grub-btrfs
intellij-idea-community-edition
jdk-openjdk
lolcat
mangohud
mediainfo
megatools-git
microsoft-edge-dev-bin
neofetch-git
obs-studio-git
olive-git
opencl-amd
os-prober-btrfs
parallel
retroarch
scrcpy
sndcpy-bin
soundux
speedtest-cli-git
spotify-adblock-git
steam
steam-fonts
timeshift
unrar
update-grub
ventoy-bin
vifm
virt-manager
vulkan-mesa-layers
wine-staging
youtube-dl-git
zramd
systemctl enable --now zramd.service
//to startup at start
zsh
xfce4-terminal
//use this as default terminalvisual-studio-code-bin
osu-lazer-bin
- https://www.youtube.com/watch?v=exQh0_JKBJQ
optionally skip some part of it
- use https://gist.github.com/KyleUltimate/b3cd7069dda41a3879523e4d88be24cb as latte-dock layout