DEV Community

Cover image for Switching to Arch Linux
Mauro Garcia
Mauro Garcia

Posted on • Updated on • Originally published at maurogarcia.dev

Switching to Arch Linux

Full disclaimer

I don't hate Windows. It's a great operating system, and I've been using it for decades. And it's totally ok if you use it too. In fact, you may need to use Windows or Mac if your work depends on tools that are not available on Linux.

Even though I tried Linux many years ago, I always returned to Windows for different reasons (mostly work and gaming). But my desire to leave Windows behind has grown on me recently, mainly because I've been learning more about the free software movement (free as in freedom).

Like many of you, I want to get things done, and the idea of having to spend weeks learning how to use a new operating system didn't sound appealing to me. That's why I decided to change my point of view and see it as an occasional hobby.


💡 If you found this content valuable, you can follow me on Twitter and Instagram.

Early experiments

After dual-booting Windows 10 and Manjaro Linux, I started to spend a few hours a week doing small experiments within Manjaro. Three months later, and with a better understanding of both the operating system in general and the Linux terminal, I decided to try ArcoLinux and spend even more time on Linux.

Finding the right tools

My main concern when switching to Linux was not being able to do my job. I use a few tools every day (like Figma or Notion) that I thought could not be used on Linux. But after some research and experimentation, I managed to get all of those tools working.

So I decided to share a list of tools/projects/apps I found that enabled me to do my daily job with Linux. A few apps are not strictly required for my job, but they highly improved my experience and boosted my productivity.

i3 Window Manager

i3 Window Manager
After doing some research, I learn that there are unlimited customization options for your desktop environment on Linux. You can use a full desktop environment like GNOME, KDE, Mate, Cinnamon, or you can use Window Managers.

Window Managers are only one of the many components of a desktop environment, and its objective is to control where elements appear on the display. Because I wanted to fully customize my setup (and get a deeper understanding of Linux), I decided to start using i3.

There are dozens of options out there (xmonad, qtile, dwm, Awesome, Openbox, etc.), but I stick with i3 because it's easy to customize.

I really love Window Managers because it allows you to move through different windows without leaving the keyboard. Once you get used to them, there is no going back.

I managed to set up i3 to work with different workspaces on each monitor and open certain apps like VSCode on a specific workspace. In that way, I always have my browser on my left monitor and my code editor on the right one.

To learn more about i3, follow this link

Feh

Feh is a lightweight and versatile image viewer. I'm using it to set up my wallpapers on my i3 config file. You may not need this tool if you're using a full desktop environment instead of a window manager like i3. If you want to learn more about Feh, follow this link

Polybar

I wanted to have a custom status bar for my i3 window manager, so after some research, I found Polybar. Polybar is a powerful open-source tool that aims to help users build beautiful and highly customizable status bars for their desktop environment.⁣⁣

Even though I'm an absolute noob to Polybar, I spend some time customizing my bar to look like this:
Polybar custom setup
Polybar status bar

One of the things I love about Polybar is that it's modular. Meaning that there are tons of out-of-the-box modules you can add to your bar without prior scripting knowledge.⁣⁣ Besides, you can create your own module if you want, and the documentation for the out-of-the-box modules is fantastic.

To learn more about Polybar, follow this link

Flameshot

Flameshot is the best substitute for the Windows Snipping Tool. It's a powerful yet simple to use screenshot utility. Here you can see an example of how many things you can do with it.

Flameshot screenshot software

If you want to learn more about Flameshot, follow this link

Vysor

I've been working a lot with React Native, and I needed reliable software that lets me cast my phone screen on my desktop environment to control my phone without having to deal with the touch keyboard. Besides, sometimes I need to show a demo of the apps I'm working on, so having the ability to run this tool on Linux was kind of a deal-breaker for me.

After doing some research, I managed to compile the app following the instructions available on GitHub.

Here's Vysor, running on my ArcoLinux and casting the screen of my Android Phone:

Vysor working on ArcoLinux

To learn more about Vysor, follow this link

