A collection of personal configuration files, shell scripts, and utilities used to create a consistent development environment across multiple machines.
The goal of this repository is to make setting up a new workstation simple and repeatable while keeping configuration under version control.
This repository contains:
- Bash configuration files
- Git configuration
- Shell aliases and helper functions
- Personal command-line utilities
- Project creation templates and automation scripts
Rather than storing copies of software-provided files (such as Git's git-prompt.sh), this repository only contains personal configuration. Whenever possible, it references tools already installed on the system.
dotfiles/
│
├── bash/
│ ├── .bash_profile
│ ├── .bashrc
│ ├── .bash_aliases
│ └── bin/
│ ├── create-python-project.sh
│ ├── pullall
│ └── ...
│
└── git/
├── .gitconfig
└── .gitignore_global
The shell configuration follows the standard Bash startup process.
-
.bash_profile- Entry point for login shells
- Loads
.bashrc
-
.bashrc- Interactive shell configuration
- Adds personal
~/bindirectory to thePATH - Loads Git completion and prompt support
- Loads
.bash_aliases
-
.bash_aliases- Personal aliases
- Shell helper functions
- Development shortcuts
The bin directory contains reusable command-line utilities.
Examples include:
-
create-python-project.sh- Creates a standardized Python project structure
- Initializes Git
- Creates a virtual environment
- Installs common packages
- Generates starter files
-
pullall- Updates all Git repositories contained in child folders.
Additional utilities may be added over time.
The git folder contains user-specific Git configuration files, such as:
.gitconfig- Global
.gitignore
Git-supplied helper scripts (such as git-prompt.sh) are not stored here. Instead, the Bash configuration references the versions installed with Git for Windows.
This repository is primarily intended for:
- Windows 11
- Git for Windows (Git Bash)
- Visual Studio Code
- Python
- PostgreSQL
- SQL Server (when required)
Clone the repository.
Copy the desired configuration files into your home directory.
Typical files include:
~/.bash_profile
~/.bashrc
~/.bash_aliases
~/bin/
Reload Bash:
source ~/.bashrcor simply open a new Git Bash session.
The repository follows a few guiding principles:
- Keep configuration separate from installed software.
- Automate repetitive setup tasks.
- Use standard Unix/Bash conventions whenever practical.
- Favor portable, reusable scripts over machine-specific configuration.
- Keep the repository clean, documented, and easy to extend.
Planned additions include:
-
Additional project creation templates
- Python + PostgreSQL
- Python + SQL Server
- API projects
- Command-line utilities
-
Additional developer utilities
-
Database helper scripts
-
Backup and restore scripts
-
Improved shell prompt customization
-
Workstation bootstrap documentation
This repository is intended for personal use, but portions may be reused or adapted for other development environments as needed.