My Terminal Workflow for Note-Taking, Data Engineering and Writing (Linux/MacOS)
I have a very sophisticated workflow setup that I have optimized over the years. My dotfiles have over 200+ stars on GitHub and grew from macOS to Linux with Omarchy, which I use today.
Below is my personal terminal workflow showcase from different work perspectives as a data engineer, developer, and writer/note-taker, spanning macOS and Linux (Arch via Omarchy). It covers tiling window management with Yabai+skhd and Hyprland, Neovim and Obsidian for writing and data engineering, Vim motions for writers, database querying with vim-dadbod, note-taking with Zettelkasten and PKM workflows, and links to dotfiles, YouTube demos, and Asciinema recordings.
There’s more around my second brain, but this is a short overview of some that come to mind right now. I might add more over time. Click the images below to get to the full YT video walkthroughs.
# My Different Workflow Showcases
# Omarchy (current Linux Setup)
Omarchy (using today) video about Arch Tiling Window Workflow (macOS comparison):

Omarchy Arch Tiling Window Workflow (macOS comparison) - YouTube
You also find it in writing at Arch Linux (Omarchy) — 8 Months Later: The Good, the Bad, and the Fixable (or why I switched in Part 1)
# MacOS
MacOS Tiling Windows Setup for Data Engineers & Writers with Yabai + skhd (used before Omarchy):

macOS Tiling Windows Setup for Data Engineers & Writers | yabai + skhd - YouTube
# Database SQL Query Workflow
Query databases in vim (vim-dadbod):

# Computer Desk Setup and Workflow with Monitors and Virtual Desks
Computer Desk Setup and Monitor Workflow with monitor alignment and virtual desktop setup:
_1771693321497.webp)
Find some more workflow videos at my Asciinema page.
# Screen Alignment and Virtual Desktops
Computer Desk Setup and Monitor WorkflowThroughout this journey, I’ve tried various alignments and configurations, ultimately concluding that the best setup for me is a single screen with separate desktops. I switch between them using these handy shortcuts:
🖥️
Super+1: Terminal for coding
🖥️Super+2: Browser for research and browsing needs
🖥️Super+3: Obsidian for notes, thinking, writing, and my Second Brain
🖥️Super+4: Music, featuring Spotify and Focus@Will for all things auditory
🖥️Super+5: Collaboration tools like Slack, Asana, Nirvana, and my to-do lists
🖥️Super+6: Extra (when laptop screen is open): Additional screens for meetings with Zoom, etc.
🖥️Super+7: Extra (when laptop screen is open)I’ve also experimented with various keyboards and mice. Currently, I’m using the Kinesis Advantage 2 and My KBDFans DZ65RGB as my daily drivers.
What is your go to setup after trying different setups?
Swapped
AltwithSuperI swapped to Super instead of Alt since I’m on Linux (and using
altfor tmux). Check out Omarchy as my Linux setup and My Journey from macOS to Arch Linux with Omarchy. And I use nowaltfor tmux direct shortcuts, e.g.alt+dto jump to my dotfiles,alt+wfor writing my articles,alt+bfor my second brain, and so on.# Monitor Alignment
Which one are you? 😉
# How I Landed on a Single Screen Setup?
I found that I can’t focus on both documentation and example at the same time anyway, so having them in the optimal position in the middle, and then switching between them ultra fast is key (single shortcut, hence above ). I feel like these speed-reading tools, which always put the words in the middle at the exact same position, make it easier to read vs. constantly jumping left to right with the eyes and searching for the last point.
Also, there are tasks that I move my browser next to my terminal, which is why a 27’’ works well for me, as you can still put them side by side when needed. Or what I do much more, pop up a Claude Web as an overlay window, hit it off, and then hide it again. Only for video calls, I prefer to keep my laptop as a second screen so I can do stuff while sharing the screen.
Original inspiration I also got from ThePrimeagen, which is a huge single-monitor proponent.
# Setup for X (Writer, Data Engineer, Note-Taking)
# My Workflow Setup for Writers: Vim Motions
I’m a full-time writer, and I use Obsidian and Neovim heavily as my writer tools.
I have written about Vim Motions for Writers, especially Vim Motions is key, if you work for a living on a computer, as it’s made specifically for text editing.
In Vim motions for writers, I write about:
- The Flow of Writing an Essay
- and my My Writing Process
- and I have a video of how this looks in action.
See it here:

Vim Motion for Writers Showcase (Inside My Obsidian Vault) - YouTube
I have multiple articles about this topic too, see essays about Vim and writing.
# Why I Use Vim a Lot
In Why Vim Is More than Just an Editor – Vim Language, Motions, and Modes Explained | ssp.sh I write:
I’m still using Obsidian a lot more for writing (see more on my PKM workflow) due to its additional features of supported images, backlinks, graphs, and plugins specified for note-taking, such as ReadWise) (syncing my highlight from books, and tweets), Dataview (using notes as a database), Excalidraw (drawing with Markdown format), Templates, and so on.
Nevertheless, I write more and more in Neovim. For now, I use ZenMode (for centering the text), Grammarly (for linting grammar), write-good (linting grammar), and specifically Obsidian.nvim (follow backlinks, and so on.). You find all details in my dotfiles.
In Obsidian, I use the Vim mode Obsidian .vimrc and map most hotkeys to my Vim settings. At the same time, I’ve been writing more and more in Neovim and have been progressively moving over to full Neovim.
Plugins such as Telescope and simple grep features that I use for coding work very well with Markdown. Here are some clips showing what is possible in an excellent talk about Writing, Editing, and World-Building at the speed of thought with Vim.
# Getting into the Zone: Zen Mode
# Data Engineering
Why Vim Is More than Just an Editor – Vim Language, Motions, and Modes Explained at the chapter “Vim for Data Engineers”.
# Note-Taking Workflow
My Public Second Brain Workflow with Quartz showcased:
I wrote at length at:
- My Obsidian Note-Taking Workflow | ssp.sh
- Personal Knowledge Management Workflow for a Deeper Life — as a Computer Scientist | ssp.sh
- My Zettelkasten Workflow with Zettelkasten for Tech Notes and Organizing and Writing My Notes
- Sharing as Second Brain Note vs a Blog Post
Or in long form video, if you have time:

Link: My Obsidian Note-Taking Workflow - YouTube
# My Web Clipping and Web-Highlighting Workflow
I used ReadWise for a while, but I completely changed my workflow to Obsidian Webclipper.
When I have lots of highlights and I’m on the computer, I create a new note with Webclipper and copy it directly as a quote, or add notes/comments inside the Obsidian note, instead of highlighting on a web page and then syncing that into Obsidian, which would also work with Webclipper.
So not only did the tool change, but the workflow did too. Even more, what I like is taking clips of books, and with Obsidian Webclipper, it allows me to add comments directly; no need to wait until it syncs. Meaning, if I clip a book that I got recommended, I can directly add the person, or a link to where I got the recommendation from, into the note at Origin:. So when I actually get to what I want to read next, or if I discover the book after a couple of years, I still know who suggested it to me, which is important information that belongs to each book if I haven’t found it myself.
If you use Obsidian Webclipping, see my templates at My Templates, so you can use it for YouTube, LinkedIn, GoodReads, Receips, etc.
# Terminal GitHub Workflow in Neovim
# Further Reads
Origin: tmux
References: Essential Linux Commands