Peek

There's a tool called ScreenToGif that I use a lot on Windows. It allows me to record animated gifs to share on social media quickly. Sadly, it's not available for Linux. Thankfully I found Peek.
Peek is a super simple-to-use gif/video recorder. It's not a general-purpose screencast app with extended features but instead focuses on the single task of creating small screencasts of an area of the screen.

Here's an example of a GIF generated using Peek.
Example of gif generated using Peek

To learn more about Peek, follow this link

OBS

Open Broadcaster Software (OBS) is a free and open-source, cross-platform streaming and recording program. If you're producing content for YouTube or streaming on Twitch, this program has pretty much everything you'll need to start. Follow this link to learn more about the project.

Alacritty (Terminal Emulator)

Alacritty is a modern terminal emulator that allows extensive configuration, and it's a GPU-Accelerated Terminal, so it is known for having a good performance. To learn more about Alacritty, follow this link.

Alacritty Terminal Emulator

Brave browser

I really love Brave. It's privacy-focused, it's open-source, and it pays you with crypto if you accept to see sponsored ads occasionally. Besides, it's based on Chromium, so the developer tools are excellent. You can learn more about Brave on its official website

Spotify

Even though you can't download Spotify for Linux from the official website, you can get Spotify using the Snap package management system. Just type snap install spotify on your terminal, and you're ready to go. Now you can listen to your favorite music on Linux.

Spotify-TUI

If you are into Terminal user interfaces like me, you'll really enjoy Spotify-TUI
Spotify Terminal User Interface

Lotion (unofficial Notion app for Linux)

Lotion was an unexpected but cool surprise. I found this fantastic project on GitHub. It's super easy to install, and it just works!

Lotion - Notion unofficial client for Linux

Figma-Linux

Figma-Linux is an unofficial electron-based Figma desktop app for Linux. You can easily install it using the snap package management tool.
Figma-Linux: Unofficial Figma client for Linux

To learn more about the project, visit the GitHub repo

VSCode

There's no much to say here. VSCode is my favorite IDE, and it's multi-platform. So, if you're working with VSCode on Windows, just know that the Linux client has precisely the same features.
You can find more specific instruction for installation based on your Linux distribution here in the official VSCode documentation

Docker

Docker is my daily driver to work with things like MongoDB and SQL Server on Linux. Docker is multi-platform, and you can use it on Linux. If you heavily rely on Docker for your daily job, know that you won't find any limitations while using it on Linux.

Final thoughts

I wanted to share my experience in case you're thinking about trying Linux, but you're not sure if that time invested will pay off.
At least for me, Linux has improved my work experience by letting me customize every single piece of the environment. And that's enough for me to keep learning and tweaking.


Did you do your daily work on Linux? What's your favorite distro and why?

I would love to hear about your experience with other Window Managers, so let me know if you tried anyone besides i3.

Latest comments (157)

Collapse
 
joephill11 profile image
joephill11

i have found arch based distros to be my favorite to run. i even run arch on my home server and have no issues with it

Collapse
 
carrotfarmer profile image
Dhruva Srinivas

Lotion (unofficial Notion app for Linux) Lotion was an unexpected but cool surprise. I found this fantastic project on GitHub. It's super easy to install, and it just works!

There is an AUR package for notion which works seamlessly with Arch:

git clone https://aur.archlinux.org/notion-app.git
cd notion-app
makepkg -si
Enter fullscreen mode Exit fullscreen mode

OR

yay -S notion-app
Enter fullscreen mode Exit fullscreen mode
Collapse
 
mauro_codes profile image
Mauro Garcia

Wow! I didn't know about this package! Thanks for sharing! I'll definitely check that out 😁

Collapse
 
phantas0s profile image
Matthieu Cneude

Ah! Arch Linux. It's my OS for 6 years now, and I never had a system as stable as this one. The myth that Arch Linux breaks all the time is just that... a myth.

I've some experience in OS. I've been using in order: MS-DOS, windows 3.1, Windows 98, Windows XP, macOS, Windows 7 , Ubuntu, MANY Linux distros, and finally Arch.

If somebody is interested, I wrote a whole book how to install Arch Linux with i3, zsh, Neovim, and tmux: themouseless.dev

I thought it would be cool to share all the knowledge I gathered over these years :)

Collapse
 
mauro_codes profile image
Mauro Garcia

Love the idea of a mouseless environment! I'll definitely take a took at your book 😁

Collapse
 
phantas0s profile image
Matthieu Cneude

Thanks :) don't hesitate to reach out if you have any question.

Collapse
 
oriewancu profile image
oriewancu

Yes, daily work on linux. I choose Bodhi Linux.
Very light, fast & simple! Suitable for me.

Collapse
 
mauro_codes profile image
Mauro Garcia

I've never heard about Bodhi! It looks super interesting! Thanks for the recommendation! I'll check it out later

Collapse
 
aswathkk profile image
Aswath K

Welcome to Linux.

What's the difference between Figma or Notion directly in the browser vs using the thirdparty application?

Collapse
 
mauro_codes profile image
Mauro Garcia

Actually, no so much 😂 but it's easier to start each app as a native program. And I can assign a specific i3 workspace and position for each program. I can even configure to start notion on startup.

Collapse
 
phongduong profile image
Phong Duong

Great list. Thank you for sharing

Collapse
 
mauro_codes profile image
Mauro Garcia

You're welcome 😁

Collapse
 
mauro_codes profile image
Mauro Garcia

I'm keeping my dual boot just in case (and for gaming, to be honest), and Manjaro is one of my favorites! The KDE Plasma desktop environment looks ridiculously gorgeous

Collapse
 
scanepa profile image
Stefano Canepa

I develop only on Linux (Fedora 34) as it's a reasonable mix of stability and updates, I'm using Gnome, vscode but I like to use emacs and vim, too.

Collapse
 
mauro_codes profile image
Mauro Garcia

I'm learning how ! But is a slow journey 😂 I'm thinking about using tmux too... But emacs looks amazing too

Collapse
 
scanepa profile image
Stefano Canepa

emacs has a steep learning curve, setting up your ideal configuration takes time but a few years ago it was more or less the only app running on my computer I used it for: email, chat, writing code, debugging, even web browsing.

Thread Thread
 
mauro_codes profile image
Mauro Garcia

I hear a lot about people living inside emacs :D Doom Emacs looks amazing

Thread Thread
 
scanepa profile image
Stefano Canepa

It is, I had to disable vim mode as if I'm using emacs my mind goes for emacs shortcuts if I'm in vim not always (sometime I lock myself pressing C-x C-s)

Thread Thread
 
brandonwallace profile image
brandon_wallace • Edited

Since Vim and Emacs are both super awesome editors people usually select one or the other and stick with the one they selected. I have not heard of Emacs having a steep learning curve on the other hand I think the steep learning curve of Vim is a bit overrated. To learn Vim a person only need to learn how to move around in command mode and switching from command mode to insert mode.

Collapse
 
ronaldoperes profile image
Ronaldo Peres

For the people that never used Linux, I do recommend Distrowatch to check the top 100.

I already tried distros like Bunsenlabs (old Crunchbang), Mint, Arch Linux, Debian, LXDE (for old laptop very good), Zorin OS (good for people coming from Windows), Slackware, OpenSuse, Fedora, Bodhi (very beautiful IDE), Xubuntu, Lubuntu and Kubuntu, and of course Ubuntu, also others that I don't remember :).

Collapse
 
ndom91 profile image
Nico Domino • Edited

Lol great post! Funny I use almost the exact same tools. Big fan of Flameshot, Peek, Polybar, Lotion, VSCode, i3, Alacritty, etc.

Collapse
 
mauro_codes profile image
Mauro Garcia

Thanks! Did you try other window managers?

Collapse
 
ndom91 profile image
Nico Domino

I came from xubuntu, so only xfce, no other tiling window managers. You?

Thread Thread
 
mauro_codes profile image
Mauro Garcia

Only i3 at the moment, but xmonad looks amazing and AwesomeWM too.

Thread Thread
 
ndom91 profile image
Nico Domino

If you're into tiling window managers, check out 'DistroTube' on youtube. Its a linux focused channel, but the guy is also a tiling window manager lover and has tons of "reviews" and other content about various WM incl. xmonad and awesome.

Thread Thread
 
mauro_codes profile image
Mauro Garcia

DistroTube is probably my favorite Youtube channel at the moment! I think the first time I heard about xmonad and awesome was there 😄

Collapse
 
thnery profile image
Tacio Nery

Great post. Thanks for sharing your experience with Arch. I used to use some Arch based distros in the past, but I stopped for no reason. It's time to go back using Arch!

Collapse
 
mauro_codes profile image
Mauro Garcia

Welcome back to Arch 😁

Collapse
 
svitekpavel profile image
Pavel Svitek

As far as I remember, I started with Slack linux, then Gentoo, then Arch. I ended up using Arch on my desktop, until I switched to Macbooks.

I also tried Ubuntu, Fedora and Suse, but everything worked "too automatically" and it was hard to do even simpler changes.

Collapse
 
mauro_codes profile image
Mauro Garcia

It seems like Gentoo is trending now, but I didn't try it yet. I also have a MacBook for iOS development, but it's an old mac, so my primary device is my desktop computer with Arch.

Collapse
 
perigk profile image
Periklis Gkolias • Edited

Nice setup. Congratulations on moving to a great distro. Unless you are bound to windows for specific reasons, usually people don't ever look back (not even Microsoft, they are slowly adopting more and more of the Linux ecosystem).

A big con to me is that Arch, at least when I was a user of it, needs good levels of attendance regarding the frequent updates. Not really a fire-and-forget-distro.

To answer your questions, I have not used i3 to be honest, but I have seen it in action, really interesting project. My favorite distro, after having tried about 10 (ubuntu, arch, debian, centos, suse, bodhi linux, pclos, mint, kali, mandriva from the top of my head), nothing compares to Debian testing. Fresh software and stable enough, power by apt and great community

Collapse
 
mauro_codes profile image
Mauro Garcia

Yep, you need to keep your updates up to date, but at least in my recent experience, it is not a big deal. I'm updating once a week without problems (yet).

I love Debian and Ubuntu too, and totally get the benefits of the stability.

Totally recommend you to try any window manager if you're into keyboard-driven navigation.

Collapse
 
phandungtri profile image
Phan Dũng Trí • Edited

I've been using Manjaro Linux for about 2 years, and totally got rid of Windows. Before Manjaro, I tried many other distros, and finally I decided to settle here, in Manjaro. I don't why many people on internet hate Manjaro, it's a good distro, almost things I need are available on Manjaro, it gives me a very good performance. I'm a lazy ass so I use GNOME as my DE because I can have a beautiful desktop without doing so much. Nice post btw, you show me many cool apps that I've never discovered before.

Collapse
 
mauro_codes profile image
Mauro Garcia

Gnome is a beautiful DE and it just works so it’s a great choice! I’m really enjoying window managers because it’s an excuse to learn a little bit more about the system, but who knows maybe I’ll try a DE later.

Collapse
 
bracikaa profile image
Mehmed Duhovic

I am using Ubuntu exclusively for the last couple of years, but I wanted to go the DIY Linux route, and I'm definitely thinking about picking up a more customizable distro. This was an amazing article!

Collapse
 
brandonwallace profile image
brandon_wallace

A lot the customization is in the installer, certain distributions allow for more customization than others. If you want to customize thing more look at Debian, Arch, Gentoo, and Slackware. The ultimate customization is LFS (linux from scratch).

Collapse
 
mauro_codes profile image
Mauro Garcia

I highly recommend you to check out the distrotube channel on youtube. He covers Avery simple piece of a custom Linux distro in a very beginner-friendly way