What I use

My everyday setup that feel right at home (maybe). • April 17, 2024

I get asked a lot about the things I use to build software, stay productive, or buy to fool myself into thinking I’m being productive when I’m really just procrastinating.

Setup

I have 3 systems, one of which runs Windows 10 and isn't worthy of a mention (sorry DESKTOP-K3828G something).

The first is my main workstation running Artix Linux with runit, and is where I do pretty much most of my things. AI, gaming, browsing the web, graphic designing, etc.

If you're curious, runit isn't actually so bad. It's simpler than systemd in my opinion, but you can go even smaller or just use systemd if you're the general folk of Linux users.

The second is my laptop running Linux Mint, you have probably heard of this distribution, it's the most popular Ubuntu-based distro. I use the regular Ubuntu-based edition with xfce for minimalism. Nothing else, nothing more.

Most of my configuratation or "ricing" lives on my desktop machine and everything is mostly shared around anyway so let's go over that.


Rice

I use i3 as my window manager, and i3bar that it came preinstalled with. Yes, I don't use polybar, I never felt the need for it. The i3bar icons are from Font Awesome.

I combine it with rofi with a Nord theme, and dmenu which I use sometimes incase rofi doesn't want to work.

For a compositor, I use Picom. I only need a modern, updated compositor that isn't riddled with bugs as the old, aging Compton did. I don't even have blur for my terminal enabled, I much rather none.


Editor

I use both Neovim and VSCode, because extension devs can't be bothered to make a plugin for Neovim or a Language Server that doesn't run horseshit. It's upsetting.

For simple editing, I use Helix. It's a new upcoming editor in Rust (of course) qnd I've been loving it! I set it up with my installed language servers too! It supports a ton of features and plugin support is underway, them i'll seriously switch to Helix full-time. I also wrote this blog with Helix.

For my terminal emulator, I use Alacritty. It's fast, simple and just works. I have a custom theme that makes it all pretty and simple.

I use the Monolisa monospaced font. I patch it with Nerd Fonts to get those pretty ligatures and icons.


Tools

I use Starship with ZSH and zimfw. Starship has a very fast yet simple and customizable prompt. Zimfw adds a plugin system to extend zsh.

Whenever I start up a new terminal, first thing I do is change into my desired directory, and for that I use Zoxide. It's a powerful tool that allows you to jump to your previously used directories with a few keystokes, like z down to move to your downloads folder, and this is only the tip of the iceberg, so I recommend you check it out!

I do a lot of backend development, and I obviously need to test them to make sure it does what I want, or I simply want to query a API quickly. For this, I use xh, it's a CLI that implements most of httpie's syntax, while bringing in performance, better startup time and HTTP/2 support. My favorite feature of it is that I can translate to CURL commands with the --curl flag if I need to share my query with someone, it's really handy.

Of course, I need to use git, unfortunately it somewhat sucks balls and I don't want to work around it for some medium tasks, so I use lazygit. It's a TUI in Go that brings a intuitive interface to git, making it pleasant to use.

I have been using the git-town model lately and it is seriously amazing. It just makes software development very efficient for me by making feature branches and keeping them in sync. It uses regular git commands so you lose out on nothing.

If you use GitHub like the plague (aka me, unfortunately), you must have heard of their CLI, and it actually is wonderful. Checking out PRs, viewing and searching repositories, everything works wonders. Highly recommended if you use GitHub and prefer the terminal.

Closing off

I hope you enjoyed this article and learned new tools to experience! See you next time!