Cross-platform configuration files for macOS and Linux. Built around a consistent philosophy: vi-keybindings everywhere, tiling window management, and a terminal-first workflow.
| Tool | macOS | Linux | Docs |
|---|---|---|---|
| Neovim | config | config | docs/neovim.md |
| Tmux | config | config | docs/tmux.md |
| Zsh | config | config | docs/shell.md |
| Kitty | config | config | - |
| AeroSpace (tiling WM) | config | - | docs/window-management.md |
| i3 (tiling WM) | - | config | docs/window-management.md |
| Karabiner (key remap) | config | - | - |
| Rofi (launcher) | - | config | docs/window-management.md |
Full keybinding reference: docs/keymaps.md
- Vi-mode everywhere -- zsh, tmux, window managers, and Neovim all use h/j/k/l navigation
- Tiling window management -- i3 on Linux, AeroSpace on macOS, with matching keybindings
- Catppuccin Mocha as the primary theme across tmux and terminal, with a persistent theme picker in Neovim
- Platform parity -- both setups share the same muscle memory despite different tools
| Tool | Install |
|---|---|
| Homebrew | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
| Neovim | brew install neovim |
| Tmux | brew install tmux |
| Kitty | brew install --cask kitty |
| AeroSpace | brew install --cask nikitabobko/tap/aerospace |
| Karabiner-Elements | brew install --cask karabiner-elements |
| Zsh plugins | brew install zsh-autosuggestions zsh-syntax-highlighting powerlevel10k |
| fzf | brew install fzf && $(brew --prefix)/opt/fzf/install |
| thefuck | brew install thefuck |
| Tool | Install (Debian/Ubuntu) |
|---|---|
| Neovim | sudo snap install nvim --classic or build from source |
| Tmux | sudo apt install tmux |
| Kitty | sudo apt install kitty |
| i3 | sudo apt install i3 |
| i3blocks | sudo apt install i3blocks |
| Rofi | sudo apt install rofi |
| Zsh | sudo apt install zsh && chsh -s $(which zsh) |
| fzf | sudo apt install fzf |
| Powerlevel10k | git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.zsh/powerlevel10k |
git clone https://github.com/ekremarmagankarakas/dotfiles.git ~/dotfiles
cd ~/dotfiles
# Preview what will be linked (recommended first)
./install.sh --dry-run
# Install (auto-detects platform)
./install.sh
# Or specify platform explicitly
./install.sh mac
./install.sh linuxThe install script:
- Creates symlinks from your
~/.config/to this repo - Backs up any existing files (saved with
.backup.*suffix) - Skips files that are already correctly linked
- Installs TPM for tmux plugin management
After installation, open tmux and press Ctrl-s + I to install tmux plugins.
Some settings are intentionally machine-specific. If you fork/clone this repo, search for these and update them:
- search and replace
ekrem-armagan-karakasandekremarmagankarakaswith your own username zsh/zshrc.linux:BROWSERandzen(expects~/AppImages/zen_browser.appimage)i3/config: browser keybind (expects~/AppImages/zen_browser.appimage)i3/config: file explorer keybind (expectsThunar)nvim/lua/plugins/telescope.lua: Has hardcoded dir locations to search from. Update these to fit your own setup.zsh/zshrc.mac: optionalantigravityPATH entryaerospace/aerospace.toml: browser keybind (expectsBrave)aerospace/aerospace.toml: file explorer keybind (expectsCommander One)
A full IDE-like setup built on Lazy.nvim with LSP support for 10+ languages, DAP debugging, and a persistent theme picker that lets you switch between 12 colorschemes. See docs/neovim.md for the full breakdown.
Both platforms use tiling WMs with nearly identical keybindings. Alt+h/j/k/l to focus, Alt+Shift+h/j/k/l to move, Alt+1-9 for workspaces. See docs/window-management.md.
Zsh with Powerlevel10k, vi-mode with cursor shape changes, and a shared set of git/docker aliases across both platforms. See docs/shell.md.
MIT