/dotfiles

Keyboard-centric macOS Configuration for Academic Writing, Data Analysis, & Notetaking

Primary LanguageShell

Keyboard-centric macOS Configuration for Academic Writing, Data Analysis, & Notetaking

screenshot_full.jpg

Description

macOS configuration centered around Yabai window manager and Neovim

Disclaimer, the setup is updated frequently so there are a lot of cleaning left to be done.

Currently using Macbook Pro M1 2020 with 16GB of RAM. It handles 6 + 1 spaces with tons of programs open without a sweat.

Recent updates (As of 2023-02-26)

  • Color scheme from Gruvbox-marterial has been applied to alacritty, VS code, Zathura, Yabai, and sketchybar.
  • Key bindings has been simplified.
  • Since late July, I changed bottom bar from Übersicht to Sketchybar for stability, ease of configuration, less battery use, etc… Never regretted since!

Major programs and packages

Yabai + skhd

Window manager of my choice. I’ve previosuly using Rectangle, Amethyst, and rcmd which are great programs if you don’t want to disable SIP. However, I get more control over sending programs to specific spaces while it takes care of the rest of boring window resizing. Biggest upside of using Yabai with Script Addon is that changing space is instant, without any animation. In addition, skhd is being used to control functions of yabai and app/folder launcher. Now I feel like I’m using the space of my monitor to its fullest and I can never go back!

Some basic rules for keybindings:

  • lctrl is used for changing spaces
  • rcmd is used for controling focus, moving windows, and launching apps
  • lctrl + 1, 2, 3, 4, 5, 0: change focus to space
  • rcmd + h, j, k, l: Move focus (vim style)
  • rcmd + shift + h, j, k, l: Resize windows
  • rcmd + lctrl + h, j, k, l: Swap windows
  • rcmd + lctrl + shift + h, j, k, l: warp windows
  • rcmd + a: balance windows
  • rcmd + s: Stack mode
  • rcmd + d: bsp mode
  • rcmd + f: fullscreen mode
  • rcmd + t: toggle float and resize current window to center
  • lctrl + rcmd + 1, 2, 3, 4, 9, 0: move window to space
  • rcmd is also used for launching apps.
  • rcmd + return: terminal (alacritty)
  • rcmd + shift is used to quickly access folders I frequently use.

Zotero

With Zotfile and Better Bibtex for Zotero extension.

  • Zotfile provides more human-accessible ways to sort PDF files for citations. It also supports exporting PDFs to synced folder to be annotated on tablet and import the annotated file with a click of the button! This is ideal for me since I mostly read papers on my iPad using Flexcil app.
  • Better Bibtex for Zotero is used to automatically create citation key for each citation and export my Zotero library to BibLaTeX file. Zotxt was also considered as an option but it seems that Zotxt does not work as intended (for my purpose) since Zotero update for enhanced security. Better Bibtex + Org-ref works fine for me for notetaking and writing. The only caveat is that the interaction between Emacs and Zotero is not an direct communication and has to go through .bib file. Not that big problem for me since I’m planning to use LaTeX for the final export.

Neovim

To be added.

Some minor programs and packages that I currently use

  • Reeder 5 for RSS. (cloud sync with iOS apps is amazing feature!)
  • Raycast for quickly searching through files or an app that does not have keybinding.
  • Menuwhere for accessing menubar without reaching to top of the screen (I hide macos menubar)