| title | slug | date | enableToc |
|---|---|---|---|
htlin's dotfiles |
readme |
2023-02-16 |
false |
Your dotfiles are how you personalize your system. These are mine.
Personal dotfiles for macOS development environment, featuring Zsh, Neovim, tmux, and modern CLI tools.
- Zsh with Oh-My-Zsh and Powerlevel10k theme
- Neovim configuration
- tmux for terminal multiplexing
- Git configuration with useful aliases
- Modern CLI tools: fzf, ripgrep, fd, lsd, lazygit, and more
- Automated setup via bootstrap scripts
- Homebrew package management with Brewfile
- macOS (tested) or Linux
- Git
- Internet connection
sudo -v && \
chsh -s /bin/zsh && \
touch ~/.hushlogin/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Follow the instructions to add Homebrew to your PATHgit clone https://github.com/htlin222/dotfiles.git ~/.dotfilesbrew bundle --file="~/.dotfiles/Brewfile"
brew cleanup --prune=all
rm -rf "$(brew --cache)"cd ~/.dotfiles/start
./link_dotfilesThis will symlink configuration files to your home directory.
# Install Oh-My-Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install plugins
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/jeffreytse/zsh-vi-mode $ZSH_CUSTOM/plugins/zsh-vi-mode
git clone https://github.com/qoomon/zsh-lazyload $ZSH_CUSTOM/plugins/zsh-lazyload
git clone https://github.com/MichaelAquilina/zsh-you-should-use.git $ZSH_CUSTOM/plugins/you-should-use
git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab| Category | Files |
|---|---|
| Shell | .zshrc, .zshenv, .zprofile |
| Git | .gitconfig, .gitignore |
| tmux | .tmux.conf |
| Neovim | .config/nvim/ |
| R | .Rprofile |
If Homebrew binaries don't appear in /usr/local/bin:
sudo mkdir -p /usr/local/bin && \
sudo ln -s /opt/homebrew/bin/im-select /usr/local/bin/im-select && \
sudo ln -s /opt/homebrew/bin/nvim /usr/local/bin/nvim && \
sudo ln -s /opt/homebrew/bin/node /usr/local/bin/node# Find and install Python version
pyenv install -l | grep 3\\.12\\.
pyenv install 3.12.0
# Create virtualenv for Neovim
pyenv virtualenv 3.12.0 neovim3
pyenv activate neovim3
pip install neovim pynvim
pyenv deactivateApply recommended macOS settings:
sh ~/.dotfiles/macos.shsudo xattr -r -d com.apple.quarantine /path/to/app.appFor a comprehensive guide to terminal-based development workflow, see the docs directory, which contains "The Terminal Way" - a complete guide covering:
- Shell configuration and customization
- tmux for terminal multiplexing
- Neovim setup and usage
- Modern CLI tools (fzf, ripgrep, fd, etc.)
- Git workflow optimization
- And much more...
USE AT YOUR OWN RISK. This repository contains my personal configuration files and scripts. Before using:
- Review the code - Understand what each script does before running it
- Backup your data - These scripts may overwrite existing configuration files
- No warranty - This software is provided "as is", without warranty of any kind
- Not responsible - I am not responsible for any damage or data loss caused by using these dotfiles
- Test first - Consider testing on a virtual machine before applying to your main system
The scripts include operations that:
- Modify system preferences
- Create/overwrite symlinks in your home directory
- Install software packages
- Change shell configurations
Always backup your existing dotfiles before running any bootstrap scripts.
MIT License - See individual files for specific licensing information.
Inspired by various dotfiles repositories in the community. Special thanks to all the open-source tools and their maintainers.