{"id":27127566,"url":"https://github.com/senkawolf/beginner-exploring-arch-linux","last_synced_at":"2025-08-20T04:26:22.385Z","repository":{"id":285520669,"uuid":"957208897","full_name":"SenkaWolf/Beginner-Exploring-Arch-Linux","owner":"SenkaWolf","description":"This will be a collection of installation guides, notes and troubleshooting for a rookie getting into Linux and more specifically Arch.","archived":false,"fork":false,"pushed_at":"2025-04-06T16:48:23.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T17:09:53.036Z","etag":null,"topics":["linux","linux-arch","notes"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SenkaWolf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2025-03-29T20:09:32.000Z","updated_at":"2025-04-06T16:48:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"17e7be85-fef5-4317-b870-418da65aa531","html_url":"https://github.com/SenkaWolf/Beginner-Exploring-Arch-Linux","commit_stats":null,"previous_names":["senkawolf/beginner-exploring-arch-linux"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SenkaWolf/Beginner-Exploring-Arch-Linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenkaWolf%2FBeginner-Exploring-Arch-Linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenkaWolf%2FBeginner-Exploring-Arch-Linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenkaWolf%2FBeginner-Exploring-Arch-Linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenkaWolf%2FBeginner-Exploring-Arch-Linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SenkaWolf","download_url":"https://codeload.github.com/SenkaWolf/Beginner-Exploring-Arch-Linux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SenkaWolf%2FBeginner-Exploring-Arch-Linux/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259356430,"owners_count":22845256,"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","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":["linux","linux-arch","notes"],"created_at":"2025-04-07T17:41:18.687Z","updated_at":"2025-06-11T22:38:30.812Z","avatar_url":"https://github.com/SenkaWolf.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"./media/archlogo.png\" /\u003e\n\n\u003cbr\u003e\n\n[![Author](https://img.shields.io/badge/Author-Senka_Wolf-4044ee?style=for-the-badge)](https://github.com/silentz)\n[![License](https://img.shields.io/badge/License-Apache--2.0-blue?style=for-the-badge)](./LICENSE.md)\n![GitHub last commit](https://img.shields.io/github/last-commit/senkawolf/Software-List?style=for-the-badge)\n\n\u003c/div\u003e\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n## Table of Contents\n\n\u003cdetails\u003e\n \u003csummary\u003eExpand Table Here\u003c/summary\u003e\n  \n  - [Beginner Exploring Arch Linux](#Beginner-Exploring-Arch-Linux)\n    - [Getting Started](#Getting-Started)\n    - [Support and Feedback](#Support-and-Feedback)\n  - Installation\n    - [Bare Metal or Virtual Machine](#Bare-Metal-or-Virtual-Machine)\n    - [Arch Linux Install Process](#Arch-Linux-Install-Process)\n    - [chroot Environment](#chroot-Environment)\n    - [Fix Discover app backend](#Fix-Discover-app-backend)\n  - [Tweaks and Improvements](Tweaks-and-Improvements)\n  - [Themes](#Themes)\n  - [Guides](#Guides)\n  - [Miscellaneous](#Miscellaneous)\n\u003c/details\u003e\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch1 align=\"center\"\u003eBeginner Exploring Arch Linux\u003c/h1\u003e\n\n### Getting Started\n This will be a collection of installation guides, notes and troubleshooting I've used whilst exploring and getting into Linux and more specifically Arch. I'm a rookie when it comes to Linux so this is isn't a fully comprehensive guide and I'm sure there will be mistakes along the way so don't view this as a tutorial.\n\n### Support and Feedback\nIf you have any suggestions and corrections then please get involved through Github.\n\n**Issues:** If you come across any problems or have specific questions, please open an issue on the Github repository.\n\n**Pull Requests:** If you have improvements or additions to this document, feel free to submit a pull request.\n\n### Post Format\nAnything to do with the terminal (konsole) will be within fenced code blocks throughout this document. The code lines will start with a dollar sign\u003csup\u003e($)\u003c/sup\u003e which illustrates terminal input and if the line has a suffix of a hashtag\u003csup\u003e(#)\u003c/sup\u003e then this will be a comment explaining the line.\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch2 align=\"center\"\u003eBare Metal or Virtual Machine\u003c/h2\u003e\n\n### Option 1: Virtual Machine\nThis option is best for experimenting without needing to partition or format any storage devices.\n\n#### Step 1 - Picking VM Software\nPick a virtualisation software you wish to run Linux in, below are a few options:\n- [VMWare Workstation Pro](https://www.broadcom.com/)\n    1. Go to [broadcom.com](https://www.broadcom.com/).\n    1. In the upper right corner, select 'Support Portal'.\n    1. Either log in by clicking 'Go To Portal' or '[Register](https://profile.broadcom.com/web/registration)'.\n    1. Once logged in, go to [support.broadcom.com](http://support.broadcom.com/) if you're not redirected there.\n    1. Click the dropdown at the top right to choose the VMware Cloud Foundation.\n    1. Click 'My Downloads'\n    1. The click 'Free Software Downloads available HERE'.\n    1. Click the product name (VMware Fusion or VMware Workstation Pro).\n    1. Pick your operating system.\n    1. Pick the version of the software you want. E.g. 17.6.3\n    1. Finally download and install\n\n\n- [Microsoft Hyper-V (Requires Windows Pro License)](https://techcommunity.microsoft.com/blog/educatordeveloperblog/step-by-step-enabling-hyper-v-for-use-on-windows-11/3745905)\n- [VirtualBox](https://www.virtualbox.org/)\n- [QEMU](https://www.qemu.org/download/)\n\n#### Step 2 - Download ISO\nDownload the Arch Linux ISO file from the offcial website only which can be found [here](https://archlinux.org/download/). Make sure you pick a region near you.\n\n#### Step 3 - Setuping up a virtual machine\nI'm using the [VMWare Workstation Pro](https://www.broadcom.com/) software so this section will talk you through how to use it, if you're using something else then your steps will vary.\n\n- Click File\n- Click New Virtual Machine (Ctrl + N)\n- Stay with the 'Typical (recommended) option and press next.\n- Select 'Installer disc image file (iso)' and pick the ISO file you just downloaded, then press next.\n- Select Linux for the Guest operating system then press next. \n- Give it any name you'd like and leave the location as default.\n- Leave the disk capacity as 'split virtual disk into multiple files' then press next.\n- You can optionally customize hardware but this will depend on your computer specs. The more resources you allocate the better the virtual machine will run depending on what you're doing on it but don't allocate everything as your Windows system requires resources too.\n- Finally press finish.\n\n#### Step 4 - Start virtual machine\nStart the virtual machine and move onto the next section [Arch Linux Install Process](#Arch-Linux-Install-Process)\n\n### Option 2: Bare Metal\n\nThis option is best for daily use and without the overhead of using a virtual machine.\n\nHere you will need to either have a dedicate storage device or partition an existing one to install Arch Linux onto.\n\n#### Step 1 - USB Drive\nMake sure that you have an 8GB or higher USB key/pendrive/memory stick and connect it to your computer.\n\n#### Step 2 - Picking a USB Formatting Utility Software\nPick a USB formatting utility you wish to use to create a bootable USB flash drive, below are a few options:\n- [balenaEtcher](https://etcher.balena.io/)\n- [Rufus](https://rufus.ie/en/)\n\n#### Step 3 - Download ISO\nDownload the Arch Linux ISO file from the offcial website only which can be found [here](https://archlinux.org/download/). Make sure you pick a region near you.\n\n#### Step 4 - Formatting USB\n- Launch balenaEtcher or Rufus.\n- Select your USB device.\n- Select the Arch Linux ISO you just downloaded.\n- Leave the settings as they are.\n- Then start formatting the USB device.\n\n#### Step 5 - Booting from the USB\n- Restart your computer and enter your BIO settings (use ESC, F8, F9, F10, F12).\n- Enable USB Boot.\n- Change your UEFI Boot Order so that the USB device is the primary (first) in the boot list.\n- Disable Secure Boot.\n- Save the changes and reboot the computer.\n\n#### Step 6 - CLI Environment\nYou will now be in the CLI Environment, move onto the next section [Arch Linux Install Process](#Arch-Linux-Install-Process)\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch2 align=\"center\"\u003eArch Linux Install Process\u003c/h2\u003e\nNow we will be going through the install process of Arch Linux, follow the steps below.\n \n\u003e [!TIP]\n\u003e To increase the font size type the command `setfont ter-132n`.\n\u003e \n\u003e To change it back to the default type `setfont`.\n\u003e \n\u003e If you want to clear the console screen you can by pressing `Ctrl + L` this can help declutter the console to make it easier to follow along.\n\n- Connecting to the internet.\n    - If you are using a ethernet cable you can use the ping command to check the connection. Type `ping google.com` and you should see a ping return.\n        - To stop the pings press `Ctrl + C`.\n    - If you are using Wi-Fi then you will need to use iwctl to connect to the internet. Type `iwctl` to enter the iwd shell.\n        - The type `device list` to see a list of network interfaces.\n        - Look for 'wlan0' then type `device wlan0 show` to see more information.\n        - Then type `station wlan0 get-networks` to see a list of Wi-Fi networks.\n        - Then type `station wlan0 connect [name of Wi-Fi network]` replace [] with the name of your Wi-Fi network.\n        - It will then ask for your Wi-Fi password.\n        - Now exit the iwd shell by typing `exit`.\n        - Try using ping command to check the connection by typing `ping google.com`.\n            - To stop the pings press `Ctrl + C`.\n- Syncing system packages and updating.\n    - Type `pacman -Sy` to sync and upgrade system packages.\n- Formatting Disk\n    - Now type `lsblk` to show a list of all the connect drives to the computer.\n    - If you're unsure what drive you need to use, you can type `fdisk -l` to see more information.\n    - **Make sure you are careful as it's important you format the correct drive otherwise you could lose important data.**\n        - If you are using a virtual machine then the drive will most likely be named 'sda'.\n    - Once you have confirmed the correct drive (I'm using sda in this instance) run the command `gdisk /dev/[drive name]` e.g. `gdisk /dev/sda` to enter the gdisk tool.\n    - Once in gdisk press `x` to enter expert mode.\n    - Then press `z` to erase the drive.\n    - Follow the prompts by typing `y` to finish the process.\n    - Now in my case the 'sda' drive should be free of nay partitions and files.\n- Install Script\n    - Now type the command `pacman -Sy archlinux-keyring` which contains the public keys used to verify the authenticity and integrity of Arch Linux packages ensuring they come from trusted sources.\n        - Make sure you press `y` for any prompts.\n    - Now type `pacman -Sy archinstall` to setup the arch install script.\n        - Make sure you press `y` for any prompts.\n    - Now type `archinstall`.\n        - Use the arrow keys to navigate through the options.\n    - Set the system language.\n    - Go into Locales and set the options which best suit you, for me I will configure it for the United Kingdom.\n        - Keyboard layout: uk\n        - Locale language: en_GB\n    - Select Disk Configuration\n        - Select Partitioning\n        - Select Use a best-effort default partition layout\n        - Select the drive where you want to install Arch Linux, the one we identified earlier. So in my case dev/sda.\n        - Select the `btrfs` filesystem.\n        - Select yes to would you like to use BTRFS subvolumes with a default structure.\n        - Select Use compression.\n        - Then go back oto the main menu.\n    - Select Bootloader\n        - Make sure Grub is selected.\n    - Select Root password and set a secure password.\n    - Select User account\n        - Select Add a user (Username must be all lowercase and say yes to being a superuser(sudo)).\n        - Confirm and exit.\n    - Select Profile\n        - Select Type\n        - Select Desktop\n        - Now select the type of desktop environment you want:\n            - KDE Plasma - Best UI\n            - Xfce - Nice compromise between looks and performance, particularly if you have an older computer. \n    - Select Graphics Driver\n        - Pick the driver which suits your computer hardware configuration.\n        - NVIDIA - Select the `Nvidia (proprietary)` option.\n        - Virtual Machine - If you're using a virtual machine then select `VMware / VirtualBox (open-source)`.\n        - Then go back oto the main menu.\n    - Audio\n        - Then select the option pipewire.\n    - Additional packages\n        - Here you can specify a list of tools to be installed separated by spaces. Below is a list of some packages:\n        - htop fastfetch neofetch git curl wget base-devel\n    - Network configuration\n        - Select NetworkManager\n    - Timezone\n        - Set this to your timezone, in my case it would be `Europe/London`\n    - Finally you are ready to press install, this may take a few minutes.\n    - Once the installtion has been completed you will get a prompt saying wouldl you like to chroot into the newly created installation and perform post-installation configuration.\n        - Select yes.\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch2 align=\"center\"\u003echroot Environment\u003c/h2\u003e\nNow we are in the chroot environment where we can install useful tools before booting into the desktop environment. These tools are optional, the tools are separated by spaces in the below command.\n\n- `pacman -Sy enchant mythes-en ttf-liberation hunspell-en_GB ttf-bitstream-vera adobe-source-sans-pro-fonts gst-plugins-good ttf-droid ttf-dejavu aspell-en icedtea-web gst-libav ttf-ubuntu-font-family ttf-anonymous-pro jre8-openjdk languagetool libmythes firefox libreoffice-fresh vlc`\n\n- Now type `exit` to exit the chroot environment.\n- Finally type `shutdown now`.\n- If you installed Arch Linus onto bare metal remove the bootsable USB and turn on the computer.\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch2 align=\"center\"\u003eFix Discover app backend\u003c/h2\u003e\nThe Discover application helps you find and install applications, games, and tools from multiple sources. If you try to launch the application you will get a error saying that Arch Linus is not configured for installing apps through Discover. \n\nTo fix this we need to install Flatpak and use it as a backend for Dicover:\n- Open konsole.\n- Type `sudo pacman -Sy`.\n- Input your password.\n- Type `sudo pacman -Sy flatpak`.\n- Press y for any prompts.\n\nNow the Discover app will work.\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch2 align=\"center\"\u003eTweaks and Improvements\u003c/h2\u003e\n\n#### Configure pacman \u003csup\u003e[Wiki](https://wiki.archlinux.org/title/Pacman)\u003c/sup\u003e\nHere we are going to improve the visuals of pacman.\n\n- Type `sudo nano /etc/pacman.conf`\n- Scroll down the file until you see a line `#Color` and remove the hashtag.\n- Add a new line under `Color` and type `ILoveCandy`.\n- Press Ctrl + O to save the file.\n- Press Ctrl + X to close the nano editor.\n- Then run `sudo pacman -Syu` to make the changes take effect.\n\n\nOptional: If you have a good computer and internet connection then remove the hashtag in front of `ParalleDownloads = 5` so pacman will download several packages at the simultaneously.\n\n---\n\n#### Make bash colorful\nHere we will make the terminal more colourful, this involves downloading a premade colour scheme.\n\n\u003e [!NOTE]  \n\u003e This terminal colour scheme was made by [Average Linux User](https://averagelinuxuser.com/).\n\n- Download [Linux_terminal_color.zip](https://averagelinuxuser.com/assets/images/posts/2019-01-18-linux-terminal-color/Linux_terminal_color.zip).\n- Type `sudo pacman -S unzip` to install unzip.\n- Type `cd Downloads/`\n- Type `unzip Linux_terminal_color.zip`\n- Then type:\n```console\nsudo mv bash.bashrc /etc/bash.bashrc\nsudo mv DIR_COLORS /etc/\nmv .bashrc ~/.bashrc\n```\n- Close and reopen Konsole.\n\n---\n\n#### Automatic package cache cleaning \u003csup\u003e[Wiki](https://wiki.archlinux.org/title/Pacman#Cleaning_the_package_cache)\u003c/sup\u003e\nDownloading package updates can take up a large amount of space over time, this will automatically clear the cache for you. The below instructions will clear the cache weekly but leave 3 of the most recent versions of each package incase you need to downgrade anything.\n\n```console\n$ sudo pacman -S pacman-contrib\n$ sudo systemctl enable paccache.timer\n```\n\n---\n\n#### Installing AUR Helper \u003csup\u003e[Wiki](https://wiki.archlinux.org/title/Arch_User_Repository)\u003c/sup\u003e\nThe Arch User Repository (AUR) is a communuty-drive repository of packages. If a package isn't in the official Arch repository it most likey found in the AUR.\n\n```console\n$ sudo pacman -S --needed base-devel git\n$ mkdir Programs\n$ cd Programs/\n$ git clone https://aur.archlinux.org/yay.git\n$ cd yay/\n$ makepkg -si\n```\n\n---\n\n#### Create user folders \u003csup\u003e[Wiki](https://wiki.archlinux.org/title/XDG_user_directories)\u003c/sup\u003e\nBy default you don't get the common folders like pictures, videos etc like you do in Windows. Here is a easy way to create them without having to do it manually.\n\n```console\n$ sudo pacman -S xdg-user-dirs\n$ xdg-user-dirs-update\n```\n\n#### Install microcode \u003csup\u003e[Wiki](https://wiki.archlinux.org/title/Microcode)\u003c/sup\u003e\nMicrocode is a essential part of our CPU's functionality so it's important that it's secure and up to date. Make sure you install the packages based on if you have a AMD or Intel CPU.\n\nIntel: `sudo pacman -S intel-ucode`\n\nAMD: `sudo pacman -S amd-ucode`\n\n---\n\n#### Disable GRUB delay\nTo speed up your boot process you can disable the GRUB screen and boot into Arch Linux right away. If you need the GRUB screen you can get to it by holding ESC key whilst booting your virtual machine or computer.\n\n- Type `sudo nano /etc/default/grub`\n- Scroll down the file to the line `GRUB_TIMEOUT_STYLE=menu`.\n- Edit where it says 'menu' to 'hidden' `GRUB_TIMEOUT_STYLE=hidden`.\n- Press Ctrl + O to save.\n- Press Ctrl + X to exit.\n- Type `sudo grub-mkconfig -o /boot/grub/grub.cfg`\n- Type `sudo reboot now`\n\n---\n\n#### Set up firewall \u003csup\u003e[Wiki](https://wiki.archlinux.org/title/Uncomplicated_Firewall)\u003c/sup\u003e\nAlmost all Linux distributions come with a inactive firewall. The Linux kernel has a built-in firewall and technically all Linux distros have this but it is not configured and activated. Linux is still secure even without an active firewall. By default, most of the distributions have no open ports. It is better to be safe than sorry to add a firewall. A firewall does use some system resources, but not enought to make a impact and it adds an extra layer of security making it worth while.\n\n\u003e [!WARNING]\n\u003e Note that this will not work if iptables.service is also enabled.\n\n```console\n$ sudo pacman -S ufw                    # To install ufw\n$ sudo ufw enable                       # Enabled ufw\n$ sudo ufw status verbose               # To check it's status to make sure it's active.\n$ sudo systemctl enable ufw.service`    # To make it auto start with the system.\n```\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch2 align=\"center\"\u003eThemes\u003c/h2\u003e\n\n### My Setup\nMy setup uses the [Vivid Dark Global 6](https://store.kde.org/p/2133856) theme. As for Widgets AkA Plasmoids, it uses [Apdatifier](https://store.kde.org/p/2135796), [Netspeed](https://store.kde.org/p/2136505), [Quick Shutdown](https://store.kde.org/p/1288430) and [Toggle Overview](https://store.kde.org/p/2132554).\n\n### Other Themes\n- [Layan](https://github.com/vinceliuice/Layan-kde)\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch1 align=\"center\"\u003eGuides\u003c/h1\u003e\n\u003e [!CAUTION]\n\u003e All links here unless specified are NOT affiliated with me.\n\n- [Arch Linux Official Install Guide](https://wiki.archlinux.org/title/Installation_guide)\n- [YouTube Video: How to Install Arch Linux](https://www.youtube.com/watch?v=LiG2wMkcrFE)\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n\u003ch1 align=\"center\"\u003eMiscellaneous\u003c/h1\u003e\n\n\u003cdetails\u003e\n \u003csummary\u003eSources\u003c/summary\u003e\n  \n  - [Arch Linux](https://archlinux.org/)\n  - [KDE Software](https://kde.org/)\n  - [KDE Store](https://store.kde.org/browse/)\n  - [XeroLinux](https://xerolinux.xyz/)\n\u003c/details\u003e\n\n![---](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/line.png?raw=true)\n\n**[![ ](https://github.com/senkawolf/Beginner-Exploring-Arch-Linux/blob/main/media/up25.png) Back to Top](#Table-of-Contents)**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenkawolf%2Fbeginner-exploring-arch-linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsenkawolf%2Fbeginner-exploring-arch-linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsenkawolf%2Fbeginner-exploring-arch-linux/lists"}