Skip to content

Instantly share code, notes, and snippets.

@JustSimplyKyle
Last active October 21, 2021 11:18
Show Gist options
  • Save JustSimplyKyle/379ae29c652e5261daa88da05480e995 to your computer and use it in GitHub Desktop.
Save JustSimplyKyle/379ae29c652e5261daa88da05480e995 to your computer and use it in GitHub Desktop.
very cursed arch install

Arch linux installation guide for notUltimateKyle

Partition

  1. lsblk

  2. gdisk /dev/vda//run gdisk on vda

    1. efi partition create
      1. n //new partition
      2. default //just press enter
      3. default //just press enter
      4. +300M //300mb of space
      5. ef00 //efi partition type
    2. main partition create
      1. n
      2. default //just press enter
      3. default //just press enter
      4. default //just press enter
      5. default //just press enter
    3. command = w // write change to disk
    4. y //confirm
  3. mkfs.vfat /dev/vda1 //make vfat at the efi partition

  4. mkfs.btrfs /dev/vda2 //make btrfs at the main partion

create subvolumes in main

  1. mount /dev/vda2 /mnt //mount main to /mnt
  2. cd /mnt
  3. btrfs subvolume create @ //create root subvolme
  4. btrfs subvolume create @home //create home subvolume
  5. btrfs subvolume create @var //create var subvolume
  6. cd
  7. umount /mnt

mount subvolumes

  1. mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@ /dev/vda2 /mnt // -o for options, discard=asyncif you have an ssd
  2. mkdir /mnt/{boot,home,var}
  3. mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@home /dev/vda2 /mnt/home //mount home
  4. mount -o noatime,compress=zstd,space_cache=v2,discard=async,subvol=@var /dev/vda2 /mnt/var//mount var
  5. mount /dev/vda1 /mnt/boot //mount efi partition to /mnt/boot

Install base system

  1. pacstrap /mnt base linux linux-firmware git nano amd-ucode btrfs-progs install base packages in /mnt
  2. genfstab -U /mnt >> /mnt/etc/fstab

Complete installation(except dm)

  1. arch-chroot /mnt
  2. ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
  3. hwclock --systohc
  4. echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
  5. echo "zh_TW.UTF-8 UTF-8" >> /etc/locale.gen
  6. locale-gen
  7. echo "LANG=en_US.UTF-8" >> /etc/locale.conf
  8. echo "arch" >> /etc/hostname //change arch to your desire hostname
  9. echo "127.0.0.1 localhost" >> /etc/hosts
  10. echo "::1 localhost" >> /etc/hosts
  11. echo "127.0.1.1 arch.localdomain arch" >> /etc/hosts //change arch to your hostname
  12. echo root:password | chpasswd //change password to what ever password you want
  13. pacman -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
  14. pacman -S --noconfirm xf86-video-amdgpu
  15. grub installation
    1. grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB//install grub
    2. grub-mkconfig -o /boot/grub/grub.cfg
  16. enable services
    1. systemctl enable NetworkManager
    2. systemctl enable bluetooth
    3. systemctl enable cups.service
    4. systemctl enable sshd
    5. systemctl enable avahi-daemon
    6. systemctl enable reflector.timer
    7. systemctl enable fstrim.timer
    8. systemctl enable libvirtd
    9. systemctl enable firewalld
    10. systemctl enable acpid
  17. user settings
    1. useradd -m kyle //add kyle user
    2. echo kyle:password | chpasswd //change password to what ever you like, change kyle to your user name
    3. usermod -aG libvirt kyle //add kyle to libvirt group
    4. echo "kyle ALL=(ALL) ALL" >> /etc/sudoers.d/kyle//add kyle to sudoers
  18. nano /etc/mkinitcpio.conf
    1. image
    2. add amdgputo MODULES
    3. image
  19. mkinitcpio -p linux //recreate initramfs
  20. exit //exit chroot
  21. umount -a
  22. exit
  23. reboot

install fonts

  1. login to system as normal user
  2. sudo timedatectl set-ntp true
  3. sudo hwclock --systohc
  4. sudo reflector -c Taiwan -a 12 --sort rate --save /etc/pacman.d/mirrorlist
  5. sudo pacman -Syy
  6. 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

install DE(gnome)

  1. sudo pacman -S --noconfirm xorg gdm gnome gnome-extra gnome-tweaks xorg-xwayland
  2. sudo systemctl enable gdm

install DE(plasma_kde)

  1. sudo pacman -S xorg xorg-xwayland plasma dbus-python kde-system-meta kde-utilities-meta audiocd-kio gwenview ark spectacle elisa
  2. sudo systemctl enable sddm

