Personal terminal and development environment configuration files for a productive development setup.
- Shell Configuration: Zsh with Oh-My-Zsh, Bash, and shared profile settings
- Text Editors: Vim and Neovim configurations with plugin management
- Git Configuration: Personal Git settings and aliases
- Development Tools: Python virtual environment wrapper, NATS tools
- System Configuration: Network mounting, systemd services
- Automated Installation: Ansible-based setup with dependency management
The installer will automatically check for and offer to install uv if not present. You can also install it manually:
curl -LsSf https://astral.sh/uv/install.sh | sh-
Clone the repository:
git clone <repository-url> ~/.dotfiles cd ~/.dotfiles
-
Run the installer:
./install.sh
The installer will:
- Check for
uvand prompt to install if missing - Use Ansible (via
uvx) to configure your system - Create symbolic links for all configuration files
- Install Vim/Neovim plugins automatically
- Set up development tools (Rust, Python, Go, NATS)
- Zsh with Oh-My-Zsh framework
- Custom aliases and functions
- Enhanced prompt and completion
- Rust: rustup toolchain manager
- Python: uv package manager and uvx runner
- Go: NATS ecosystem tools (nats-cli, nats-server, nkeys)
- Vim/Neovim: Vim-Plug plugin manager with automatic plugin installation
All configuration files are symlinked from this repository to your home directory:
~/.bashrc→.bashrc~/.zshrc→.zshrc~/.profile→.profile~/.gitconfig→.gitconfig~/.vimrc→.vimrc~/.vim/common.vim→vim/common.vim~/.config/nvim/→nvim/~/.oh-my-zsh/→ohmyzsh/
You can run specific parts of the setup:
# Install only Python tools
uvx --from ansible-core ansible-playbook install.yml --tags python
# Install only shell configuration
uvx --from ansible-core ansible-playbook install.yml --tags shell
# Install only Vim/Neovim
uvx --from ansible-core ansible-playbook install.yml --tags vim,nvimThe Python installer (install.py) is deprecated but still functional. It will show a deprecation warning and recommend using install.sh instead.
- Edit configuration files directly in the repository
- Changes are immediately reflected via symbolic links
- Add custom Vim plugins to
.vimrc - Modify shell aliases in
.zshrcor.bashrc - Update Ansible playbooks for system-level changes
- Primary: macOS, Linux
- Tested: Ubuntu, CentOS/RHEL, macOS
- Requirements: curl, bash, git
- uv not found: The installer will prompt to install it automatically
- Ansible errors: Ensure
uvx --from ansible-coreworks in your environment - Permission issues: Some system configurations may require sudo access
- Plugin installation fails: Run
:PlugInstallmanually in Vim/Neovim
This is a personal dotfiles repository, but feel free to fork and adapt for your own use. Pull requests for bug fixes are welcome.