To set up your full development environment on a fresh macOS machine:
-
Install Xcode Command Line Tools (if prompted):
xcode-select --install
This is required for Homebrew and many developer tools.
-
Clone this repository:
git clone https://github.com/yourusername/dotfiles.git cd dotfiles -
Run the install script:
chmod +x install.sh ./install.sh
This will:
- Install all essential tools: Neovim, Tmux, Alacritty, Yazi, fzf, ripgrep, bat, fd, LazyGit, and iTerm2
- Install Nerd Fonts for beautiful terminal glyphs
- Symlink all your configuration files (backing up any existing ones)
- Automatically install Tmux plugins and Neovim plugins
- Clone and bootstrap my Devlog (Jekyll) site at
~/projects/learning/devlog - Give you clear feedback at every step
After the script completes, restart your terminal or source your shell config:
source ~/.zshrcDotfiles are configuration files for Unix-based systems that help you personalize your shell, editors, terminal, and other tools. Keeping them in a version-controlled repository makes it easy to set up a new machine or share your setup with others.
This repository includes custom configurations for:
- Zsh: My preferred shell, with custom prompts, aliases, and plugins.
- Neovim: A powerful text editor setup with plugins and custom key mappings.
- Tmux: Terminal multiplexer for managing multiple terminal sessions.
- Alacritty: Fast, GPU-accelerated terminal emulator.
- Yazi: Blazing-fast terminal file manager.
- LazyGit: Terminal UI for Git, simplifying Git operations.
- System Configurations: Other essential config files for macOS/Linux optimization.
- Devlog (Jekyll): Auto-clones my Devlog repo and installs Ruby gems.
Includes a
devlogZsh helper to create today’s entry with Prev/Next navigation.
.
├── config
│ ├── alacritty
│ ├── backup
│ ├── nvim
│ ├── tmux
│ └── yazi
├── coolnight.itermcolors
├── package-lock.json
├── README.md
└── install.shgit clone https://github.com/yourusername/dotfiles.git
cd dotfilesThis will:
- Backup any existing configs to a timestamped backup folder
- Symlink the new configs to your home directory
- Install Homebrew (if not present, macOS only)
- Install LazyGit (if not present)
chmod +x install.sh
./install.shAfter installation, restart your terminal or source your shell config:
source ~/.zshrc- The installer clones
https://github.com/IntScription/devlogto~/projects/learning/devlogand runsbundle install. - Repo: IntScription/devlog
cd ~/projects/learning/devlog
bundle exec jekyll serveThen open http://localhost:4000/devlog/.
After reloading your shell:
source ~/.zshrc
devlogThis opens today’s logs/YYYY-MM-DD/index.md in Neovim and auto-updates
Prev/Next links for today and the previous entry. It also refreshes the archive
and the homepage’s recent entries.
Place Markdown notes under ~/projects/learning/devlog/notes/, or symlink an
Obsidian folder:
ln -s ~/Obsidian/Vault/MyNotes ~/projects/learning/devlog/notes/MyNotes- A fixer script lives at
scripts/fix_markdown.shand a config at.markdownlint.json. - Neovim is configured to run the fixer automatically on save for Markdown files in this repo.
- You can also run it manually:
/Users/kartiksanil/dotfiles/scripts/fix_markdown.shOr with the alias:
fixmdThe fixer prefers markdownlint-cli2 if installed, falling back to
markdownlint (markdownlint-cli). The installer sets up both on macOS.
Preview Markdown in-browser with iamcco/markdown-preview.nvim:
:MarkdownPreviewToggleKeymap: <leader>mp.
If you don't have Homebrew, the install.sh script will install it for you.
Homebrew is the recommended package manager for macOS and is used to install
tools like LazyGit.
- Existing configs are backed up to a
backup_YYYYMMDD_HHMMSSfolder in the repo. - New configs are symlinked from the repo to your
~/.configdirectory (and~/.zshrc). - This makes it easy to update configs by just pulling changes and re-running the script.
Feel free to fork this repo and adapt it to your needs! You can:
- Add your own plugins, themes, or scripts
- Modify configs for your workflow
- Share improvements via pull requests
Contributions, suggestions, and issues are welcome! Please open an issue or PR if you have ideas to improve these dotfiles.
MIT License.
- Fast onboarding: Get your dev environment up and running in minutes.
- Consistency: Same setup across all your machines.
- Easy to update: Just pull and re-run the script.
Happy hacking! 🚀