DEV Community

Cover image for Switching to Arch Linux
Mauro Garcia
Mauro Garcia

Posted on • Edited 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.

Oldest comments (157)

Collapse
 
mxglt profile image
Maxime Guilbert

Really interesting!

Collapse
 
mauro_codes profile image
Mauro Garcia

Thanks! Let me know if you have any questions. I'm a total noob on Linux, but I've been playing a lot lately :D

Collapse
 
mxglt profile image
Maxime Guilbert

I will let you know if I have questions
Thanks for your help :D

Collapse
 
patferraggi profile image
Patricio Ferraggi

Thanks mauro, awesome guide. I already have my laptop and I will be switching to linux soon (waiting for the ax500 wifi drivers to be fully supported). I also have arch in mind so this is perfect for me

Collapse
 
mauro_codes profile image
Mauro Garcia

Thanks Pato! The wifi drivers sometimes are a headache! Thankfully I'm using ethernet so I didn't have to deal with it 😄

Collapse
 
oben profile image
OBen

you could try a different distro, perhaps from ubuntu family, their team has made a huge progress in supporting ton of drivers.

Collapse
 
patferraggi profile image
Patricio Ferraggi

Yeah probably ubuntu is gonna be my first try, but even for them the drivers are still not fully merged. I am following the launchpad issue for ubuntu fixing that so hopefully soon 🙂

Thread Thread
 
kettle3d profile image
Kettle3D

Linux Mint has good drivers.

Thread Thread
 
mauro_codes profile image
Mauro Garcia

Mint is another great option!

Thread Thread
 
patferraggi profile image
Patricio Ferraggi

Yesterday the driver support got merged on the ubuntu launchpad bug and the dev who fixed it wrote me a message on how to use the fix so today I am gonna give it a try. Wish me luck 🤞

Thread Thread
 
mauro_codes profile image
Mauro Garcia

That was fast :D

Thread Thread
 
patferraggi profile image
Patricio Ferraggi • Edited

Everything worked out great, installed ubuntu (no wifi or bt) gave myself internet with usb tethering, updated kernel and firmware and after that everything worked out of the box. Considering deleting my windows partition even

Thread Thread
 
mauro_codes profile image
Mauro Garcia

So glad it worked out!

Collapse
 
smonff profile image
🌌 Sébastien Feugère ☔

Arch Linux should be only allowed for people doing experimental art. I wish you a good time on your new OS and let's talk about it again in six months.

Collapse
 
mauro_codes profile image
Mauro Garcia

I'm using ArcoLinux to avoid the initial pain of installing Arch. The installation process is pretty user-friendly in case you want to give it a shot lately. Ubuntu is an excellent alternative though 😁

I'm going to try bspwm! Thanks for the recommendation

Collapse
 
brandonwallace profile image
brandon_wallace

This is a great, well-written article. It is nice to hear about your experience using Linux. By reading it I also learned about a few new applications I have not heard of before.

Collapse
 
mauro_codes profile image
Mauro Garcia

Thanks for your feedback Brandon! Do you use Linux?

Collapse
 
brandonwallace profile image
brandon_wallace • Edited

Yes, I have been using Linux for more than a decade for desktop and server. I even used Linux to set up a router at one time. The advantages of using Linux outweigh any disadvantage more so than other operating systems.

Thread Thread
 
mauro_codes profile image
Mauro Garcia

I'm investing hours learning how to use it, so It's nice to hear that feedback! Do you recommend any particular distro? Did you try any window manager that I should try?

Thread Thread
 
brandonwallace profile image
brandon_wallace

I can explain. How can I contact you outside of dev.to? I do not have twitter or instagram. There is no contact form on your website.

Thread Thread
 
mauro_codes profile image
Mauro Garcia

Sure! You can write me at maurogarcia0209@gmail.com

Collapse
 
andreidascalu profile image
Andrei Dascalu

Just that .... never Brave. The affiliate link injection scandal made me reconsider all the privacy claims.

Collapse
 
mauro_codes profile image
Mauro Garcia

Do you have a link? I didn't hear about that scandal! 😨 Do you recommend another browser? I use Mozilla for like a year, but I find a lot of bugs lately.

Collapse
 
andreidascalu profile image
Andrei Dascalu

Been in lots of news.
theverge.com/2020/6/8/21283769/bra...

It's been a while but between this and a rumoured deal to ignore some FB tracking in some cases, I sort of felt it's not really worth the hassle.

I do prefer Opera, more from the perspective that I know its downsides (particularly with respect to privacy) so I know how to make up for them.

I also like Vivaldi, which is more lightweight and more privacy focused. This is my main browser for personal navigation.

I also use Duck duck go extension on Opera and Chrome for privacy settings.

Collapse
 
rmgrimm profile image
Robert Grimm

A quick web search found this: coindesk.com/brave-browsers-affili...

Personally, I use different browsers for different purposes. For example, I'll do most online shopping one way, general interest browsing another way, and work-related internet usage yet a different way. It takes a few extra minutes to set up the additional browsers and profiles, and takes a bit of discipline to build the habit of separating between them, but I find it worthwhile to keep going.

As long as I separate the usages and keep my various privacy settings in mind, adding Brave into the mix is acceptable to me. In other words, I just keep in mind that -- when using Brave -- I'm selling my attention and a limited view of my browsing behaviors for the benefit of Brave and for some BAT to myself.

On that note, I generally avoid Google Chrome because of the proprietary built-in spyware. I also don't want to enable or support the anti-competitive behaviors that they engage in. Being that Google builds web-based services and a browser, they're in a position to want to control the audience. Most other browser-software companies are not also building web-based services (like YouTube/Gmail/etc).

Anyway, here are a couple examples of the way Google doesn't compete in good faith:

Thread Thread
 
mauro_codes profile image
Mauro Garcia

I'm avoiding Google Chrome for the same reasons. A couple of months ago, I decided to switch to DuckDuckGo as my default search engine too.

I'm also aware that Brave is paying for my attention, and it's ok because they are transparent about that, and I can opt-out.

I tried Firefox for years, but during 2020 started performing poorly, so I decided to try another browser (of course not Chrome), and then I found Brave.

Thread Thread
 
andreidascalu profile image
Andrei Dascalu

Not sure what you mean by "paying for your attention". The problem is that they're changing the urls you're accessing with their affiliate codes to cash in for your clicks and they're not transparent about it.

Thread Thread
 
jae profile image
Jae Beojkkoch

It should also be noted that brave started to collect donations using content creator's images (without rewarding them of course) as well as having a really sketchy CEO.

Thread Thread
 
rmgrimm profile image
Robert Grimm

@jae - Yes, it was unwise of Brave to collect BAT for creators that did not opt-in to the Brave Rewards system. Even more so to include images from their profiles. That's a pretty poor decision and something to keep in mind when evaluating Brave.

@andreidascalu - The behavior that I see today is that Brave shows ads to users who opt-in, and then those users are given a small amount of cryptocurrency as a "reward". In other words, Brave pays cryptocurrency to users in exchange for agreeing to see Brave's ads. That's "paying for your attention".

With regards to the claim that Brave was changing the URLs that users are accessing, I believe that's a bit of an exaggeration. Take a look at this video that demonstrates the behavior and this other one that demonstrates the same behavior when using Google as the address-bar search engine. I can agree that Brave was auto-completing to a URL likely beyond what the user intended, but nobody forced anybody to take the full auto-completion. In other words, it wasn't surreptitiously changing the URL; instead, it was suggesting a URL and the enter-key -- like with most auto-complete UIs -- indicated that the user agreed to the suggestion. It also seems to have been limited in scope to exclusively "binance.us" (no www) and "binance.com" (also no www): I see no indication or reporting that the referral link scandal hit any other website beyond Binance. So yes, it's inconvenient. And yes, I disagree with it. That said, let's agree to aim for accuracy when we describe this.

Collapse
 
mauro_codes profile image
Mauro Garcia

You're not lucky. Arch is a good distribution :D The documentation is insanely good too.

Thread Thread
 
smonff profile image
🌌 Sébastien Feugère ☔

Yes, the documentation is excellent, I have to admit. I recommend it very often to people using Debian. Because Arch people run into so many problems, they built this amazing wiki that can save a lot of issues. This is really a thing.

Collapse
 
smonff profile image
🌌 Sébastien Feugère ☔

It's ok as long you upgrade your system 10 times a day.

Thread Thread
 
mauro_codes profile image
Mauro Garcia

Maybe it used to be more unstable? I don't know because I'm pretty new to Arch. But I've been upgrading my system once a week and didn't have problems yet :D

Collapse
 
oben profile image
OBen

great article! I’ve switched to full time linux workstation for both my web development job and personal usage. I must say it takes some time (reasonably) to adapt (after MacOS in my case) in terms of software alternatives BUT it’s totally worth it. Thanks for the software list, cheers ;)

Collapse
 
imonem profile image
imonem

Thanks for the article Mauro, for all people not taking the Arch switch to avoid the pain and the 40 years setup time you can try github.com/MatMoul/archfi
It's a script that semi automates the process

Collapse
 
mauro_codes profile image
Mauro Garcia

I didn't know about archfi! Thanks for your feedback!!