{"id":20346544,"url":"https://github.com/alekamerlin/arch-installation-guide","last_synced_at":"2026-05-04T08:32:55.528Z","repository":{"id":235979688,"uuid":"618031534","full_name":"Alekamerlin/arch-installation-guide","owner":"Alekamerlin","description":"A quick installation guide with automation scripts for Arch Linux.","archived":false,"fork":false,"pushed_at":"2024-04-25T04:42:09.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T15:48:26.512Z","etag":null,"topics":["arch-linux","archlinux","guide","installation-guides","linux"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alekamerlin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-03-23T15:58:23.000Z","updated_at":"2024-04-25T04:58:16.000Z","dependencies_parsed_at":"2024-04-25T06:53:25.894Z","dependency_job_id":null,"html_url":"https://github.com/Alekamerlin/arch-installation-guide","commit_stats":null,"previous_names":["alekamerlin/arch-installation-guide"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Alekamerlin/arch-installation-guide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alekamerlin%2Farch-installation-guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alekamerlin%2Farch-installation-guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alekamerlin%2Farch-installation-guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alekamerlin%2Farch-installation-guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alekamerlin","download_url":"https://codeload.github.com/Alekamerlin/arch-installation-guide/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alekamerlin%2Farch-installation-guide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32600955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arch-linux","archlinux","guide","installation-guides","linux"],"created_at":"2024-11-14T22:13:19.720Z","updated_at":"2026-05-04T08:32:55.498Z","avatar_url":"https://github.com/Alekamerlin.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# arch-installation-guide\n\nA quick installation guide with automation scripts for Arch Linux.\n\n\u003e Attention, this guide describes the Arch Linux installation on PC/laptop with Intel CPU and iGPU. Therefore, the guide doesn't cover all cases. Also, settings in the gsettings script based on my preferences.\n\n### Prepare an installation disk\n\nDownload the ISO image and its signature and checksum (archlinux-x86\\_64.iso, archlinux-x86\\_64.iso.sig, b2sums.txt) from the Download page: https://archlinux.org/download/.\n\n\u003e Use the commands below in the directory where you downloaded the files.\n\nVerify the checksum of the downloaded ISO image:\n```\n$ b2sum -c b2sums.txt\n```\n\nVerify the signature of the downloaded ISO image:\n```\n$ gpg --keyserver-options auto-key-retrieve --verify archlinux-x86_64.iso.sig\n```\n\nCreate an installation USB drive:\n```\n# dd bs=4M if=archlinux-x86_64.iso of=/dev/sdb conv=fsync oflag=direct status=progress\n```\nWhere `/dev/sdb` is your USB drive you want to use as the installation drive.\n\nTo boot an installation image from a USB drive, you should disable Secure Boot on the computer you will boot the image from, because the installation image doesn't support Secure Boot.\n\nCheck the boot mode after booting the installation image:\n```\n# ls /sys/firmware/efi/efivars\n```\nThe command will print directory items if you booted in UEFI mode. This guide is only for UEFI mode, so you should check the current mode.\n\n### Prepare a system disk\n\nCreate a partition table:\n```\n# parted /dev/sda mklabel gpt\n```\nWhere `/dev/sda` is the SDD/HDD drive you want to install Arch.\n\nCreate parts:\n```\n# parted /dev/sda mkpart EFI fat32 1M 525M\n\n# parted /dev/sda mkpart root ext4 525M 105GB\n\n# parted /dev/sda mkpart swap linux-swap 105GB 160GB\n\n# parted /dev/sda mkpart home ext4 160GB 260GB\n\n# parted /dev/sda mkpart media ext4 260GB 512GB\n```\n\n\u003e For SSD the order of the parts doesn't matter, but for HDD it does.\n\n\u003e I usually create the media part because I use few accounts on the same computer, so the media is a place for common files like music and photos.\n\nFormat partitions:\n```\n# mkfs.fat -F 32 /dev/sda1\n\n# mkfs.ext4 /dev/sda2\n\n# mkswap /dev/sda3\n\n# mkfs.ext4 /dev/sda4\n\n# mkfs.ext4 /dev/sda5\n```\n\n### Prepare to installation\n\nConnect to the internet (the easiest way is DHCP) and test the connection:\n```\n# ping duckduckgo.com\n```\n\nMount the system disk:\n```\n# mount /dev/sda2 /mnt\n\n# mount --mkdir /dev/sda1 /mnt/boot\n\n# mount --mkdir /dev/sda4 /mnt/home\n```\n\nEnable swap:\n```\n# swapon /dev/sda3\n```\n\nUpdate the system clock:\n```\n# timedatectl\n```\n\n### Installation\n\nInstall main packages:\n```\n# pacstrap -K /mnt base base-devel linux linux-firmware grub-install dhcpcd vim\n```\n\n### Configure the system\n\nGenerate an `fstab` file:\n```\n# genfstab -U /mnt \u003e\u003e /mnt/etc/fstab\n```\n\nEnter to the new system as root:\n```\n# arch-chroot /mnt\n```\n\nCreate a password to the system root:\n```\n# passwd\n```\n\nInstall `grub`:\n```\n# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB\n```\n\nSet the time zone:\n```\n# ln -sf /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime\n```\nWhere `Europe/Amsterdam` is your region and city.\n\nSet up the hardware clock:\n```\n# hwclock --systohc\n```\n\nCreate the hostname file:\n```\n# echo machinename \u003e /etc/hostname\n```\nWhere `machinename` is your hostname (the name of your PC).\n\nUncomment `en_US.UTF-8 UTF-8` and other required locales in `/etc/locale.gen`:\n```\n# vim /etc/locale.gen\n```\n\nSave the file and generate locales:\n```\n# locale-gen\n```\n\nSet up the system locale:\n```\n# localectl set-locale LANG=en_US.UTF-8\n```\n\nReboot the PC:\n```\n# reboot\n```\n\nBoot the new installed system and enable the `dhcpcd` service:\n```\n# systemctl enable dhcpcd.service\n```\n\nConnect to the internet via DHCP and test the connection:\n```\n# ping duckduckgo.com\n```\n\n### Video\n\nInstall packages to support 3D acceleration and VA-API for Intel graphics:\n```\n# pacman -S mesa vulkan-intel intel-media-driver xf86-video-intel\n```\n\n\u003e `xf86-video-intel` not recommended.\n\n### Audio\n\nInstall packages to support audio on the system:\n```\n# pacman -S sof-firmware pipewire pipewire-audio pipewire-jack pipewire-pulse wireplumber\n```\n\n\u003e Use `alsa-firmware` instead of `sof-firmware` for older sound systems.\n\n### Bluetooth\n\nInstall the necessary packages:\n```\n# pacman -S bluez bluez-utils\n```\n\nCheck whether the bluetooth module is loaded:\n```\n$ modinfo btusb\n```\n\nIf so, enable and then start the bluetooth service:\n```\n# systemctl enable bluetooth.service\n\n# systemctl start bluetooth.service\n```\n\n### Webcam\n\nYour webcam probably works out of the box, if not, check the manual: https://wiki.archlinux.org/title/Webcam_setup\n\nInstall `v4l-utils` for webcam configuration (brightness, effects etc):\n```\n# pacman -S v4l-utils\n```\n\nOr `cameractrls`:\n```\n# pacman -S cameractrls\n```\n\n### Multimedia\n\nInstall the multimedia framework and its plugins:\n```\n# pacman -S gstreamer gstreamer-vaapi gst-libav gst-plugin-pipewire gst-plugins-bad gst-plugins-base gst-plugins-good gst-plugins-ugly\n```\n\n### Users\n\nCreate a user:\n```\n# useradd -m user_name\n```\n\nSet a password for the new user:\n```\n# passwd user_name\n```\n\nInstall `xdg-user-dirs` to manage user directories:\n```\n# pacman -S xdg-user-dirs\n```\n\nCreate user directories:\n```\n# su user_name\n\n$ xdg-user-dirs-update\n\n$ exit\n```\nRepeat this for each created user.\n\n### Gnome DE\n\nInstall gnome packages:\n```\n# pacman -S gdm gnome-shell gnome-shell-extensions gnome-desktop gnome-backgrounds gnome-bluetooth-3.0 gnome-calculator gnome-characters gnome-control-center gnome-disk-utility gnome-font-viewer gnome-sound-recorder gnome-system-monitor gnome-user-docs gnome-console gnome-text-editor dconf-editor file-roller nautilus tracker3-miners gucharmap epiphany evince totem loupe\n```\n\n\u003e You can install `gnome-terminal`, `gedit` and `eog` instead of `gnome-console`, `gnome-text-editor` and `loupe`, if their functionality doesn't cover your needs:\n```\n# pacman -S gnome-terminal gedit gedit-plugins libgit2-glib eog\n```\n\nAlso you may like these additional apps:\n```\n# pacman -S gnome-boxes gnome-calendar gnome-clocks gnome-connections gnome-contacts gnome-logs gnome-maps gnome-notes gnome-photos gnome-recipes gnome-tweaks gnome-weather alacarte baobab endeavour geary ghex gitg polari seahorse simple-scan snapshot sysprof\n```\n\n\u003e You can install `evolution` and `cheese` instead of `geary` and `snapshot`, if their functionality doesn't cover your needs:\n```\n# pacman -S evolution cheese\n```\n\nOf course, here are some basic games:\n```\n# pacman -S gnome-2048 gnome-chess gnome-games gnome-klotski gnome-mahjongg gnome-mines gnome-nibbles gnome-robots gnome-sudoku gnome-taquin gnome-tetravex aisleriot hitori iagno lightsoff quadrapassel swell-foop tali\n```\n\nEnable `gdm.service`:\n```\n# systemctl enable gdm.service\n```\n\nReboot the system and launch the gsettings script for each your user:\n```\n$ sh scripts/gsettings.sh\n```\n\n### Portals\n\nInstall packages to support Wayland portals for screen sharing as an example:\n```\n# pacman -S xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-gnome\n```\n\n### Thumbnails\n\nInstall packages to provide thumbnail preview:\n```\n# pacman -S tumbler webp-pixbuf-loader ffmpegthumbnailer libgsf gnome-epub-thumbnailer freetype2\n```\n\n### Media devices \u0026 online storages\n\nFor support MTP (Android phones, tablets and music players) install `gvfs-mtp`:\n```\n# pacman -S gvfs-mtp\n```\n\nFor support PTP (digital cameras and smartphone photos) install `gvfs-gphoto2`:\n```\n# pacman -S gvfs-gphoto2\n```\n\nFor support iOS (iPhone and iPad) install `gvfs-afc`:\n```\n# pacman -S gvfs-afc ifuse\n```\n\nFor support NFS (Network File System) install `gvfs-nfs`:\n```\n# pacman -S gvfs-nfs\n```\n\nFor support SMB/CIFS (Server Message Block/Common Internet File System) install `gvfs-smb`:\n```\n# pacman -S gvfs-smb\n```\n\nFor support virtual filesystems (e.g. OwnCloud) install `gvfs-goa`:\n```\n# pacman -S gvfs-goa\n```\n\nFor support Google Drive install `gvfs-google`:\n```\n# pacman -S gvfs-google\n```\n\nFor support Microsoft OneDrive install `gvfs-onedrive`:\n```\n# pacman -S gvfs-onedrive\n```\n\n### Office\n\nFor basic use, install a word processor and spreadsheet editor:\n```\n# pacman -S abiword gnumeric\n```\n\nOr LibreOffice for more complex work:\n```\n# pacman -S libreoffice-fresh\n```\n\nAs well as needed language packs:\n```\n# pacman -S libreoffice-fresh-*\n```\nWhere \\* is the language code. For example, the package will be `libreoffice-fresh-en-gb` for `en-gb`. You can find available packages [here](https://archlinux.org/packages/?sort=\u0026q=libreoffice-fresh\u0026maintainer=\u0026flagged=).\n\n### Firefox\n\nInstall Firefox:\n```\n# pacman -S firefox\n```\n\nLaunch it, close it and run a script from the **scripts** directory:\n```\n$ sh scripts/firefox.sh\n```\n\nDo it for each your user and then reboot the system.\n\n### Chromium\n\n\u003e Sources:\n\u003e - https://wiki.archlinux.org/title/Chromium#Hardware_video_acceleration\n\u003e - https://wiki.archlinux.org/title/Arch_User_Repository\n\nBuild and install the Wayland version of Chromium with VA-API support from the AUR:\n```\n$ git clone https://aur.archlinux.org/chromium-wayland-vaapi.git\n\n$ ch chromium-wayland-vaapi\n\n$ makepkg\n\n# pacman -U chromium-wayland-vaapi-*-x86_64.pkg.tar.zst\n```\n\nThis might be enough, but if hardware decoding doesn't work, try to enbaling `VaapiVideoDecoder`:\n```\necho \"--enable-features=VaapiVideoDecoder\" \u003e\u003e ~/.config/chromium-flags.conf\n```\n\n### VSCodium\n\n\u003e Sources:\n\u003e - https://wiki.archlinux.org/title/Visual_Studio_Code\n\u003e - https://wiki.archlinux.org/title/Wayland#Electron\n\u003e - https://wiki.archlinux.org/title/Arch_User_Repository\n\nInstall the necessary packages:\n```\n# pacman -S jq git-lfs gulp yarn\n```\n\nBuild and install the nvm package:\n```\n$ git clone https://aur.archlinux.org/nvm.git\n\n$ cd nvm\n\n$ makepkg\n\n# pacman -U nvm-*-any.pkg.tar.zst\n```\n\nBuild and install the VSCodium package:\n```\n$ cd ../\n\n$ git clone https://aur.archlinux.org/vscodium.git\n\n$ cd vscodium\n\n$ makepkg\n\n# pacman -U vscodium-*-x86_64.pkg.tar.zst\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falekamerlin%2Farch-installation-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falekamerlin%2Farch-installation-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falekamerlin%2Farch-installation-guide/lists"}