This repository contains my configuration files and scripts for setting up my development environment.
This script will configure the following tools:
- Homebrew: Installs and manages packages through bundle.
- GNU Stow: Manages symlinks seamlessly for painless dotfiles setup.
- Git: Configures git aliases and settings.
- Zsh: Sets up zsh with plugins like zoxide, eza, starship prompt, and its configurations.
- Alacritty: Configures the alacritty terminal emulator for a minimal look.
- Tmux: Sets up tmux with plugins and themes. Also installs tmuxifier for session management.
- LunarVim: Configures the LunarVim editor.
- Lazygit: My git client of choice with a beautiful TUI.
- Sketchybar: Configures the macOS menu bar.
- AeroSpace: Tiling Window Manager. Similar to i3.
- macOS Defaults: Sets macOS sane defaults.
- Colortheme: Monokai Pro (Spectrum Filter).
- Fonts: JetBrainsMono Nerd Fonts with VictorMono Nerd Fonts for cursive.
- Install Command Line Tools:
# Remove existing Command Line Tools (if outdated)
sudo rm -rf /Library/Developer/CommandLineTools
# Install Command Line Tools
sudo xcode-select --install
Make sure Apple Clang
version is >16. If not, run above steps again to fix.
clang --version
- Install Rosetta 2 (required for some packages on Apple Silicon):
sudo softwareupdate --install-rosetta
- Full Disk Access to Terminal.app
Note: The installation process will require sudo access at various points. You'll be prompted for your password when needed.
- Run following command in Terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dhavalsavalia/dotfiles/main/bootstrap.sh)"
Change
main
to branch name for alternate branch. This is mostly for testing.
Example:
DOTFILES_BRANCH=bootstrap DOTFILES_PROFILE=minimal /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/dhavalsavalia/dotfiles/bootstrap/bootstrap.sh)"
MacOS Menu Bar is not getting hidden using defaults. Manually Set it to auto hide "Always" from System Settings
> Control Center
BEFORE running bootstrap script.
- Some defaults are not behaving properly
- Sketchybar and AeroSpace are not playing nicely together
- Report?
- AeroSpace requires
Privacy & Security
>Accessibility
. - Logi Options+ requires
Privacy & Security
>Input Monitoring
&Accessibility
. - Raycast requires
Privacy & Security
>Accessibility
.
- Add neofetch or something
- Add ranger
- make sure everything works on Corne keyboard
- complete git setup with ssh and gpg
- check and work on code TODOs
- per app stowing