post install stuff

  1. enable multilib by editing /etc/pacman.conf image

  2. sudo pacman -Syy

  3. install paru

    1. git clone https://aur.archlinux.org/paru.git
    2. cd paru
    3. makepkg -si
  4. enable these in /etc/paru.conf image

  5. enable color in /etc/pacman.conf image

  6. make MAKEFLAGS="-j$(nproc)" in /etc/makepkg.conf image

  7. sudo pacman -S fcitx-chewing

  8. KDE:sudo pacman -S kcm-fcitx

  9. GNOME:sudo pacman -S fcitx-configtool

  10. add ~/.pam_environment

    GTK_IM_MODULE DEFAULT=fcitx
    QT_IM_MODULE  DEFAULT=fcitx
    XMODIFIERS    DEFAULT=\@im=fcitx
    
  11. reboot

  12. change from shift to alt + left shift(in fcitx settings) image

  13. change to these in fcitx settings

image inside 新酷音 image

super key open application launcher(kde)

  1. Run this to set configkwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.plasmashell,/PlasmaShell,org.kde.PlasmaShell,activateLauncherMenu"

  2. then run qdbus org.kde.KWin /KWin reconfigure

migrate to this installation

  1. At your old installation, type sudo pacman -Qe >> packages.txt // this will print all packages into packages.txt
  2. And that's pretty much done.

Suggested Programs

  1. rclone for google drive
    1. Follow this guide https://gist.github.com/KyleUltimate/5eb2679032beb7ae57f69df9d01b1750
  2. Aria2
    1. Follow this guide aria2.md
  3. bat
  4. bpytop-git
  5. davinci-resolve
  6. discord_arch_electron
  7. downgrade
  8. exfatprogs
  9. github-cli
  10. goverlay-git
  11. grub-btrfs
  12. intellij-idea-community-edition
  13. jdk-openjdk
  14. lolcat
  15. mangohud
  16. mediainfo
  17. megatools-git
  18. microsoft-edge-dev-bin
  19. neofetch-git
  20. obs-studio-git
  21. olive-git
  22. opencl-amd
  23. os-prober-btrfs
  24. parallel
  25. retroarch
  26. scrcpy
  27. sndcpy-bin
  28. soundux
  29. speedtest-cli-git
  30. spotify-adblock-git
  31. steam
  32. steam-fonts
  33. timeshift
  34. unrar
  35. update-grub
  36. ventoy-bin
  37. vifm
  38. virt-manager
  39. vulkan-mesa-layers
  40. wine-staging
  41. youtube-dl-git
  42. zramd
    1. systemctl enable --now zramd.service //to startup at start
  43. zsh
  44. xfce4-terminal //use this as default terminal
  45. visual-studio-code-bin
  46. osu-lazer-bin

KDE customrization

  1. https://www.youtube.com/watch?v=exQh0_JKBJQ optionally skip some part of it
    1. use https://gist.github.com/KyleUltimate/b3cd7069dda41a3879523e4d88be24cb as latte-dock layout

Instllation

  1. sudo pacman -S aria2

