I have a 2019 Asus Zenbook 13. It’s very portable, Linux worked out of the box, and the battery lasts for ~8h of work. The keyboard is awful, though. Another device I use is a 2021 Macbook with the M1 Pro chip. The hardware is fantastic in almost every way, but the software is a bit of a downgrade for an experienced Linux user.

When working from my desk, I use a wireless Microsoft Ergonomic Sculpt keyboard1, and an external vertical monitor. This setup is great for reading papers.


For the Zenbook, I use a Manjaro Linux with the tiling window manager i3. 2

In my Mac setup, I heavily utilize yabai, skhd and karabiner-elements. With enough tinkering, it is possible to recreate most of the i3 experience. 3 My setup is based on these dotfiles.

For taking notes, I use org-mode in Spacemacs. It is simple, local-first, has Vim keybindings, and can render inline LaTeX fine.

I write lots of code in Neovim, with various plugins installed via vim-plug.

For more complex projects, Visual Studio Code is fine, especially for remote development over SSH. 1

Of course, all of the above support Vim keybindings.


For web browsing, I use Firefox with the following life-saving extensions: vimium, OneTab, Tree Style Tab, Enhancer for Youtube and uBlock Origin.

  1. It comes with a usable mouse, and works with Linux out of the box. It’s very good value for money. ↩︎ ↩︎

  2. There is no bloat at all if you go with i3. I used Arch before and everything is the same. ↩︎

  3. I didn’t succeed completely – for example, with multiple displays, it doesn’t seem possible to label workspaces non-consecutively. If you have any ideas on how to do this, please let me know! ↩︎