{"id":144264,"date":"2024-11-27T17:25:29","date_gmt":"2024-11-27T17:25:29","guid":{"rendered":"https:\/\/linuxiac.com\/?p=144264"},"modified":"2024-12-10T19:46:52","modified_gmt":"2024-12-10T19:46:52","slug":"arch-linux-post-installation-steps","status":"publish","type":"post","link":"https:\/\/linuxiac.com\/arch-linux-post-installation-steps\/","title":{"rendered":"Arch Linux Post-Installation Essential Steps"},"content":{"rendered":"\n<p>Okay, you&#8217;ve installed Arch\u2014congratulations on that! I know it has a reputation as one of the more challenging Linux distributions to set up, but if you followed our &#8220;<a href=\"https:\/\/linuxiac.com\/arch-linux-install\/\">How to Install Arch Linux<\/a>&#8221; guide, you probably found the process easier than expected.<\/p>\n\n\n\n<p>Now, here you are\u2014logged into your fresh Arch system, greeted by the iconic command prompt\u2026 and nothing but a bare Bash shell staring back at you.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"222\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-01-1024x222.jpg\" alt=\"Arch Linux base installation.\" class=\"wp-image-144282\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-01-1024x222.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-01-380x82.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-01-768x166.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-01.jpg 1084w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Wait, seriously? After all that manual work, setting up partitions, tweaking system settings, installing boot loaders, and everything else\u2026 I\u2019m greeted with a plain black screen?<\/p>\n\n\n\n<p>Take your time and don\u2019t rush to disappointment\u2014because that\u2019s actually where Arch&#8217;s true beauty and charm lie. Unlike many other distributions that essentially say, \u201cHere\u2019s what we\u2019ve decided for you\u2014take it or leave it,\u201d Arch takes a different approach.<\/p>\n\n\n\n<p>It states clearly and simply, \u201cYou\u2019re my master\u2014I\u2019m here to give you all the power to shape me exactly how you want.\u201d Needless to say, this approach has inspired a passionate, almost fanatical following of countless devoted users around the globe. Yes, they use Arch, BTW.<\/p>\n\n\n\n<p>So, do you want to be the creator of your own desktop system? This guide will walk you through everything you need to transform a bare-bones Arch installation into a sleek, fully functional setup built to last.<\/p>\n\n\n\n<p>Think of that black screen in front of you as a blank canvas\u2014minimal, sleek, and waiting for your masterpiece to be painted. There&#8217;s no need to stress about the next steps or how to do it\u2014I\u2019ve got you covered. Let me show you.<\/p>\n\n\n\n<div class=\"wp-block-ultimate-post-table-of-content ultp-block-aa5366\"><div class=\"ultp-block-wrapper\"><div class=\"ultp-block-toc\"><div class=\"ultp-toc-header\"><div class=\"ultp-toc-heading\">Table of Contents<\/div><div class=\"ultp-collapsible-toggle  ultp-collapsible-right\"><a class=\"ultp-collapsible-text ultp-collapsible-open\" href=\"javascript:;\">[Open]<\/a><a class=\"ultp-collapsible-text ultp-collapsible-hide\" href=\"javascript:;\">[Close]<\/a><\/div><\/div><div class=\"ultp-block-toc-style1 ultp-block-toc-body\" style=\"display:block;\"><ul class=\"ultp-toc-lists\"><li><a href=\"#Add_User_and_Grant_sudo_Permissions\">Add User and Grant sudo Permissions<\/a><\/li><li><a href=\"#Perform_a_Full_System_Update\">Perform a Full System Update<\/a><\/li><li><a href=\"#Install_Basic_Utilities\">Install Basic Utilities<\/a><\/li><li><a href=\"#Enable_the_Multilib_Repository\">Enable the Multilib Repository<\/a><\/li><li><a href=\"#Install_Microcode_Updates_on_Arch_Linux\">Install Microcode Updates on Arch Linux<\/a><ul class=\"ultp-toc-lists\"><li><a href=\"#Enable_Microcode_on_Systems_Using_GRUB\">Enable Microcode on Systems Using GRUB<\/a><\/li><li><a href=\"#Enable_Microcode_on_Systems_Using_systemd-boot\">Enable Microcode on Systems Using systemd-boot<\/a><\/li><\/ul><\/li><li><a href=\"#Enable_Bash_Completion\">Enable Bash Completion<\/a><\/li><li><a href=\"#Install_GPU_Drivers_NVIDIA\/AMD_on_Arch\">Install GPU Drivers (NVIDIA\/AMD) on Arch<\/a><ul class=\"ultp-toc-lists\"><li><a href=\"#Installing_NVIDIA_Drivers\">Installing NVIDIA Drivers<\/a><\/li><li><a href=\"#Installing_AMD_Drivers\">Installing AMD Drivers<\/a><\/li><\/ul><\/li><li><a href=\"#Install_Some_Fonts\">Install Some Fonts<\/a><\/li><li><a href=\"#Installing_a_Desktop_Environment_in_Arch_Linux\">Installing a Desktop Environment in Arch Linux<\/a><ul class=\"ultp-toc-lists\"><li><a href=\"#Installing_KDE_Plasma\">Installing KDE Plasma<\/a><\/li><li><a href=\"#Installing_GNOME\">Installing GNOME<\/a><\/li><\/ul><\/li><li><a href=\"#Install_Essential_Software\">Install Essential Software<\/a><\/li><li><a href=\"#Install_AUR_Helper\">Install AUR Helper<\/a><\/li><li><a href=\"#Adding_Flatpak_support_in_Arch\">Adding Flatpak support in Arch<\/a><\/li><li><a href=\"#Enable_TRIM_for_Your_SSD_and_Why_You_Should\">Enable TRIM for Your SSD (and Why You Should)<\/a><\/li><li><a href=\"#Install_GUI_Pacman_Frontend_on_Arch_Linux\">Install GUI Pacman Frontend on Arch Linux<\/a><\/li><li><a href=\"#Pick_the_Fastest_Arch\u2019s_Mirrors\">Pick the Fastest Arch\u2019s Mirrors<\/a><\/li><li><a href=\"#Conclusion\">Conclusion<\/a><\/li><\/ul><\/div><\/div><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Add_User_and_Grant_sudo_Permissions\">Add User and Grant sudo Permissions<\/h2>\n\n\n\n<p>When you complete an Arch installation, you have just one user: the root superuser account. However, relying on it for day-to-day tasks is a big no-no regarding security. That\u2019s why your first step should be creating a new regular user account.<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">useradd -m bobby<\/code><\/span><\/pre>\n\n\n<p>Could it be simpler? Of course, replace &#8220;<em>bobby<\/em>&#8221; in the example above with your desired username. The &#8220;<em>-m<\/em>&#8221; flag creates a home directory for the user at &#8220;<em>\/home\/username<\/em>,&#8221; in this case, &#8220;\/home\/bobby.&#8221;<\/p>\n\n\n\n<p>Next, set a password for the new user:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">passwd bobby<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Enter and confirm the new password when prompted. The password will not be displayed in the terminal while you are entering it.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-02.jpg\"><img decoding=\"async\" width=\"896\" height=\"174\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-02.jpg\" alt=\"Adding a new user in Arch Linux.\" class=\"wp-image-144537\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-02.jpg 896w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-02-380x74.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-02-768x149.jpg 768w\" sizes=\"(max-width: 896px) 100vw, 896px\" \/><\/a><figcaption class=\"wp-element-caption\">Adding a new user in Arch Linux.<\/figcaption><\/figure>\n\n\n\n<p>Lastly, to allow your new user to run commands with elevated privileges, they need to be added to the &#8220;<em>wheel<\/em>&#8221; group, which Arch uses by default to manage sudo access.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">usermod -aG wheel bobby<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Next, ensure the &#8220;<em>sudo<\/em>&#8221; and &#8220;<em>vi<\/em>&#8221; packages are installed on your system. If missing, you can easily add them by running:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">pacman -S sudo vi<\/code><\/span><\/pre>\n\n\n<p>Type the command below to open the sudoers file:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">visudo<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Go to the end of the file and look for the line that says &#8220;<em>%wheel ALL=(ALL:ALL) ALL<\/em>.&#8221; Remove (uncomment) the &#8220;<em>#<\/em>&#8221; at the beginning of the line. Once you&#8217;re done, it should look like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-04.jpg\"><img decoding=\"async\" width=\"928\" height=\"336\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-04.jpg\" alt=\"Allow the 'wheel' group to use sudo commands.\" class=\"wp-image-144552\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-04.jpg 928w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-04-380x138.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-04-768x278.jpg 768w\" sizes=\"(max-width: 928px) 100vw, 928px\" \/><\/a><figcaption class=\"wp-element-caption\">Allow the &#8216;wheel&#8217; group to use sudo commands.<\/figcaption><\/figure>\n\n\n\n<p>This grants all members of the &#8220;<em>wheel<\/em>&#8221; group full <code>sudo<\/code> privileges. Save the file and exit.<\/p>\n\n\n\n<p>Go ahead and exit the terminal by pressing &#8220;<em>Ctrl+D<\/em>.&#8221; Then, log in using the regular Linux user account you added to the &#8220;<em>sudo<\/em>&#8221; group. You can now run commands that require administrative privileges by prefixing them with <code>sudo<\/code>.<\/p>\n\n\n\n<p>For the rest of this guide, we\u2019ll stick to using this account instead of working directly as the root user.<\/p>\n\n\n\n<p>Lastly, if you&#8217;d like to increase the time your system skips asking for a password when using <code>sudo<\/code> commands, check out our <a href=\"https:\/\/linuxiac.com\/make-sudo-remember-password-longer\/\">guide on adjusting this setting<\/a>. Just a heads-up, though\u2014setting the timeout too high might not be the safest option, so make sure to strike a good balance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Perform_a_Full_System_Update\">Perform a Full System Update<\/h2>\n\n\n\n<p>Arch is a <a href=\"https:\/\/linuxiac.com\/what-is-rolling-release-linux-and-what-is-the-real-benefit-of-using-it\/\" data-type=\"post\" data-id=\"1702\">rolling release distribution<\/a>, meaning updates are frequent and often include new features, security patches, and bug fixes. Regular updates help ensure your system stays stable and secure.<\/p>\n\n\n\n<p>So, now that we\u2019ve set up a regular user with sudo privileges, the next essential step is to upgrade the packages on our new Arch system, and we\u2019ll take care of that right away.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -Syu<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-05.jpg\"><img decoding=\"async\" width=\"928\" height=\"201\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-05.jpg\" alt=\"Updating the system.\" class=\"wp-image-144579\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-05.jpg 928w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-05-380x82.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-05-768x166.jpg 768w\" sizes=\"(max-width: 928px) 100vw, 928px\" \/><\/a><figcaption class=\"wp-element-caption\">Updating the system.<\/figcaption><\/figure>\n\n\n\n<p>This command refreshes your system&#8217;s package database to check for updates (if any) and then updates any installed packages to the latest versions available.<\/p>\n\n\n\n<p>Just to add, if you\u2019re looking to master Pacman, Arch Linux\u2019s package manager, we\u2019ve got you covered with a <a href=\"https:\/\/linuxiac.com\/how-to-use-pacman-to-manage-software-on-arch-linux\/\">dedicated guide<\/a>. Trust me, it\u2019s worth checking out.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Install_Basic_Utilities\">Install Basic Utilities<\/h2>\n\n\n\n<p>It&#8217;s a good idea to have certain system tools pre-installed since you will likely need them at some point. Arch doesn\u2019t come with many of them out of the box, so let\u2019s add some essentials:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">sudo pacman -S base-devel git curl rsync wget zip unzip nano vim man net-tools dnsutils <\/code><\/span><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"Enable_the_Multilib_Repository\">Enable the Multilib Repository<\/h2>\n\n\n\n<p>Arch Linux supports both 64-bit and 32-bit software. By default, Arch installs a pure 64-bit system, which is great for most modern applications. However, some software (like older games or proprietary applications) still needs 32-bit libraries to function.<\/p>\n\n\n\n<p>This is where the Multilib repository comes in\u2014it provides access to precompiled 32-bit packages that work seamlessly on your 64-bit Arch system.<\/p>\n\n\n\n<p>Enabling multilib is straightforward. You\u2019ll need to edit Pacman\u2019s configuration file:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo nano \/etc\/pacman.conf<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Scroll down to the bottom of the file until you find this section (it will be commented out by default), and uncomment these two lines to enable the repository:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-06.jpg\"><img decoding=\"async\" width=\"1024\" height=\"591\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-06-1024x591.jpg\" alt=\"Enable the multilib Arch's repository.\" class=\"wp-image-144591\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-06-1024x591.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-06-380x219.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-06-768x443.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-06.jpg 1031w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Enable the multilib Arch&#8217;s repository.<\/figcaption><\/figure>\n\n\n\n<p>But don&#8217;t rush to save the file yet. Let me show you a little trick that will make your work with Pacman easier. What do I mean?<\/p>\n\n\n\n<p>Plain text output can be functional, but a little color improves readability, especially when you\u2019re managing packages frequently. To enable color in Pacman&#8217;s output, find the <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\">&#8220;<em>#Color<\/em>&#8221; line&nbsp;<\/span>in the &#8220;<em>Misc options<\/em>&#8221; section. It will be commented out by default. Simply remove the &#8220;<em>#<\/em>&#8221; to enable it:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-07.jpg\"><img decoding=\"async\" width=\"1024\" height=\"544\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-07-1024x544.jpg\" alt=\"Enable colors to Pacman\u2019s output.\" class=\"wp-image-144594\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-07-1024x544.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-07-380x202.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-07-768x408.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-07.jpg 1031w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Enable colors to Pacman\u2019s output.<\/figcaption><\/figure>\n\n\n\n<p>Now you can save the file by pressing &#8220;<em>Ctrl+O<\/em>&#8221; and exit with &#8220;<em>Ctrl+X<\/em>.&#8221; After that, give your system&#8217;s base a quick refresh using the command you&#8217;re already familiar with:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -Syu<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-08.jpg\"><img decoding=\"async\" width=\"1024\" height=\"220\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-08-1024x220.jpg\" alt=\"Multilib repository enabled on Arch Linux.\" class=\"wp-image-144597\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-08-1024x220.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-08-380x81.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-08-768x165.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-08.jpg 1026w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Multilib repository enabled on Arch Linux.<\/figcaption><\/figure>\n\n\n\n<p>As we can see, the multilib repository is available, and our Pacman commands now have colorful output\u2014how nice is that?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Install_Microcode_Updates_on_Arch_Linux\">Install Microcode Updates on Arch Linux<\/h2>\n\n\n\n<p>One step you might not want to skip after a fresh Arch install is enabling microcode updates. Okay, but what is microcode, and why should you care?<\/p>\n\n\n\n<p>Here&#8217;s the deal. Think of it as your CPU\u2019s \u201cfirmware.\u201d It\u2019s like a tiny instruction set that tells your processor how to behave in different scenarios. Why does this matter? Because even CPUs have bugs (yep, they\u2019re not perfect). Microcode updates often fix those bugs.<\/p>\n\n\n\n<p>Furthermore, microcode can patch vulnerabilities, like those fancy-named exploits you hear about. Last but definitely not least, it brings performance improvements &#8211; sometimes, updates optimize how your CPU handles specific workloads.<\/p>\n\n\n\n<p>In other words, without an updated microcode, your system will still behave well, but it might miss out on these fixes and improvements. Arch provides microcode packages for the two major processor types, Intel and AMD. Not sure about your CPU&#8217;s vendor? Run this command to identify your processor type:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">lscpu | grep <span class=\"hljs-string\">\"Vendor ID\"<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Now, armed with this information, install the appropriate package. For Intel CPUs:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S intel-ucode<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>For AMD CPUs:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S amd-ucode<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\" id=\"Enable_Microcode_on_Systems_Using_GRUB\">Enable Microcode on Systems Using GRUB<\/h3>\n\n\n\n<p>Many Arch Linux installations use GRUB as the bootloader. After installing the microcode package, you need to update GRUB so it knows to load the microcode.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo grub-mkconfig -o \/boot\/grub\/grub.cfg<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Check if the microcode file was included. Run:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo cat \/boot\/grub\/grub.cfg | grep ucode<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-09.jpg\"><img decoding=\"async\" width=\"1024\" height=\"150\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-09-1024x150.jpg\" alt=\"Microcode is added to Arch Linux.\" class=\"wp-image-144609\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-09-1024x150.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-09-380x56.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-09-768x112.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-09.jpg 1026w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Microcode is added to Arch Linux.<\/figcaption><\/figure>\n\n\n\n<p>You should see a reference to &#8220;<em>intel-ucode.img<\/em>&#8221; or &#8220;<em>amd-ucode.img<\/em>.&#8221;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Enable_Microcode_on_Systems_Using_systemd-boot\">Enable Microcode on Systems Using systemd-boot<\/h3>\n\n\n\n<p>The microcode file for systemd-boot is placed in &#8220;<em>\/boot<\/em>&#8220;. These files are named respectively &#8220;<em>intel-ucode.img<\/em>&#8221; for Intel CPUs and &#8220;<em>amd-ucode.img<\/em>&#8221; for AMD ones. Verify their existence:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">ls -l \/boot\/<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Next, edit the entry file for your system in &#8220;<em>\/boot\/loader\/entries\/<\/em>.&#8221; Each entry (a file ending with &#8220;<em>.conf<\/em>&#8221; extension) corresponds to a boot option. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-13\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo nano \/boot\/loader\/entries\/arch.conf<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-13\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Add the microcode image <strong>before<\/strong> the row containing the initramfs image. Here&#8217;s how it looks mine:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-14\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash shcb-code-table\"><span class='shcb-loc'><span>title Arch Linux\n<\/span><\/span><span class='shcb-loc'><span>linux \/vmlinuz-linux\n<\/span><\/span><mark class='shcb-loc'><span>initrd \/amd-ucode.img\n<\/span><\/mark><span class='shcb-loc'><span>initrd \/initramfs-linux.img\n<\/span><\/span><span class='shcb-loc'><span>options root=UUID=n673ebfa-0298-7817-9615-2c041731d6c2 rw\n<\/span><\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-14\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Save the file and exit. That&#8217;s all.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Enable_Bash_Completion\">Enable Bash Completion<\/h2>\n\n\n\n<p>Arch keeps things minimal, so Bash completion isn\u2019t included by default. At the same time, it&#8217;s an extremely handy shell feature that lets you auto-complete commands, file names, and even arguments by pressing the &#8220;<em>Tab<\/em>&#8221; key. In short, it\u2019s a huge time-saver and avoids typos in file paths or commands.<\/p>\n\n\n\n<p>To add it to your fresh Arch box, you\u2019ll need to install the necessary package:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-15\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S bash-completion<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-15\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Okay, that&#8217;s it. But there\u2019s a small detail to address\u2014Bash completion works just fine for commands run with your regular user account but not when you use <code>sudo<\/code>. Let&#8217;s fix that.<\/p>\n\n\n\n<p>Open your &#8220;<em>.bashrc<\/em>&#8221; file and add the &#8220;<em>complete -cf sudo<\/em>&#8221; line to the end:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">nano ~\/.bashrc<\/code><\/span><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-10.jpg\"><img decoding=\"async\" width=\"1024\" height=\"477\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-10-1024x477.jpg\" alt=\"Enabling Bash completion in Arch Linux.\" class=\"wp-image-144624\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-10-1024x477.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-10-380x177.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-10-768x358.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-10.jpg 1026w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Enabling Bash completion in Arch Linux.<\/figcaption><\/figure>\n\n\n\n<p>Save the changes, exit the file, and source it:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-16\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\"><span class=\"hljs-built_in\">source<\/span> ~\/.bashrc<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-16\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Now start typing a command, then hit &#8220;<em>Tab<\/em>&#8221; twice. And just like that, magic happens!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-11.jpg\"><img decoding=\"async\" width=\"983\" height=\"97\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-11.jpg\" alt=\"Enabling Bash completion in Arch Linux.\" class=\"wp-image-144627\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-11.jpg 983w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-11-380x37.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-11-768x76.jpg 768w\" sizes=\"(max-width: 983px) 100vw, 983px\" \/><\/a><figcaption class=\"wp-element-caption\">Enabling Bash completion in Arch Linux.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Install_GPU_Drivers_NVIDIA\/AMD_on_Arch\">Install GPU Drivers (NVIDIA\/AMD) on Arch<\/h2>\n\n\n\n<p>One of the most critical aspects of any desktop system is ensuring your graphics card (GPU) runs smoothly. Whether you&#8217;re using your system just for everyday office tasks or pushing it to its limits in a high-performance gaming setup, this is essential. And here\u2019s the good news: Arch Linux is hands-down one of the best choices for both scenarios.<\/p>\n\n\n\n<p>Why? It\u2019s simple. Thanks to its rolling nature, Arch consistently provides the latest video drivers, ensuring a top-notch multimedia and gaming experience. Plus, the desktop environments available on Arch are always cutting-edge, packed with the newest features, and fully compatible with modern display protocols like Wayland.<\/p>\n\n\n\n<p>And the best part? It\u2019s all backed by the reliability, consistency, and robust support of the Arch development team. Honestly, what more could you ask for? Now, back to the topic.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Installing_NVIDIA_Drivers\">Installing NVIDIA Drivers<\/h3>\n\n\n\n<p>NVIDIA GPUs rely heavily on proprietary drivers to achieve optimal Linux performance. While open-source alternatives like Nouveau exist, they often lag behind in features and performance compared to NVIDIA&#8217;s proprietary offerings.<\/p>\n\n\n\n<p>This is due to limited documentation and closed-source firmware, making proprietary drivers essential for features like gaming, CUDA support, and a smooth desktop experience. That&#8217;s why we install the proprietary driver\u2014to ensure you have the best possible experience and can make the most of your NVIDIA GPU. For gamers, it&#8217;s a must.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-17\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S nvidia nvidia-utils nvidia-settings lib32-nvidia-utils<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-17\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>For additional features like hardware-accelerated rendering, also install the Vulkan drivers and tools:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">sudo pacman -S vulkan-icd-loader lib32-vulkan-icd-loader<\/code><\/span><\/pre>\n\n\n<p>The Vulkan-ICD-Loader is essential for using the Vulkan graphics API on Linux and other platforms. It serves as a layer between Vulkan applications and the Vulkan drivers and locates and loads the appropriate Vulkan ICD (Installable Client Drivers) for your GPU at runtime.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Installing_AMD_Drivers\">Installing AMD Drivers<\/h3>\n\n\n\n<p>Unlike NVIDIA, AMD GPUs are open-source friendly for Linux. This means the AMDGPU driver is baked directly into the Linux kernel and supports modern AMD GPUs just out of the box.<\/p>\n\n\n\n<p>So, if you&#8217;re rocking an AMD card, you&#8217;re (almost) ready to go. Just install additional user-space components:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-18\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S mesa lib32-mesa<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-18\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Also, for Vulkan support (important for gaming and other GPU-intensive applications), install the following packages:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">sudo pacman -S vulkan-radeon lib32-vulkan-radeon<\/code><\/span><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"Install_Some_Fonts\">Install Some Fonts<\/h2>\n\n\n\n<p>Before installing the desktop environment, let\u2019s take a moment to address something that really adds a touch of style\u2014fonts. A fresh Arch installation only includes the bare essentials, so let\u2019s spruce things up and get everything looking sharp before we move on.<\/p>\n\n\n\n<p>The distro makes it super easy to install fonts through the official repositories\u2014here are some I recommend installing.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-19\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S noto-fonts noto-fonts-extra ttf-bitstream-vera ttf-dejavu ttf-droid ttf-fira-mono ttf-liberation ttf-opensans ttf-roboto<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-19\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Feel free to customize the above list further to match your preferences. If you&#8217;d like to dive deeper into installing fonts, I highly recommend checking out our guide, &#8220;<a href=\"https:\/\/linuxiac.com\/how-to-install-fonts-on-linux\/\">How to Install Fonts on Linux<\/a>.&#8221; It covers everything you need to know\u2014whether you prefer using the terminal or the tools available in your desktop environment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Installing_a_Desktop_Environment_in_Arch_Linux\">Installing a Desktop Environment in Arch Linux<\/h2>\n\n\n\n<p>Now comes the part most users find the most exciting\u2014the moment you transform that plain black terminal into a sleek, user-friendly desktop environment complete with a graphical interface and the ease of using a mouse.<\/p>\n\n\n\n<p>Arch Linux offers a wide variety of desktop environments, but here, we&#8217;ll focus on installing the two most popular ones: KDE and GNOME.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Installing_KDE_Plasma\">Installing KDE Plasma<\/h3>\n\n\n\n<p>KDE Plasma is known for its modern, highly customizable interface. To install it, run the following:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-20\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S plasma-meta kde-applications-meta<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-20\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Let the packages download (around 1,8 GB), and the installation finishes up. After that, there\u2019s just one last step: setting up SDDM, KDE&#8217;s display manager (the login screen), and Network Manager (the service that handles your network connections in the background) to start automatically when your system boots.<\/p>\n\n\n\n<p>Simply run the following two commands to make it happen:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-21\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo systemctl <span class=\"hljs-built_in\">enable<\/span> sddm\nsudo systemctl <span class=\"hljs-built_in\">enable<\/span> NetworkManager<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-21\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-12.jpg\"><img decoding=\"async\" width=\"1024\" height=\"259\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-12-1024x259.jpg\" alt=\"Set SDDM and Network Manager to start automatically.\" class=\"wp-image-144705\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-12-1024x259.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-12-380x96.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-12-768x194.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-12.jpg 1059w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Set SDDM and Network Manager to start automatically.<\/figcaption><\/figure>\n\n\n\n<p>The moment of truth. Reboot the system:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-22\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo reboot<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-22\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>The SDDM display manager will greet you. Just log in, and\u2014boom\u2014you have a brand-new Plasma desktop environment. Congratulations!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-13.jpg\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-13-1024x640.jpg\" alt=\"SDDM Display Manager\" class=\"wp-image-144717\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-13-1024x640.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-13-380x238.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-13-768x480.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-13.jpg 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">SDDM Display Manager<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-14.jpg\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-14-1024x640.jpg\" alt=\"The KDE Plasma desktop environment was successfully installed on Arch Linux.\" class=\"wp-image-144720\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-14-1024x640.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-14-380x238.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-14-768x480.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-14-1536x960.jpg 1536w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-14.jpg 1680w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">The KDE Plasma desktop environment was successfully installed on Arch Linux.<\/figcaption><\/figure>\n\n\n\n<p>From here, the customization options are virtually endless. Since this is all about your personal taste and style, I\u2019ll leave the fun of tweaking it just how you like it to you. Enjoy!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Installing_GNOME\">Installing GNOME<\/h3>\n\n\n\n<p>GNOME offers a clean, minimalist design focused on usability and productivity. Install GNOME by typing:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-23\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S gnome gnome-extra networkmanager<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-23\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Next, enable GDM (Gnome Display Manager) and Network Manager services to start on boot:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-24\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo systemctl <span class=\"hljs-built_in\">enable<\/span> gdm\nsudo systemctl <span class=\"hljs-built_in\">enable<\/span> NetworkManager<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-24\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Finally, reboot the system:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-25\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo reboot<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-25\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>GNOME&#8217;s GDM will welcome you, and you&#8217;ll step right into the vanilla GNOME experience. Enjoy!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-15.jpg\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-15-1024x640.jpg\" alt=\"GNOME Display Manager\" class=\"wp-image-144729\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-15-1024x640.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-15-380x238.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-15-768x480.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-15.jpg 1280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">GNOME Display Manager<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-16.jpg\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-16-1024x640.jpg\" alt=\"GNOME desktop environment was successfully installed on Arch Linux.\" class=\"wp-image-144732\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-16-1024x640.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-16-380x238.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-16-768x480.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-16-1536x960.jpg 1536w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-16.jpg 1680w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">The GNOME desktop environment was successfully installed on Arch Linux.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Install_Essential_Software\">Install Essential Software<\/h2>\n\n\n\n<p>Once the basics are covered, it&#8217;s time to install some software to boost productivity. Personal preferences differ, but as a starting point, I recommend adding a few essentials to your system: Firefox for browsing, LibreOffice for your office tasks, and VLC for multimedia.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-26\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S firefox libreoffice-fresh vlc<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-26\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>However, if Google Chrome is your browser of choice, check out our guide, &#8220;<a href=\"https:\/\/linuxiac.com\/how-to-install-google-chrome-on-arch-linux\/\">How to Install Google Chrome on Arch Linux<\/a>,&#8221; for step-by-step instructions.<\/p>\n\n\n\n<p>From there, you can easily customize and add your favorite apps to make your new Arch Linux setup truly yours.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Install_AUR_Helper\">Install AUR Helper<\/h2>\n\n\n\n<p>One of Arch Linux&#8217;s standout features is the <a href=\"https:\/\/aur.archlinux.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Arch User Repository<\/a> (AUR), a massive collection of user-contributed software packages that expands your options far beyond the official repositories.<\/p>\n\n\n\n<p>But here\u2019s the catch: Pacman can&#8217;t work with AUR, and managing AUR packages can be tricky if you do it manually. That\u2019s where an AUR helper like <code>yay<\/code> comes in handy. With it, you can manage both AUR and official repository packages with a single command.<\/p>\n\n\n\n<p>Run the following four commands to install <code>yay<\/code> on your fresh Arch system.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-27\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S git base-devel\ngit <span class=\"hljs-built_in\">clone<\/span> https:\/\/aur.archlinux.org\/yay.git\n<span class=\"hljs-built_in\">cd<\/span> yay\nmakepkg -si<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-27\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>It&#8217;ll all be done in under a minute. Now you&#8217;re all set to dive into the AUR&#8217;s treasure trove of software\u2014the secret sauce that truly sets Arch apart from the rest. Need Google Chrome? Just install it:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-28\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">yay -S google-chrome<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-28\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>You get the idea. Feeling unsure about how to use AUR? No problem at all\u2014we\u2019ve got your back. Check out our handy guide, &#8220;<a href=\"https:\/\/linuxiac.com\/how-to-install-aur-packages-in-arch-linux\/\">How to Install AUR Packages in Arch Linux<\/a>,&#8221; and you&#8217;ll master the basics of AUR and <code>yay<\/code> in no time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Adding_Flatpak_support_in_Arch\">Adding Flatpak support in Arch<\/h2>\n\n\n\n<p>Flatpak has quickly gone from a nice-to-have to an absolute essential. In just a few years, it\u2019s become the go-to standard for distro-agnostic software distribution format. Fortunately, adding Flatpak support to Arch is easy. First, install the Flatpak itself:<\/p>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">sudo pacman -S flatpak<\/code><\/span><\/pre>\n\n\n<p>Then, add Flathub as its main repository for Flatpak applications:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-29\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">flatpak remote-add --<span class=\"hljs-keyword\">if<\/span>-not-exists flathub https:\/\/flathub.org\/repo\/flathub.flatpakrepo<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-29\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>And that&#8217;s all. Now, explore and install any of the thousands of apps <a href=\"https:\/\/flathub.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">available on Flathub<\/a>. If you&#8217;re unsure how to do it, <a href=\"https:\/\/linuxiac.com\/flatpak-beginners-guide\/\">here&#8217;s our guide<\/a> on the subject.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Enable_TRIM_for_Your_SSD_and_Why_You_Should\">Enable TRIM for Your SSD (and Why You Should)<\/h2>\n\n\n\n<p>If you&#8217;re running Arch on an SSD\/NVMe, you might have encountered something called TRIM. Surprisingly, many users haven&#8217;t even heard of it, but it&#8217;s one of those features that isn\u2019t just nice to have\u2014it\u2019s vital for keeping your SSD healthy and performing well over the long term. Let me explain.<\/p>\n\n\n\n<p>TRIM is a command that helps your SSD manage its data more efficiently. Unlike traditional hard drives, SSDs don\u2019t overwrite data similarly. Instead, when you delete a file, the SSD marks the space as &#8220;unused,&#8221; but the data itself isn\u2019t immediately erased.<\/p>\n\n\n\n<p>This can slow down your SSD over time, as it has to do extra work to clear out &#8220;unused&#8221; blocks before writing new data. TRIM solves this problem by informing the SSD which blocks of data are no longer in use, allowing it to erase them proactively.<\/p>\n\n\n\n<p>In short, enabling TRIM is like giving your SSD regular tune-ups\u2014it stays faster and healthier for longer. The good news is that you&#8217;re only two commands away from that. So go ahead, enable TRIM, and enjoy a zippy Arch Linux experience for years to come.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-30\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo systemctl <span class=\"hljs-built_in\">enable<\/span> fstrim.timer\nsudo systemctl start fstrim.timer<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-30\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>To verify it\u2019s working, check the status of the timer to ensure it\u2019s active:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-31\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">systemctl status fstrim.timer<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-31\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-17.jpg\"><img decoding=\"async\" width=\"1024\" height=\"392\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-17-1024x392.jpg\" alt=\"Enabling TRIM on Arch will keep your SSD healthy longer.\" class=\"wp-image-144810\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-17-1024x392.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-17-380x145.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-17-768x294.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-17.jpg 1059w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Enabling TRIM on Arch will keep your SSD healthy longer.<\/figcaption><\/figure>\n\n\n\n<p>By default, the &#8220;<em>fstrim.timer<\/em>&#8221; service is triggered once per week. This interval strikes a balance between maintaining SSD performance and avoiding excessive use of the TRIM operation, which can slightly impact the drive&#8217;s longevity if overused.<\/p>\n\n\n\n<p>However, if you prefer to control when TRIM runs, you can execute it manually by passing the path to the mounted partition as the last parameter. For example:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-32\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo fstrim -v \/\nsudo fstrim -v \/data\/<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-32\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-18.jpg\"><img decoding=\"async\" width=\"1022\" height=\"148\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-18.jpg\" alt=\"Trimming unused data on a mounted disk partition.\" class=\"wp-image-144813\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-18.jpg 1022w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-18-380x55.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-18-768x111.jpg 768w\" sizes=\"(max-width: 1022px) 100vw, 1022px\" \/><\/a><figcaption class=\"wp-element-caption\">Trimming unused data on a mounted disk partition.<\/figcaption><\/figure>\n\n\n\n<p>After a few weeks of TRIM running and gathering some execution history, you can spot exactly when it started just by checking the journal logs.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-33\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">journalctl -u fstrim.service<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-33\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Yes, here we are looking for &#8220;<em>fstrim.service<\/em>&#8221; because actually the &#8220;<em>fstrim.timer<\/em>&#8221; triggers the &#8220;<em>fstrim.service<\/em>.&#8221; This service, in turn, runs on the mounted partitions listed in the &#8220;<em>\/etc\/fstab<\/em>&#8221; file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Install_GUI_Pacman_Frontend_on_Arch_Linux\">Install GUI Pacman Frontend on Arch Linux<\/h2>\n\n\n\n<p>You already know about how powerful and flexible Pacman is. But let\u2019s be honest: managing packages from the command line can sometimes feel a bit daunting, especially if you\u2019re new to Arch. That\u2019s where Pacman&#8217;s GUI frontends come to the rescue.<\/p>\n\n\n\n<p>One is Octopi, a graphical user interface for Pacman and AUR helpers like Yay. It makes searching, installing, updating, and removing packages a breeze, all with a user-friendly visual interface. So, if you\u2019ve been yearning for a more visual way to manage your packages without giving up Arch\u2019s freedom, Octopi is a great addition to your toolkit.<\/p>\n\n\n\n<p>It&#8217;s available in AUR. To install it, run the following:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-34\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">yay -S octopi<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-34\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>After installation, you can launch Octopi (and Octopi Notifier) from your application menu. When it opens, you\u2019ll be presented with a clean interface with tabs for installed packages, available updates, and more.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-19.jpg\"><img decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-19-1024x640.jpg\" alt=\"Octopi - a Pacman's GUI frontend.\" class=\"wp-image-144831\" srcset=\"https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-19-1024x640.jpg 1024w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-19-380x238.jpg 380w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-19-768x480.jpg 768w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-19-1536x960.jpg 1536w, https:\/\/linuxiac.com\/wp-content\/uploads\/2024\/11\/arch-post-install-steps-19.jpg 1680w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Octopi &#8211; a Pacman&#8217;s GUI frontend.<\/figcaption><\/figure>\n\n\n\n<p>Remember to enable AUR support in the Octopi settings by going to &#8220;<em>Tools<\/em>&#8221; &gt; &#8220;<em>Options<\/em>&#8221; &gt; &#8220;<em>AUR<\/em>.&#8221; Then, to include the AUR repository in your operations, click the green alien icon next to the search button.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Pick_the_Fastest_Arch\u2019s_Mirrors\">Pick the Fastest Arch\u2019s Mirrors<\/h2>\n\n\n\n<p>Arch Linux&#8217;s package base receives many updates thanks to its rolling-release nature. It\u2019s common to find over 100 packages ready to be updated after just a few days. Having fast and up-to-date mirrors is essential to enjoying these perks without frustrations.<\/p>\n\n\n\n<p>While Arch\u2019s default mirror list does the job, it may not always provide the fastest or most reliable options. I mean, over time, slow or outdated mirrors can turn a routine <code>pacman<\/code> update into a tedious ordeal.<\/p>\n\n\n\n<p>Fortunately, the distro provides an automatic tool, Reflector, which helps you find and rank Arch mirrors by speed, location, and freshness. It&#8217;s included in Arch\u2019s official repositories, so installing it is straightforward:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-35\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo pacman -S reflector rsync<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-35\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Then, to fetch a list of the five fastest among the ten most recently synced Arch&#8217;s mirrors, run this command:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-36\" data-shcb-language-name=\"Bash\" data-shcb-language-slug=\"bash\"><span><code class=\"hljs language-bash\">sudo reflector --latest 10 --sort rate --fastest 5 --save \/etc\/pacman.d\/mirrorlist<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-36\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">Bash<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">bash<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>After running this command, your system will prioritize the fastest mirrors and automatically generate and save the corresponding &#8220;<em>\/etc\/pacman.d\/mirrorlist<\/em>&#8221; file for you. From now on, no more slow system updates.<\/p>\n\n\n\n<p>To learn more about Reflector and make the most out of it, refer to our comprehensive &#8220;<a href=\"https:\/\/linuxiac.com\/how-to-find-fastest-arch-linux-mirror\/\">Finding the Most Up-to-Date and Fastest Arch Linux Mirrors<\/a>&#8221; guide.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Conclusion\">Conclusion<\/h2>\n\n\n\n<p>Arch Linux\u2019s flexibility is one of its greatest strengths, but that freedom also comes with the responsibility to build a setup that works best for you. Taking the time to complete essential post-installation steps is an investment in a smooth and personalized experience.<\/p>\n\n\n\n<p>By following the steps outlined above, you\u2019ll have a solid foundation for everyday use, whether you\u2019re a developer, gamer, or just someone who appreciates the beauty of a minimalist and powerful system.<\/p>\n\n\n\n<p>Absolutely, there\u2019s plenty more that could be added to the list. Personally, I tackle a bunch of other tweaks and setups, but those are more tailored to my own specific needs. For this guide, I aimed to keep the suggestions relevant to a broader audience.<\/p>\n\n\n\n<p>Finally, I\u2019d love to hear your thoughts\u2014what do you consider essential after installing Arch? Drop your ideas in the comments to help make this guide even better. In the meantime, don\u2019t forget to check out Arch\u2019s official <a href=\"https:\/\/wiki.archlinux.org\/title\/General_recommendations\" target=\"_blank\" rel=\"noreferrer noopener\">post-installation recommendations<\/a>. And&#8230; Happy Arching!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Arch Linux post-installation steps to set up a desktop environment, configure your system, and add essential packages for everyday use.<\/p>\n","protected":false},"author":10,"featured_media":144267,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,4417],"tags":[4264],"class_list":["post-144264","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tips","category-linux-knowledge","tag-arch-linux"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/144264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/comments?post=144264"}],"version-history":[{"count":0,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/posts\/144264\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media\/144267"}],"wp:attachment":[{"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/media?parent=144264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/categories?post=144264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linuxiac.com\/wp-json\/wp\/v2\/tags?post=144264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}