Skip to content
VyogamiPublic

About

Dotfiles of my various tools.

Topics

Resources

Code of conduct

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Dotfiles

My personal configs for macOS, Linux and Windows, managed with Dotter.

codereaper-theme

What's inside

Configs are grouped by tool. Dotter symlinks each one into place based on a per-OS profile, so the same repo drives macOS, Linux and Windows.

  • Shells & terminals: Bash, Zsh, Fish, NuShell, Ghostty, Kitty
  • Editors: Neovim, Helix, VSCode. Neovim configs shamelessly stolen from Blonteractor 😼
  • Keyboard: Karabiner-Elements (macOS), keyd (Linux)
  • macOS automation: Hammerspoon (menu-bar Spaces + window tricks)
  • Tooling & misc: Git, Starship, Atuin, Neofetch, Tmux
  • Desktop: Grub, GNOME Shell (not managed by Dotter; see the gnome-shell configs)
  • Hardware profiles: system-profiles (syncs USB autosuspend, GPU clocks and lid behavior with GNOME Power Mode)

Install

The quickest path on a fresh Linux box is the bootstrap script, which pulls the repo and deploys everything for you:

# Linux one-liner
curl https://raw.githubusercontent.com/vyogami/dotfiles/main/linux-install.sh | sh

On macOS or Windows (or if you'd rather do it by hand), use the manual steps below.

Manual install (all platforms)
  1. Clone (needs Dotter installed):

    git clone --recursive https://github.com/vyogami/dotfiles.git && cd dotfiles
  2. Pick your OS profile (linux / macos / windows) and deploy:

    cp .dotter/<os>.toml .dotter/local.toml
    ./dotter deploy        # ./dotter.arm (Unix arm) | ./dotter.exe (Windows)

    Safe to re-run; add -f to overwrite existing files.

macOS extras (Karabiner + Hammerspoon)

The macos profile manages ghostty, karabiner and hammerspoon.

  1. Karabiner loads karabiner.json automatically; no build step.

  2. Hammerspoon needs its space-switch helper compiled once (binary is git-ignored):

    ./hammerspoon/build.sh   # -> ~/.hammerspoon/bin/spaceswitch (needs Xcode CLT)
  3. Grant Hammerspoon Accessibility, and enable Move left/right a space under System Settings → Keyboard → Keyboard Shortcuts → Mission Control.

Hammerspoon is split into independent modules under hammerspoon/modules. Toggle any feature with the features flags at the top of hammerspoon/init.lua (scroll-to-switch-Spaces, click-for-Mission-Control, Cmd+Tab monitor focus); turning one off never affects the others.

Keybindings

Most of my muscle memory lives in the keyboard remaps. Karabiner covers macOS, keyd mirrors the important bits on Linux, and Hammerspoon adds window and Spaces automation on top. Expand a section for the full mapping.

Karabiner (macOS)
Keys Action
Space (hold) + h/j/i/k/l/; … vim-style arrow motion layer
Caps Lock (tap / hold) Esc / Ctrl
Esc Caps Lock
⌥ tapped alone Mission Control
Ctrl + V ⌘ + V (paste) everywhere
Ctrl + C ⌘ + C (copy) everywhere except terminals and IDEs
Zen: Ctrl + T/F/W/L/R/S/C/X/Z/1 to 0/-/=/, ⌘ + equivalent (Ctrl + Tab & Ctrl + Alt + * preserved)
External Redgear keyboard Swaps left ⌘/⌥, maps left Ctrl → ⌘
Hammerspoon (macOS)
Input Action
Scroll over the menu bar Switch Spaces (up = prev, down = next)
Click empty menu-bar area Toggle Mission Control (active screen only)
⌘ + Tab Focus (and move cursor to) the frontmost window on the next monitor
keyd (Linux)
Keys Action
Space (tap / hold) Space / arrow layer
Caps Lock (tap / hold) Esc / Ctrl
Esc Caps Lock
Right Alt ⇄ Right Ctrl Swapped

Arrow layer (hold Space): j/i/k/l → arrows · h/; → Home/End · u/d → PgUp/PgDn · m/n → Delete/Backspace

Contributing

These are my configs. Use them as it is or stitch bits together into your own unholy creation 😉

License

Unlicense. Do whatever you want.

About

Dotfiles of my various tools.

Topics

Resources

Code of conduct

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages