s-abhinav / dotfiles

My personal dot file configurations organized in this repository, tailored for Scheme programming on a 12" MacBook

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dotfiles

Tailored for Scheme programming in Emacs on a 12” MacBook.

Installation

  1. git clone this ~/.dotfiles
  2. cd .dotfiles
  3. stow emacs

~/.emacs.d will have its configuration files symlinked to .dotfiles

Requies GNU Stow to facilitate installation. See hrs/dotfiles

The Scheme development environment

Programming in Scheme was the main driving force behind this setup, as well as the choice of a computing device.

MacBook

Why the 12” MacBook? Is it not the least powerful of all MacBooks? Actually, since my plan was to program inside the terminal and that I wouldn’t be running any CPU intensive computation, the hardware spec was the least of my concern.

  1. It has to have the best UX and having Unix as the OS. The only thing that comes to mind with this requirement is a macOS.
  2. It has to be ultra portable (small and light), should not generate any unnecessary heat (similar to mobile phone / tablet) and should not make any noise (fanless), like a mobile phone. High resolution display is a nice to have. Very few portable computing devices satisfy these requirements. The macOS requirement itself narrows down the search to Mac only devices. Ultra portable means MacBooks only. The MacBook Air came close, but at the time I was in the market, a new type of device was just released and it was the 12” MacBook. It filled all the requirements nicely. To me, that’s my perfect computing device.

As Steve Jobs, at the very beginning of Apple intended the computing device to be, the 12” MacBook is, I think, the most representative of his dream, and it shows; a zen like device, with no distractions at all, which allows you to focus on your most important task, and for me, that’s the terminal running in full screen in high resolution, making the fonts look super smooth. With Emacs, Guile, Geiser and ParEdit, along with the key remap working in unison, I feel that it’s a step closer to brain machine interface.

Emacs

Guile

Geiser

ParEdit

Keymapping with Karabiner

The MacBook does not have the right control key, although one of the command or option keys could be turned into control, Karabiner makes it even better by setting the control keys closer to the pinky finger. With Paredit, there is heavy use of key chords

The control keys were mapped to the caps lock and return keys, turning them into dual mode keys. With dual mode, the repurposed key has a different behaviour from being pressed and pressed and quickly released, as if hitting a character key for typing.

  • The return key, when pressed works as a control key, and when hit, works as a return key.
  • The caps lock key, works in a similar way, but when pressed, works as meta/escape key.

dotfiles was inspired by https://github.com/hrs/dotfiles

About

My personal dot file configurations organized in this repository, tailored for Scheme programming on a 12" MacBook


Languages

Language:Shell 76.2%Language:Emacs Lisp 23.8%