Setup Aria2 config

  1. Create this file in ~/.config/aria2
   continue
   daemon=true
   dir=/home/kyle/下載
   save-session=/home/kyle/.config/aria2/aria2.session
   save-session-interval=20
   enable-rpc=true
   rpc-listen-all=true
   rpc-secret=44a70bf2-token93c6-96359e3e53ee
   rpc-allow-origin-all=true
   max-concurrent-downloads=10
   max-connection-per-server=10
   min-split-size=10M
   split=20
   max-overall-upload-limit=1M
   disable-ipv6=false
   file-allocation=falloc
   bt-tracker=http://1337.abcvg.info:80/announce,http://all4nothin.net:80/announce.php,http://bt.rghost.net:80/announce,http://googer.cc:1337/announce,http://h4.trakx.nibba.trade:80/announce,http://milanesitracker.tekcities.com:80/announce,http://nyaa.tracker.wf:7777/announce,http://opentracker.xyz:80/announce,http://share.camoe.cn:8080/announce,http://t.nyaatracker.com:80/announce,http://tr.cili001.com:8070/announce,http://tracker.anirena.com:80/announce,http://tracker.bt4g.com:2095/announce,http://tracker.corpscorp.online:80/announce,http://tracker.files.fm:6969/announce,http://tracker.ipv6tracker.org:80/announce,http://tracker.ipv6tracker.ru:80/announce,http://tracker.openbittorrent.com:80/announce,http://tracker.tfile.me:80/announce,http://tracker.torrentyorg.pl:80/announce,http://tracker.trackerfix.com:80/announce,http://vps02.net.orel.ru:80/announce,https://1337.abcvg.info:443/announce,https://carbon-bonsai-621.appspot.com:443/announce,https://mytracker.fly.dev:443/announce,https://tr.ready4.icu:443/announce,https://tr.torland.ga:443/announce,https://tracker.gbitt.info:443/announce,https://tracker.kuroy.me:443/announce,https://tracker.lilithraws.cf:443/announce,https://tracker.nanoha.org:443/announce,https://tracker.nitrix.me:443/announce,https://tracker.parrotsec.org:443/announce,https://tracker.tamersunion.org:443/announce,https://trakx.herokuapp.com:443/announce,udp://6ahddutb1ucc3cp.ru:6969/announce,udp://9.rarbg.com:2810/announce,udp://9.rarbg.me:2710/announce,udp://9.rarbg.to:2710/announce,udp://abufinzio.monocul.us:6969/announce,udp://bt.oiyo.tk:6969/announce,udp://bubu.mapfactor.com:6969/announce,udp://code2chicken.nl:6969/announce,udp://discord.heihachi.pw:6969/announce,udp://engplus.ru:6969/announce,udp://exodus.desync.com:6969/announce,udp://explodie.org:6969/announce,udp://fe.dealclub.de:6969/announce,udp://inferno.demonoid.is:3391/announce,udp://ipv6.tracker.monitorit4.me:6969/announce,udp://ipv6.tracker.zerobytes.xyz:16661/announce,udp://mail.realliferpg.de:6969/announce,udp://movies.zsw.ca:6969/announce,udp://open.demonii.com:1337/announce,udp://open.stealth.si:80/announce,udp://opentor.org:2710/announce,udp://p4p.arenabg.com:1337/announce,udp://retracker.hotplug.ru:2710/announce,udp://thetracker.org:80/announce,udp://tracker.0x.tf:6969/announce,udp://tracker.altrosky.nl:6969/announce,udp://tracker.beeimg.com:6969/announce,udp://tracker.birkenwald.de:6969/announce,udp://tracker.bitsearch.to:1337/announce,udp://tracker.blacksparrowmedia.net:6969/announce,udp://tracker.cyberia.is:6969/announce,udp://tracker.dler.com:6969/announce,udp://tracker.haynet.io:6969/announce,udp://tracker.jordan.im:6969/announce,udp://tracker.moeking.eu.org:6969/announce,udp://tracker.moeking.me:6969/announce,udp://tracker.monitorit4.me:6969/announce,udp://tracker.openbittorrent.com:6969/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.theoks.net:6969/announce,udp://tracker.torrent.eu.org:451/announce,udp://tracker.xn--vzyr4p.top:80/announce,udp://tracker.zerobytes.xyz:1337/announce,udp://tracker0.ufibox.com:6969/announce,udp://tracker1.bt.moack.co.kr:80/announce,udp://tracker2.dler.com:80/announce,udp://tracker2.dler.org:80/announce,udp://tracker4.itzmx.com:2710/announce,udp://udp-tracker.shittyurl.org:6969/announce,udp://vibe.community:6969/announce,udp://vibe.sleepyinternetfun.xyz:1738/announce,udp://wassermann.online:6969/announce,udp://www.torrent.eu.org:451/announce,wss://tracker.openwebtorrent.com:443/announce
   
  1. Name this aria2.conf

Auto Startup

  1. create aria2cd.serviceat ~/.config/systemd/user
[Unit]
Description=Aria2 Daemon

[Service]
Type=forking
ExecStart=/usr/bin/aria2c

[Install]
WantedBy=default.target
  1. systemctl --user enable --now aria2cd.service

Link with Edge

  1. Install this plugin for Microsoft Edge https://microsoftedge.microsoft.com/addons/detail/aria2-for-edge/jjfgljkjddpcpfapejfkelkbjbehagbh

  2. Click this image

  3. Set it up like this image

  4. ARIA RPC write rpc-secret

  5. And then you're done!

Instalation

  1. paru -S rclone

Setup

  1. https://github.com/KyleUltimate/Rclone-google/blob/main/rclone.conf
  2. Put this in ~/.config/rclone

Mounting Google Drive

  1. Create this in ~/.config/systemd/user
[Unit]
Description=Google Drive

[Service]
ExecStart=/usr/bin/rclone mount oathdrive: /home/kyle/googledrive --vfs-cache-mode full

[Install]
WantedBy=default.target
  1. Name it googledrive
  2. Create ~/googledrivefolder
  3. systemctl enable --user --now googledrive
  4. And then you're done!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment