<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pablo Beltran</title>
    <description>The latest articles on DEV Community by Pablo Beltran (@pablo_beltran).</description>
    <link>https://dev.to/pablo_beltran</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4104916%2Fb221ff1a-a4dd-4ee8-8ea0-28bcfd58422a.png</url>
      <title>DEV Community: Pablo Beltran</title>
      <link>https://dev.to/pablo_beltran</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pablo_beltran"/>
    <language>en</language>
    <item>
      <title>My journey to "I use arch btw"</title>
      <dc:creator>Pablo Beltran</dc:creator>
      <pubDate>Thu, 03 Sep 2026 03:04:27 +0000</pubDate>
      <link>https://dev.to/pablo_beltran/my-journey-to-i-use-arch-btw-1200</link>
      <guid>https://dev.to/pablo_beltran/my-journey-to-i-use-arch-btw-1200</guid>
      <description>&lt;h2&gt;
  
  
  1. How this project started?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F45iexrkluk5b0vlboyti.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F45iexrkluk5b0vlboyti.jpg" alt="Me"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm going to be honest, it's been ages since I have written something without the use of AI to fix my writing. English is not my first language so please bear with me!&lt;/p&gt;

&lt;p&gt;With the rapid rise of AI, I felt that I have been losing passion for what I used to love at some point: &lt;strong&gt;learning&lt;/strong&gt;. Nowadays, we can quickly solve most of our problems with the use of AI, often times, not even reviewing if it correct or not. That's why I decided to take some time daily to learn something new without or minimal use of AI.&lt;/p&gt;

&lt;p&gt;The first step is deciding, what should I try to learn first? Well, it was quiet easy to find out what. If you are into Linux, you have probably heard of &lt;a href="https://omarchy.org/" rel="noopener noreferrer"&gt;Omarchy&lt;/a&gt; at this point. Like it or not, there's no deny that it's getting more popular among developers. So, &lt;em&gt;why not try to build a decent looking Arch workspace?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Before continuing, I would like to mention that this is not a guide. There are lot of resources online that teaches you how to install Archlinux and other packages.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Why Archlinux?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe01yqb997fo0hy93npd7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fe01yqb997fo0hy93npd7.jpg" alt="Archlinux logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Archlinux has -or had- the reputation of being difficult to get started with. Most of us are used to booting into a nice-looking, functional operating system. Although I have some Linux knowledge, I wanted to have a better understanding of what it takes to have a decent workspace.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Installing Archlinux
&lt;/h2&gt;

&lt;p&gt;The first step is actually installing Arch on my device. The device I'm going to use is my trusty built PC that I currently use exclusively for gaming. There are a few things to consider before jumping into installing Arch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My PC has an Nvidia RTX 5050 and AMD Ryzen 5 CPU.&lt;/li&gt;
&lt;li&gt;Need dual boot to switch between Windows 11 and Archlinux.&lt;/li&gt;
&lt;li&gt;I don't want to change the BIOS options repeatively.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this in mind, I quickly created a bootable USB using &lt;a href="https://rufus.ie/en/" rel="noopener noreferrer"&gt;RUFUS&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.1. Booting the USB
&lt;/h3&gt;

&lt;p&gt;If you are a Windows 11 user and have dual boot, you may know that Windows requires Windows Secure Boot. In order to boot another operation system, you'll need to change your Secure Boot options.&lt;/p&gt;

&lt;p&gt;The first time you launch Archlinux, you'll first notice there's no &lt;a href="https://en.wikipedia.org/wiki/Graphical_user_interface" rel="noopener noreferrer"&gt;GUI&lt;/a&gt;. This can be intimidating at first for some users but thankfully, the Arch Wiki provides a clear and concise &lt;a href="https://wiki.archlinux.org/title/Installation_guide" rel="noopener noreferrer"&gt;installation guide&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;A few things that made the installation easier for me was having an extra SSD and Ethernet connection. If you are using WiFi, you'll probably need some extra configuration. Also, you can always create a new partition if you only have one storage device.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.2. Nvidia &amp;amp; AMD drivers
&lt;/h3&gt;

&lt;p&gt;In my case, my PC has an Nvidia GPU and Ryzen CPU. In order for things to work properly, I had to install some extra drivers. This can be easily achieve with the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacstrap &lt;span class="nt"&gt;-K&lt;/span&gt; /mnt amd-ucode nvidia-open nvidia-utils
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Afterwards, you can quickly check if the drivers were successfully installed by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nvidia-smi &lt;span class="c"&gt;# you should see your GPU information&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thankfully, everything worked for me in the first try!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: from now on I will use pacman instead of the pacstrap wrapper.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.3. Installing a compositor
&lt;/h3&gt;

&lt;p&gt;Installation was successful, now what? With only a terminal as interface, some tasks such as using a browser are impossible -I think). In order to do these tasks, we need neither a &lt;a href="https://en.wikipedia.org/wiki/Desktop_environment" rel="noopener noreferrer"&gt;Desktop Environment&lt;/a&gt; or a &lt;a href="https://en.wikipedia.org/wiki/Compositing_manager" rel="noopener noreferrer"&gt;Compositor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In my case, I decided to go with a compositor instead of desktop environment. I have already used others windows tilling managers such as &lt;a href="https://i3wm.org/" rel="noopener noreferrer"&gt;i3wm&lt;/a&gt;. This time, I want something that has more features out-of-the-box.&lt;/p&gt;

&lt;p&gt;While browsing through X, I found the &lt;a href="https://hypr.land/" rel="noopener noreferrer"&gt;Hyprland&lt;/a&gt; project account. This was exactly what I was looking for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Window tilling manager.&lt;/li&gt;
&lt;li&gt;Modern animations.&lt;/li&gt;
&lt;li&gt;Out of the box configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyrikouwmmuvjpd4wa74v.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyrikouwmmuvjpd4wa74v.jpg" alt="Hyprland default"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The setup was quickly, you just have to install some basic packages and the dependencies will be installed too. We now have a way to interact with applications more visually.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.4. Installing missing packages
&lt;/h3&gt;

&lt;p&gt;Once I finish installing Hyprland, I moved on to installing missing packages for audio and software I normally use. For audio, I'm using &lt;a href="https://pipewire.org/" rel="noopener noreferrer"&gt;pipewire&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; pipewire pipewire-audio pipewire-pulse wireplumber
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I also installed other packages that will go nicely with Hyprland.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
    alacritty &lt;span class="se"&gt;\ &lt;/span&gt;      &lt;span class="c"&gt;#Terminal&lt;/span&gt;
    waybar &lt;span class="se"&gt;\ &lt;/span&gt;         &lt;span class="c"&gt;#Control bar&lt;/span&gt;
    wofi &lt;span class="se"&gt;\ &lt;/span&gt;           &lt;span class="c"&gt;#App launcher&lt;/span&gt;
    mako &lt;span class="se"&gt;\ &lt;/span&gt;           &lt;span class="c"&gt;#Notifications&lt;/span&gt;
    thunar &lt;span class="se"&gt;\ &lt;/span&gt;         &lt;span class="c"&gt;#File manager&lt;/span&gt;
    pavucontrol &lt;span class="se"&gt;\ &lt;/span&gt;    &lt;span class="c"&gt;#Graphical mixer&lt;/span&gt;
    wl-clipboard &lt;span class="se"&gt;\ &lt;/span&gt;   &lt;span class="c"&gt;#Copy-paste data&lt;/span&gt;
    grim &lt;span class="se"&gt;\ &lt;/span&gt;           &lt;span class="c"&gt;#Screenshots&lt;/span&gt;
    slurp &lt;span class="se"&gt;\ &lt;/span&gt;          &lt;span class="c"&gt;#Selection screenshots&lt;/span&gt;
    hyprpaper &lt;span class="se"&gt;\ &lt;/span&gt;      &lt;span class="c"&gt;#Wallpapers&lt;/span&gt;
    hyprlock &lt;span class="se"&gt;\ &lt;/span&gt;       &lt;span class="c"&gt;#Lock screen&lt;/span&gt;
    hypridle          &lt;span class="c"&gt;#Idle utils&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Personalizing Hyprland
&lt;/h2&gt;

&lt;p&gt;Time to start customizing Hyprland. Personally, this was the step I enjoyed the most. Like I mentioned before, Hyprland provides an out-of-the-box configuration. You can access the configuration file using your installed text editor. For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nvim ~/.config/hypr/hyprland.lua    &lt;span class="c"&gt;# open with neovim&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The configuration file is written in &lt;a href="https://www.lua.org/" rel="noopener noreferrer"&gt;Lua&lt;/a&gt;. I haven't tried Lua before but I can guarantee you is a pretty straightforward programming language. If it is also your first time programming in Lua, I highly recommend you watching the following video &lt;a href="https://www.youtube.com/watch?v=CuWfgiwI73Q" rel="noopener noreferrer"&gt;video&lt;/a&gt;, it is half an hour.&lt;/p&gt;

&lt;p&gt;I will not include all the configuration files on this blog. You can check the repository for all the different configuration files.&lt;/p&gt;

&lt;h3&gt;
  
  
  4.1. Lua config files
&lt;/h3&gt;

&lt;p&gt;The default configuration file is a bit painful to work on in my opinion. I decided to split the configuration file into several smaller modules, each representing a different module.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ~/.config/hypr
&lt;span class="nb"&gt;mkdir &lt;/span&gt;config
&lt;span class="nb"&gt;touch &lt;/span&gt;animations.lua &lt;span class="se"&gt;\ &lt;/span&gt;&lt;span class="c"&gt;#Window animations&lt;/span&gt;
      appearance.lua &lt;span class="se"&gt;\ &lt;/span&gt;&lt;span class="c"&gt;#Define your theme here&lt;/span&gt;
      autostart.lua  &lt;span class="se"&gt;\ &lt;/span&gt;&lt;span class="c"&gt;#What happens on start&lt;/span&gt;
      input.lua      &lt;span class="se"&gt;\ &lt;/span&gt;&lt;span class="c"&gt;#Configure your input keyboard&lt;/span&gt;
      keybinds.lua   &lt;span class="se"&gt;\ &lt;/span&gt;&lt;span class="c"&gt;#Add the key binds that you like the most&lt;/span&gt;
      monitors.lua   &lt;span class="se"&gt;\ &lt;/span&gt;&lt;span class="c"&gt;#Set your monitor information&lt;/span&gt;
      rules.lua        &lt;span class="c"&gt;#Rules for other packages&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Note: Keep in mind that this is my initial configuration. It may change over time depending on my needs.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4.2. Packages config files
&lt;/h3&gt;

&lt;p&gt;If you are into Linux, you most likely have heard the term &lt;em&gt;"ricing"&lt;/em&gt;. If not, ricing is basically turning your OS into a "&lt;a href="https://en.wikipedia.org/wiki/Pimp_My_Ride" rel="noopener noreferrer"&gt;Pimp my Ride&lt;/a&gt;" homage.&lt;/p&gt;

&lt;p&gt;Other of the reasons why I choose to install Arch is it's personalization. The packages I have installed so far can be mostly customized by creating their respective directories and configuration files on &lt;code&gt;~/.config&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Once everything was done, I just had to reboot my system and hooray! I now have a decent looking Archlinux desktop. With more time and dedication you can results like &lt;a href="https://hypr.land/hall_of_fame/" rel="noopener noreferrer"&gt;these&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2wze0l9po7pv5q6ywtnj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2wze0l9po7pv5q6ywtnj.jpg" alt="Desktop"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I'm versioning all the changes, I wanted a way to quickly clone the repository and apply the changes. For this, I created a script that will automatically update the files. You can run the script with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo&lt;/span&gt; ./apply_changes.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Note: I suck at shell, sometimes it crashes.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Can Linux and Windows coexist?
&lt;/h2&gt;

&lt;p&gt;I haven't mentioned this before but this project took me a week to reach up until this point. During this time, I wanted to play some games with friends, this required to switch the Secure Boot option often in the BIOS - which became annoying quickly.&lt;/p&gt;

&lt;p&gt;This was definitely the part I dislike the most. Took some time to figure out the solution on how to properly have dual boot of Windows 11 and Archlinux using &lt;code&gt;grub&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The process required to install &lt;code&gt;sbctl&lt;/code&gt; to create and enroll the keys. After some time, it finally worked. I'll probably create a guide for this as I'm sure I'm going to need it on the future.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# A snippet of the commands I ran&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; sbctl

&lt;span class="nb"&gt;sudo &lt;/span&gt;sbctl status
&lt;span class="nb"&gt;sudo &lt;/span&gt;sbctl create-keys
&lt;span class="nb"&gt;sudo &lt;/span&gt;sbctl enroll-keys &lt;span class="nt"&gt;-m&lt;/span&gt;

findmnt /boot

&lt;span class="nb"&gt;sudo &lt;/span&gt;grub-mkconfig &lt;span class="nt"&gt;-o&lt;/span&gt; /boot/grub/grub.cfg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you are having troubles with this, I recommend this &lt;a href="https://forum.endeavouros.com/t/guide-how-to-enable-secure-boot-on-dual-boot-systems-with-arch-linux/70845" rel="noopener noreferrer"&gt;guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. What if the real "i use arch btw" was the friends we made along the way?
&lt;/h2&gt;

&lt;p&gt;I started this project as a way ignite again the passion for learning and sure it did. Artificial Intelligence, in my opinion, is one of the greatest milestones of humanity. I just think, we, the everyday people, are abusing it's use and it's taking a toll.&lt;/p&gt;

&lt;p&gt;Learning how to install Archlinux and configure Hyprland has been a blast. It's been some time since I genuinely was looking forward the next day to keep implementing new features. Not only that, I think I found a hobby in writing, it was super fun and will definitely continue writing more. &lt;/p&gt;

&lt;p&gt;I hope you, the reader, enjoyed this small article as much as I enjoyed writing it.&lt;/p&gt;

&lt;p&gt;Thank you for your time.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Repository &amp;amp; contribution
&lt;/h2&gt;

&lt;p&gt;You can check the repository on &lt;a href="https://github.com/Ilchampo/arch-hyprland-dotfiles/" rel="noopener noreferrer"&gt;Github&lt;/a&gt;. Please, feel free to contribute to the repository!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: this is an on-going project so it will most likely change over time.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>hyprland</category>
      <category>linux</category>
      <category>productivity</category>
      <category>archlinux</category>
    </item>
  </channel>
</rss>
