{"id":23708460,"url":"https://github.com/pumukydev/arch-installation","last_synced_at":"2025-10-19T10:50:05.606Z","repository":{"id":269832936,"uuid":"908538360","full_name":"PumukyDev/arch-installation","owner":"PumukyDev","description":"Step-by-step guide to install Arch Linux on an UEFI system.","archived":false,"fork":false,"pushed_at":"2025-07-14T09:27:15.000Z","size":190,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-18T18:14:51.379Z","etag":null,"topics":["arch-linux","grub","paru","pulseaudio","qtile","refind","uefi","x11","xorg"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PumukyDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-26T10:12:15.000Z","updated_at":"2025-07-14T09:27:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"6ad9556b-a0f9-42fd-9068-a97067dfd706","html_url":"https://github.com/PumukyDev/arch-installation","commit_stats":null,"previous_names":["pumukydev/arch-installation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PumukyDev/arch-installation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumukyDev%2Farch-installation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumukyDev%2Farch-installation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumukyDev%2Farch-installation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumukyDev%2Farch-installation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PumukyDev","download_url":"https://codeload.github.com/PumukyDev/arch-installation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumukyDev%2Farch-installation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278532358,"owners_count":26002345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"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","grub","paru","pulseaudio","qtile","refind","uefi","x11","xorg"],"created_at":"2024-12-30T17:56:54.226Z","updated_at":"2025-10-05T22:43:26.075Z","avatar_url":"https://github.com/PumukyDev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./assets/logo.png\" width=\"60%\"/\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003eArch Linux Installation Guide\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ci\u003eA minimal Arch setup using Qtile on X11 in UEFI\u003c/i\u003e\n\u003c/div\u003e\n\n## Getting Started\n\nDownload the latest Arch Linux ISO from the [official website](https://archlinux.org/download/), or get the latest version via torrent from [this link](https://archlinux.org/releng/releases/2025.05.01/torrent/).\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eVirtualization\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nTo install Arch Linux in a virtual machine, simply open your preferred virtualization software (e.g., VirtualBox, VMware, QEMU/KVM, etc.) and select the downloaded `.iso` image as the boot medium.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eBare Metal Installation\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nTo install Arch Linux on a physical machine, create a bootable USB drive using a tool like [Rufus](https://rufus.ie) on Windows or `dd` on Linux. Make sure to select the downloaded `.iso` file when creating the bootable media.\n\nOnce the USB is ready, reboot your system and enter the BIOS/UEFI setup to ensure that **Secure Boot** is **disabled** and that you're booting in UEFI mode. Then, boot from the USB drive.\n\n\u003c/details\u003e\n\n## Set the keyboard layout\n\nBy default, the keyboard layout is set to **US**. You can see available layouts with:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003elocalectl list-keymaps\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nIf you require a different layout, you can change it using the following command:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003eloadkeys \u003ci\u003ekeymap\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nFor example, to set the layout to Spanish:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003eloadkeys es\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n## Verify the boot mode\n\nThe installation is quite different if you are using UEFI o BIOS Legacy, check the mode with the following command:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003ecat /sys/firmware/efi/fw_platform_size\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nIf it returns `64` or `32`, the system is booted in UEFI mode, and you can proceed with the tutorial. Otherwise, if the file does not exists, the system is booted in BIOS (Legacy) mode.\n\n## Connect to the internet \n\nTo install Arch Linux, you will need an internet connection. Let's begin by checking the available network interfaces:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003eip link\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nYou should see something like this:\n\n```\n1: lo: \u003cLOOPBACK,UP,LOWER_UP\u003e mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: enp3s0f3u3c2: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\n    link/ether ab:cd:ef:gh:ij:kl brd ff:ff:ff:ff:ff:ff\n4: wlan0: \u003cNO-CARRIER,BROADCAST,MULTICAST,UP\u003e mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000\n    link/ether ab:cd:ef:gh:ij:kl brd ff:ff:ff:ff:ff:ff\n```\nThe first interface is the **loopback interface**, which is essential and should always be present. After that, you may have **more or fewer interfaces depending on your computer hardware**.\n\nIf you have an interface named **enpX or ethX**, it is an **Ethernet** interface. If you have one named **wlanX or wloX**, it is a **Wi-Fi** network card.\n\nIn order to establish a connection, you need to configure one of the following options. **Choose one based on your needs**.\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eWired Connection - ethX or enpX\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nTo establish a connection with a physical network interface, simply connect the Ethernet cable to the Ethernet port, no additional configuration is needed.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eWireless Connection - wlan0 or wlo0\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nTo establish a connection with a Wi-Fi card, you need to **start the [iwd (iNet Wireless Daemon)](https://wiki.archlinux.org/title/Iwd) service**:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003esystemctl start --now iwd.service\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nThen, you can connect to your **router** with the following command:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003eiwctl --passphrase \u003ci\u003e'Your_Router_Password'\u003c/i\u003e station wlan0 connect \u003ci\u003e'Your_Router_Name'\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003e [!TIP]\n\u003e If you don't know the exact name of your router, run the following command:\n\u003e\u003cdl\u003e\u003cdd\u003e\n\u003e\u003cpre\u003e\n\u003eroot@archiso ~ # \u003cb\u003eiwlist wlan0 scan | more\u003c/b\u003e\n\u003e\u003c/pre\u003e\n\u003e\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\nVerify the connection by pinging Google or archlinux.org. One of them is enough.\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003eping google.com\u003c/b\u003e\nroot@archiso ~ # \u003cb\u003eping 8.8.8.8\u003c/b\u003e\nroot@archiso ~ # \u003cb\u003eping archlinux.org\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Partition the disks\n\nDisks are assigned to a **block device** such as `/dev/sdX`, `/dev/nvmeXnY`. To identify these devices use the following command:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003elsblk\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nYou will see an output similar to this:\n\n```\nNAME     MAJ:MIN  RM    SIZE  RO  TYPE  MOUNTPOINT\nloop0      7:0     0  795.7M   1  loop  /run/archiso/airootfs\nsda        8:0     1    29GB   0  disk\n|-sda1     8:1     1    954M   0  part\n|-sda2     8:2     1    165M   0  part\nnvme0n1  259:0     0    1.8T   0  disk\n```\nIn the example you can see `sda`, which is the flash device. The other device is a 2TB NVMe where I will install Arch Linux, that's why it's called `nvme0n1`. If you have more devices they can be called sdb, sdc, etc or nvme1n1, nvme2n1, and so on. \n\nResults ending in rom, loop or airootfs may be ignored. mmcblk* devices ending in rpbm, boot0 and boot1 can be ignored. \n\n\u003e [!NOTE]\n\u003e Here is a short explanation of each column:\n\u003e - NAME: Name of the block device (e.g., sda, nvme0n1, loop0).\n\u003e - MAJ:MIN: Major and minor device numbers identifying the device.\n\u003e - RM: Removable (1 for removable, 0 for fixed).\n\u003e - SIZE: Size of the device or partition.\n\u003e - RO: Read-only status (1 for read-only, 0 for read/write).\n\u003e - TYPE: Type of device (disk, part, or loop).\n\u003e - MOUNTPOINT: Where the device is mounted, if applicable.\n\nNow that we know the name of the disk where we want to install Arch Linux, we can partition it:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003ecfdisk \u003ci\u003e/dev/disk_to_partition\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\nHere is an example if your disk is called `sdb`:\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003ecfdisk \u003ci\u003e/dev/sdb\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nOr if you have an `nvme` as me:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003ecfdisk \u003ci\u003e/dev/nvme0n1\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\nA semigraphical tool will appear.\n\nIt will ask you to select a partition type. Press \u003ckbd\u003eReturn\u003c/kbd\u003e on `gpt`\n\n| Select lable type |\n|-------------------|\n| gpt               |\n| dos               |\n| sgi               |\n| sun               |\n\ncfdisk provides the following options:\n* `New`: to create partitions\n* `Quit`: to quit cfdisk without saving changes\n* `Help`: to display help\n* `Write`: to write the partition table to disk\n* `Dump`: to dump the partition table to a sfdisk-compatible script file\n\nYou are free to make the partitions as you wish. The [official wiki](https://wiki.archlinux.org/title/Partitioning#Example_layouts) provides a table like this:\n\n| Mount point on the installed system |         Partition         |    Partition type     | Suggested size |\n|-------------------------------------|---------------------------|-----------------------|----------------|\n|               /boot                 | /dev/efi_system_partition | Efi system partition  |      1GiB      |\n|               [SWAP]                |    /dev/swap_partition    |      Linux swap       | At least 4 GiB |\n|                 /                   | /dev/root_partition       | Linux x86-64 root (/) | Remainder of the device. At least 23-32 GiB|\n\n\nIn addition of the partitions in the table above, I'm going to make a home partition for my user.\n\n\u003e [!TIP]\n\u003e To navigate between partitions and options, use the arrow keys: \u003ckbd\u003e\u0026#8592;\u003c/kbd\u003e \u003ckbd\u003e\u0026#8593;\u003c/kbd\u003e \u003ckbd\u003e\u0026#8595;\u003c/kbd\u003e \u003ckbd\u003e\u0026#8594;\u003c/kbd\u003e\n\n### 1. /boot\n\nPress \u003ckbd\u003eReturn\u003c/kbd\u003e on `New` and type `1G`, then press \u003ckbd\u003eReturn\u003c/kbd\u003e again.\n\nNavigate to the newly created partition, press \u003ckbd\u003eReturn\u003c/kbd\u003e on `Type`, and select `EFI System`.\n\n### 2. [swap]\n\nPress \u003ckbd\u003eReturn\u003c/kbd\u003e on `New` and type double the amount of your RAM in GB. For example, if you have 6GB of RAM, type `12G`, then press \u003ckbd\u003eReturn\u003c/kbd\u003e again.\n\nNavigate to the newly created partition, press \u003ckbd\u003eReturn\u003c/kbd\u003e on `Type`, and select `Linux swap`.\n\n### 3. /\n\nPress \u003ckbd\u003eReturn\u003c/kbd\u003e on `New` and enter the amount of GB you want for your root partition, for example, `250G`, then press \u003ckbd\u003eReturn\u003c/kbd\u003e again.\n\nNavigate to the newly created partition, press \u003ckbd\u003eReturn\u003c/kbd\u003e on `Type`, and select `Linux root (x86-64)`.\n\n### 4. /home\n\nPress \u003ckbd\u003eReturn\u003c/kbd\u003e on `New`, and to use the entire disk, press \u003ckbd\u003eReturn\u003c/kbd\u003e again.\n\nNavigate to the newly created partition, press \u003ckbd\u003eReturn\u003c/kbd\u003e on `Type`, and select `Linux home`.\n\n### 5. Write changes\n\nPress \u003ckbd\u003eReturn\u003c/kbd\u003e on `Write` and type `yes`\n\n### 6. Check partitions\n\nTo check the partitions, simply run the following command:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003efdisk -l \u003ci\u003e/dev/partitioned_disk\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003efdisk -l \u003ci\u003e/dev/sdb\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003efdisk -l \u003ci\u003e/dev/nvme0n1\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n## Format the partitions\n\nOnce the partitions have been created, each newly created partition must be formatted with an appropriate file system. \n\n### 1. /boot\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.fat -F 32 \u003ci\u003e/dev/efi_system_partition\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.fat -F 32 \u003ci\u003e/dev/sdb1\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.fat -F 32 \u003ci\u003e/dev/nvme0n1p1\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n### [swap]\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkswap \u003ci\u003e/dev/swap_partition\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkswap \u003ci\u003e/dev/sdb2\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkswap \u003ci\u003e/dev/nvme0n1p2\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n### /\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.ext4 \u003ci\u003e/dev/root_partition\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.ext4 \u003ci\u003e/dev/sdb3\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.ext4 \u003ci\u003e/dev/nvme0n1p3\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n### /home\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.ext4 \u003ci\u003e/dev/home_partition\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.ext4 \u003ci\u003e/dev/sdb4\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emkfs.ext4 \u003ci\u003e/dev/nvme0n1p4\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n## Mount the file systems\n\n### 1. /boot\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount --mkdir \u003ci\u003e/dev/efi_system_partition\u003c/i\u003e /mnt/efi\u003c/b\u003e\n\u003c/pre\u003e \n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount --mkdir \u003ci\u003e/dev/sdb1\u003c/i\u003e /mnt/efi\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount --mkdir \u003ci\u003e/dev/nvme0n1p1\u003c/i\u003e /mnt/efi\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n### [swap]\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003eswapon \u003ci\u003e/dev/swap_partition\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003eswapon \u003ci\u003e/dev/sdb2\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003eswapon \u003ci\u003e/dev/nvme0n1p2\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n### /\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount \u003ci\u003e/dev/root_partition\u003c/i\u003e /mnt\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount \u003ci\u003e/dev/sdb3\u003c/i\u003e /mnt\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount \u003ci\u003e/dev/nvme0n1p3\u003c/i\u003e /mnt\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n### /home\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount --mkdir \u003ci\u003e/dev/home_partition\u003c/i\u003e /mnt/home\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount --mkdir \u003ci\u003e/dev/sdb4\u003c/i\u003e /mnt/home\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003emount --mkdir \u003ci\u003e/dev/nvme0n1p4\u003c/i\u003e /mnt/home\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n## Installation\n\nPackages are downloaded from mirrors listed in `/etc/pacman.d/mirrorlist`. After connecting to the internet, the reflector tool updates the list by selecting the 20 most recent HTTPS mirrors and sorting them by download speed.\n\n## Install essential packages\n\nUse the `pacstrap` script to install the base package\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003epacstrap -K /mnt base linux linux-firmware nano networkmanager\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nIf you plan to use Wi-Fi later, you will need to install three additional packages:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003epacstrap -K /mnt netctl wpa_supplicant dialog\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003e [!IMPORTANT]\n\u003e I recommend installing `amd-ucode` or `intel-ucode` as well. These packages provide CPU microcode updates for hardware bugs and security fixes. Just add `amd-ucode` or `intel-ucode` to the `pacstrap` installation.\n\n## Generate fstab\n\nWe have to generate `fstab`, which is used to define how disk partitions are mounted during **system startup**. The genfstab tool automatically detects the partitions mounted on /mnt and writes them to /mnt/etc/fstab, allowing the system to mount them correctly on **boot**.\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003egenfstab -U /mnt \u003e /mnt/etc/fstab\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Chroot\n\nChange root into the new system:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003earch-chroot /mnt\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Time\n\nTo set the time zone, you first need to list the available time zones. Run the following command to see the available options:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003etimedatectl list-timezones | more\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nThen, create a symbolic link to the correct time zone for your region and city:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eln -sf /usr/share/zoneinfo/\u003ci\u003eRegion\u003c/i\u003e/\u003ci\u003eCity\u003c/i\u003e /etc/localtime\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nFor example, to set the time zone to Europe/Madrid:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\nRun the following command to generate the `/etc/adjtime` file, which is used to store hardware clock settings:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003ehwclock -w\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Locale and Keymap\n\nTo set the system locale, edit the `/etc/locale.gen` file with nano and **uncomment** `en_US.UTF-8` and any other necessary UTF-8 locales. For example, I'll uncomment `es_ES.UTF-8`.\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003enano /etc/locale.gen\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003e [!TIP]\n\u003e You can find them easily with \u003ckbd\u003eCTRL\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e\n\nAfter uncommenting the needed locales, generate them by running:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003elocale-gen\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nYou should see an output similar to:\n\n```\nGeneration locales...\n    en_US.UTF-8 ... done\n    xx_XX.UTF-8 ... done\nGeneration complete.\n```\n\nNext, set your preferred system language by saving it in `etc/locale.conf`:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eecho LANG=\u003ci\u003elanguage_COUNTRY\u003c/i\u003e.UTF-8 \u003e /etc/locale.conf\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003e [!WARNING]\n\u003e I strongly recommend using English because some system messages or translations in other languages may be incomplete or incorrect.\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eecho LANG=en_US.UTF-8 \u003e /etc/locale.conf\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eecho LANG=es_ES.UTF-8 \u003e /etc/locale.conf\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n\u003c/details\u003e\n\nThen, set the console keymap according to your preference by saving it in `/etc/vconsole.conf`.\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eecho KEYMAP=\u003ci\u003ekeymap\u003c/i\u003e \u003e /etc/vconsole.conf\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nFor **English (US)** keymap:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eecho KEYMAP=en \u003e /etc/vconsole.conf\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nFor **Spanish** keymap:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eecho KEYMAP=es \u003e /etc/vconsole.conf\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n## Set Hostname\n\nTo set the hostname of your system, use the following command:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eecho \u003ci\u003ehostname\u003c/i\u003e \u003e /etc/hostname\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nFor example, to set the hostname to HP:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eecho HP \u003e /etc/hostname\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n## Root password\n\nTo set the root password, run the following command:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003epasswd\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Create a User\n\nTo create a new user, run the following command\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003euseradd -m \u003ci\u003euser\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nFor example, to create a user named pumukydev:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003euseradd -m pumukydev\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\u003c/details\u003e\n\nTo set a password for that user, run:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003epasswd \u003ci\u003euser\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\nFor example, to set a password for user pumukydev\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003epasswd pumukydev\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\u003c/details\u003e\n\n## bootloader\n\nIn order for your Arch system to boot properly after powering off, you'll need a bootloader. There are plenty of options available. In this tutorial, I’ll explain how to install GRUB or rEFInd, **choose one of them**:\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eGrub\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003epacman -S grub efibootmgr\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nTo install it, run the following command:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003egrub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nIf the installation finishes without any issues, generate the GRUB configuration file with:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003egrub-mkconfig -o /boot/grub/grub.cfg\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003erEFInd\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003epacman -S refind\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nThen, install it to your EFI system:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003erefind-install --esp /efi\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nYou should see output indicating that rEFInd was installed successfully. You can check that rEFInd was copied correctly by listing the contents of the EFI directory:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003els /efi/EFI/refind\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nYou should see files like:\n\n```\nrefind.conf  refind_x64.efi  drivers_x64/\n```\n\n\u003c/details\u003e\n\n## Exit\n\nIf you followed the steps correctly, congratulations! You have finished installing Arch Linux. To check if everything is working, follow these steps:\n\n1. Exit from chroot\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n[root@archiso /]# \u003cb\u003eexit\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n2. Turn off the computer or virtual machine\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@archiso ~ # \u003cb\u003epoweroff\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n3. Remove the USB installation media.\n4. Turn on your computer.\n\nUpon rebooting, you should see the GRUB menu. After selecting Arch Linux, you will be taken to the tty1 terminal, where we will finish the final configuration of your system.\n\nLog in as `root` and check that you can execute commands as `whoami`or `ls` for example\n\n## Connect to the internet\n\nAfter rebooting we have to configure the network for a last time. If you try pinging google for example you can see that you can't even if you have a wired connection:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003eping 8.8.8.8\u003c/b\u003e\nping: connect: Network is unreachable\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003eip link\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n```\n1: lo: \u003cLOOPBACK,UP,LOWER_UP\u003e mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n2: enp3s0f3u3c2: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000\n    link/ether ab:cd:ef:gh:ij:kl brd ff:ff:ff:ff:ff:ff\n3: wlo1: \u003cNO-CARRIER,BROADCAST,MULTICAST,UP\u003e mtu 1500 qdisc noqueue state DOWN mode DORMANT group default qlen 1000\n    link/ether ab:cd:ef:gh:ij:kl brd ff:ff:ff:ff:ff:ff\n```\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eWired Connection\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003esystemctl start NetworkManager\u003c/b\u003e\nroot@hostname ~ # \u003cb\u003esystemctl enable NetworkManager\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eWireless Connection\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003esystemctl start NetworkManager\u003c/b\u003e\nroot@hostname ~ # \u003cb\u003esystemctl enable NetworkManager\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003eip link set wlo1 up\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003e nmcli dev wifi connect \u003ci\u003e'Your_Router_Name'\u003c/i\u003e password \u003ci\u003e'Your_Router_Password'\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n## Installing graphics drivers\n\nFirst, install some generic controllers:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003epacman -S xf86-video-vesa\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nThen you can install a more specific controller, if you have, if you don't know your gpu model, you can run:\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003elspci | grep VGA\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nThis is my output for example, so I will have to install ati amd/ati controllers:\n\n```\n03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Barcelo (rev c4)\n```\n\nThese are the possible options:\n\n* `amd` -\u003e xf86-video-ati vulkan-radeon\n* `nvidia` -\u003e xf86-video-nouveau intel-ucode\n* `intel` -\u003e xf86-video-intel intel-ucode\n\n\u003cdetails\u003e\n    \u003csummary\u003e\u003cb\u003eExamples\u003c/b\u003e\u003c/summary\u003e\u003cbr/\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003epacman -S xf86-video-ati vulkan-radeon\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003epacman -S xf86-video-nouveau intel-ucode\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003epacman -S xf86-video-intel intel-ucode\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003c/details\u003e\n\n## Installing Xorg\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003epacman -S xorg-server xorg-xinit mesa mesa-demos\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Installing lightdm\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003epacman -S lightdm lightdm-gtk-greeter\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003esystemctl enable lightdm\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Installing qtile\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003epacman -S qtile\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Export nano as your default editor\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003eecho \"export EDITOR=nano\" \u003e\u003e ~/.bashrc\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003esource ~/.bashrc\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n## Add your user to the sudoers file\n\nFirst, install `sudo` package\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003epacman -S sudo\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nThen\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003eusermod -aG wheel \u003ci\u003euser\u003c/i\u003e\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003esudo visudo\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\nScroll down and search\n\n```bash\n# %wheel ALL=(ALL:ALL) ALL\n```\n\nUncomment it and save\n\n```\n%wheel ALL=(ALL:ALL) ALL\n```\n\n## Paru\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\nroot@hostname ~ # \u003cb\u003esu -l user\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n\u003ci\u003euser\u003c/i\u003e@hostname ~ # \u003cb\u003esudo pacman -S base-devel git rust\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n\u003ci\u003euser\u003c/i\u003e@hostname ~ # \u003cb\u003emkdir -p ~/desktop/repos\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n\u003ci\u003euser\u003c/i\u003e@hostname ~ # \u003cb\u003ecd ~/desktop/repos\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n\u003ci\u003euser\u003c/i\u003e@hostname ~ # \u003cb\u003egit clone https://aur.archlinux.org/paru.git\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n\u003ci\u003euser\u003c/i\u003e@hostname ~ # \u003cb\u003ecd paru\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003cdl\u003e\u003cdd\u003e\n\u003cpre\u003e\n\u003ci\u003euser\u003c/i\u003e@hostname ~ # \u003cb\u003emakepkg -si\u003c/b\u003e\n\u003c/pre\u003e\n\u003c/dd\u003e\u003c/dl\u003e\n\n\u003e [!NOTE]\n\u003e This process might take a while!\n\n\u003e [!CAUTION]\n\u003e This section is still in development.\n\nalacritty wireless_tools\npulseaudio pulseaudio-alsa pulseaudio-jack\n\n## Install packages to make compatible with my dotfiles\n\nhttps://github.com/PumukyDev/PumuArch\n\nsudo pacman -S  feh xclip fastfetch openssh picom code stow  python-psutils python-iwlib rofi kitty fish bat dunst arandr  alsa-utils pamixer lsd python-psutil 7zip linux-lts linux-headers alsa-firmware sof-firmware firefox\n\nmand-db man-pages texinfo\n\nparu -S python-pulsectl-asyncio\nparu -S qtile-extras\n\nsystemctl --user enable pulseaudio\n\n\u003e [!WARNING]\n\u003e the line above must be run without sudo!\n\nif it doesn't work make sure everything inside your user folder belongs to you, if not:\n\nsudo chown -R user:user /home/\u003ci\u003euser\u003c/i\u003e\n\ncopy the fonts\n\ndownload dotfiles\n\nstow *\n\nyou can now change the wallpaper by clicking on the arch icon in the top left corner of the screen\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpumukydev%2Farch-installation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpumukydev%2Farch-installation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpumukydev%2Farch-installation/lists"}