Skip to main content

My Introduction To Linux

· 4 min read
Kevin Shin
Electrical Engineer

It's been two weeks since I last wrote. I could have modified my blog dates and make it seem like I was on top of my blogging journal but why would I. That defeats the whole point of blogging. Blogging is supposed to showcase to whoever is visiting my site to see the raw and unfiltered person of who I am.

It's been a busy two weeks, juggling classes, finals, projects, looking for new grad opportunities, and learning some new stuff on the side. The new stuff is what this blog post is about, specifically, my introduction to linux.

Everybody hears linux and immediately thinks that person must be hardcore programmer or a hacker. I've come to find out that it's mainly two types of people: people who want to understand their computer and people who want to brag that they use linux.

I like to think that I fit the former as one of my life long interests is to be a lifelong learner. This means understanding what I'm working with, even though I may not necessarily require it.

Why you may ask?

Many may say that you don't need to understand how your car works if your whole purpose is to get from point A to point B, and I agree with that. My reasoning is that I don't want to be just a driver, but an engineer.

What if my car broke down in the middle of the road? Having a basic understanding of how a car functions can save you time and money instead of relying on someone else. It is also my core belief that knowing diverse sectors of technology can help make better informed decisions. We take inspiration from mother nature, so why can't we take inspiration from different fields?

Arch Linux

You might be wondering what linux distro I selected, and it's probably not a surprise that it's Arch Linux. The only reason why I chose this was because of how popular it was, meaning that there would be some sort of community support for it. It turned out to be right because Arch Wiki is one of the main leading reasons why Arch is used. It's also because you have more freedom in Arch than more common distros such as Ubuntu.

There are various trade offs such as having to configure packages individually, setting up your environment, getting hardware drivers that matches, and many more. This means that if ANYTHING went wrong, it was basically your fault. This is kind of an extreme way to learn linux (surface level) but it was fine since I had a windows OS on my SSD. I could just dual boot into my windows if my arch linux messed up and redo the entire setup again.

I'm not going to claim that I did everything on my own, and frankly speaking, I did ask LLMs for help. I wasn't going to spend my time reading documentation which in hindsight, I should have since most of the answers were on there. This isn't a tutorial on how to set up arch linux, so I won't be going into it. The biggest challenge though was perhaps figuring out how to configure my NVIDIA graphics card to work with the distro but I got that figured out using nvidia-drm.

Workspace

My next biggest challenge was to figure out what DE to use and how I wanted my workspace set up. I know I said I installed arch linux for the freedom, but I'm a big fan of not reinventing the wheel. I opted to just take someones dotfiles online and that's precisely what I did. I initially had KDE and Plasma set up, but after stumbling upon Hyprland, I was mesmerized by the aesthetics. I took the dotfiles provided by ML4W and configured some of them to fit my workflow.

I did a bunch of configurations and honestly enjoy how my workflow is set up. For my software workflow , I configured lazygit/lazydocker for easier use of git/docker in CLI. For anything IDE/terminal related, I configured neovim with nvim-dap.

To be truthful, at the time I am writing this, I am doing a water fast until the academic quarter starts, and do not have the energy to be writing this. So I will stop and just showcase my workflow below. Images and GIFs portray a thousand words.