This repository contains my personal configuration files for macOS and Windows. It automates the setup of a new machine, ensuring a consistent development environment across platforms.
- Cross-Platform: Configurations for both macOS and Windows.
- Automated Setup: Scripts to sync configurations and install software.
- Package Management: Uses Homebrew for macOS and Scoop for Windows.
- Git Configuration: Includes a global
.gitconfigwith aliases, default branch naming, and commit signing. - SSH Key Management: Automates public key setup and provides templates for secure SSH configurations.
- Custom Terminal Setup: Includes themes and settings for Windows Terminal and Oh My Posh.
Clone the repository to your local machine:
git clone https://github.com/ccrsxx/dotfiles.git ~/dotfiles
cd ~/dotfilesThis repository uses a .env.local file to manage sensitive data like IP addresses and hostnames for SSH configurations. This file is ignored by Git and must be created manually:
cp .env.example .env.localEdit .env.local with your actual secret information:
vim .env.localmacOS
# Run the macOS installation script
./scripts/install-macos.shWindows
# Allow the script to run for the current session
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
# Run the Windows installation script
.\scripts\install-windows.ps1After running the scripts, manually complete the following:
- Transfer Private Keys: Securely copy your private SSH key files (e.g.,
homelab_key,github_key) to the~/.sshdirectory. - Load Keys into Agent: Run
ssh-add ~/.ssh/your_private_keyto load your keys into the SSH agent.
The repository is organized as follows:
os/: Contains OS-specific configurations (e.g., macOS, Windows).shared/: Contains shared configurations (e.g.,.gitconfig, SSH templates).scripts/: Includes automation scripts for setup and installation.