Skip to content

Repository files navigation

dotfiles

Personal configuration files for macOS

Setup Image

Active

Tool Description
atuin Shell history sync
ghostty Terminal emulator with custom shaders
gitconfig Global Git configuration
kanata Keyboard remapping with Colemak and hyper layers
nushell Modern shell
nvim Neovim with lazy.nvim
opencode AI assistant
sesh Session manager
sketchybar Menu bar customization
tmux Terminal multiplexer
yazi File manager

Inactive / Not Used

Tool Description
aerospace Tiling window manager
hammerspoon macOS automation
karabiner Key remapping
yabai Tiling window manager
zellij Terminal workspace manager

Workflow

This is a minimalist developer setup focused on simplicity and efficiency. I use Neovim as my primary editor with a Colemak keyboard layout on a custom mechanical keyboard for optimal typing comfort and reduced finger movement.

Window Management

After experimenting with various tiling window managers including yabai and aerospace, I've settled on a simple single-screen workflow. Most tasks are handled with full-screen applications launched via keyboard shortcuts. For the rare occasions when multiple apps are needed simultaneously, I use Rectangle for basic window positioning.

Keyboard Layout and Input Management

The keyboard setup uses Kanata for key mapping with a hyper layer system. When holding the hyper key, I enter sublayer selection mode where pressing specific keys activates different function groups:

  • Apps layer - Quick launch for frequently used applications
  • Window management - Controls for window positioning and switching
  • Capture layer - Screenshot and screen recording tools using Shottr
  • System layer - Volume, brightness, and system controls
  • Browse layer - Direct links to websites and web tools
  • Music layer - Media playback controls
  • Movement layer - Advanced text navigation shortcuts
  • Raycast layer - Quick access to Raycast extensions
  • AI layer - ChatGPT and screenshot analysis
  • Files layer - Quick access to folders and file management

Setup

  1. Clone the repository:

    git clone https://github.com/jakmaz/dotfiles.git ~/git/dotfiles
  2. Run setup script to create symlinks:

    cd ~/git/dotfiles
    nu setup.nu

    This script will automatically symlink all configuration files and CLI scripts to their correct locations (~/.config/, $HOME, and ~/.local/bin/).

  3. Configure Hammerspoon (if using):

    After stowing the dotfiles, you need to tell Hammerspoon to use the configuration file from the .config directory:

    defaults write org.hammerspoon.Hammerspoon MJConfigFile "~/.config/hammerspoon/init.lua"

Manual Setup Required

When setting up a new device, these hyper key shortcuts from the Kanata config need to be manually configured in their respective apps:

AntiNote

  • Launch/toggle: Cmd+Ctrl+Alt+Shift+A

Shottr

  • Full Screenshot: Cmd+Ctrl+Alt+Shift+M
  • Window Screenshot: Cmd+Ctrl+Alt+Shift+N
  • Area Screenshot: Cmd+Ctrl+Alt+Shift+E
  • OCR Screenshot: Cmd+Ctrl+Alt+Shift+O
  • Screen Recording: Ctrl+Shift+Cmd+Alt+Enter

AI Raycast

  • Launch AI chat: Cmd+Ctrl+Alt+Shift+P

About

Personal configuration files for macOS

Resources

Stars

12 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages