Port dotfiles to macOS with i3-like tiling WM#1
Open
kifbv wants to merge 11 commits into
Open
Conversation
Feature-by-feature review of Linux dotfiles for porting to macOS. Each item has a checkbox — tick to keep, untick to skip. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adapt Linux dotfiles for macOS: - Bash: macOS GPG/SSH paths, Homebrew completion, pbcopy, open - Git: fix excludesfile path, keep all aliases and GPG signing - Vim: unchanged, create backup/undo/swap dirs in install script - Inputrc: remove Linux-specific include, keep all keybindings - Disabled features kept as comments for future re-enabling Add macOS-specific configs: - AeroSpace: i3-like tiling WM with vim navigation, gaps, window rules, multi-monitor, workspace-to-sketchybar integration - SketchyBar: Tokyonight status bar with workspace indicators, CPU/memory graphs, GitHub notifications, Spotify - JankyBorders: glow borders matching Ghostty Blue Matrix theme - Ghostty: Blue Matrix theme with 85% opacity - App launcher: choose-gui (dmenu clone) with Brave profiles - Bitwarden and GitHub CLI integrations via choose-gui - Modifier switch script (alt/cmd toggle) Remove Linux-only configs: - Alacritty, Sway, Waybar, Wofi, brave-flags, dockerfunc Add install.sh bootstrap script for fresh Mac setup. Add dot-bash_profile to source bashrc on macOS login shells. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
These are required by the GitHub and Bitwarden integration scripts but were missing from the bootstrap. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
On a fresh Mac, /bin/bash is v3.2 which doesn't support ${var^}
for case modification. Use awk instead, and add case-insensitive
grep for app detection in /Applications.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The install script now: - Prompts for name and email at start (supports different identities per machine, e.g. personal vs work) - Generates ed25519 SSH key if none exists - Generates ed25519 GPG signing key if none exists - Configures git identity via git config --global Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix typo: signinkey → signingkey in git config - Update GPG key ID to new iMac key - GitHub indicator: count all notifications, click opens github.com/notifications Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Scratchpad: alt+minus sends window to hidden workspace S, alt+shift+minus brings it back as centered floating window - Cheatsheet: alt+/ shows searchable keybinding list via choose-gui - Ghostty: use cmd+n in existing instance instead of open -na to avoid cluttering cmd+tab with duplicate app icons Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Clean up vimrc: - Remove obsolete settings (nocompatible, ttyfast, pastetoggle) - Remove all commented-out vim-plug blocks (kept as install hints) - Remove mkview/loadview autocmds (caused errors on special buffers) - Remove vim-go and vim-hcl plugins (Go dev not needed) Add plugins via native pack/ (no plugin manager): - vim-commentary: gc to comment/uncomment - vim-surround: cs/ds/ys for surrounding pairs - vim-fugitive: Git integration (:Git, :Gdiffsplit, :Git blame) - vim-gitgutter: git diff markers in gutter - fzf.vim: fuzzy find files/buffers/grep - tokyonight-vim: colorscheme matching terminal/bar theme Add fzf keybindings: <leader>f files, <leader>b buffers, <leader>r ripgrep, <leader>l lines. Update install.sh to install vim plugins on fresh setup. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix packpath to include ~/.vim so native pack/ plugins load when vimrc lives at ~/.config/vim/vimrc - Transparent background: let Ghostty opacity show through - Add cheatsheet comment block at end of vimrc with all custom mappings and plugin shortcuts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- JetBrainsMono Nerd Font at 14pt - Background blur for frosted glass effect - Bar cursor style - Window padding for breathing room - Copy-on-select, trim trailing spaces - Shell integration for prompt detection - Keep window-decoration=auto for rounded corners Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The AppleScript and Ghostty CLI approaches don't reliably open new windows on the current workspace. open -na is the only method that works correctly, despite the cmd+tab clutter trade-off. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
install.shbootstrap script for fresh Mac setupWhat's included
Test plan
install.shon local iMac🤖 Generated with Claude Code