Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

33 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

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.


Purpose

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.


Repository Layout

dotfiles/
│
├── bash/
│   ├── .bash_profile
│   ├── .bashrc
│   ├── .bash_aliases
│   └── bin/
│       ├── create-python-project.sh
│       ├── pullall
│       └── ...
│
└── git/
    ├── .gitconfig
    └── .gitignore_global

Included Components

Bash Configuration

The shell configuration follows the standard Bash startup process.

  • .bash_profile

    • Entry point for login shells
    • Loads .bashrc
  • .bashrc

    • Interactive shell configuration
    • Adds personal ~/bin directory to the PATH
    • Loads Git completion and prompt support
    • Loads .bash_aliases
  • .bash_aliases

    • Personal aliases
    • Shell helper functions
    • Development shortcuts

Personal Scripts

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.


Git Configuration

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.


Development Environment

This repository is primarily intended for:

  • Windows 11
  • Git for Windows (Git Bash)
  • Visual Studio Code
  • Python
  • PostgreSQL
  • SQL Server (when required)

Installation

Clone the repository.

Copy the desired configuration files into your home directory.

Typical files include:

~/.bash_profile
~/.bashrc
~/.bash_aliases
~/bin/

Reload Bash:

source ~/.bashrc

or simply open a new Git Bash session.


Design Philosophy

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.

Future Plans

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


License

This repository is intended for personal use, but portions may be reused or adapted for other development environments as needed.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages