Some configuration files may contain personal or sensitive information. Review these before pushing to a public repository:
- Contains your name and email
- May contain machine-specific IDs or tokens
- Action: After running
setup.sh, update with your personal information:git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
.zshrc/.bashrc- May contain API keys, tokens, or sensitive paths.tmux.conf- Usually safe, but check for any custom paths
-
Clone this repository on a new machine:
git clone <your-repo-url> ~/terminal-config cd ~/terminal-config
-
Run the setup script:
./setup.sh
-
Update personal information:
- Edit
~/.gitconfigwith your name and email - Review shell configs for any machine-specific settings
- Edit
-
Reload your shell:
exec $SHELL
After making changes to your configs locally:
-
Update the repository:
cd ~/terminal-config ./update-configs.sh
-
Review and commit changes:
git status git diff git add . git commit -m "Update configurations" git push
terminal-config/
├── .bash_profile # Bash profile configuration
├── .bashrc # Bash shell configuration
├── .gitattributes # Git line ending rules
├── .gitconfig # Git configuration
├── .gitignore # Git ignore rules
├── .tmux.conf # Tmux configuration
├── .zprofile # Zsh profile configuration
├── .zshrc # Zsh shell configuration
├── nvim/ # Neovim configuration directory
│ ├── init.lua # Main neovim config
│ └── ... # Other nvim files
├── README.md # Main documentation
├── SETUP_NOTES.md # This file
├── setup.sh # Installation script
└── update-configs.sh # Update script
- Keep this repository private if it contains sensitive information
- Alternatively, use environment variables for sensitive data instead of hardcoding
- Consider using a
.envfile (not committed) for machine-specific settings - Regularly sync your configs to keep this repository up to date
chmod +x setup.sh update-configs.shMake sure the file permissions are correct:
chmod 644 ~/.zshrc ~/.bashrc ~/.tmux.conf ~/.gitconfigIf neovim has issues loading the config:
# Check neovim config location
nvim --version | grep config
# View neovim errors
nvim +checkhealth