Cross-platform dotfiles and bootstrap scripts for Windows, macOS, Ubuntu, and Fedora.
install.sh- bootstrap entry point for macOS and Linuxinstall.ps1- bootstrap entry point for Windowsscripts/verify.sh- verification entry point for macOS and Linuxscripts/verify.ps1- verification entry point for Windowsscripts/- shared bootstrap helpersconfig/- tracked application and editor config filesscripts/platform/- operating-system-specific setup steps
- Git defaults are tracked in
config/git/.gitconfig. - Editor defaults are tracked in
config/editor/.editorconfigandconfig/vscode/settings.json. - Shell defaults start in
config/shell/.bashrc. - Local-only shell overrides can live in
~/.shell_localand are loaded by bash and zsh. - SSH host aliases live in config/ssh/.ssh/config and are installed to ~/.ssh/config with strict security permissions (700/600) enforced during bootstrap.
- Global Composer config lives in
config/composer/.config/composer/composer.jsonand is installed into~/.config/composer/composer.json. - PHP override settings live in
config/php/.config/php/conf.d/99-dotfiles.iniand are loaded throughPHP_INI_SCAN_DIR. - Composer global packages are installed from the tracked Composer home after the config is copied.
- FiraCode Nerd Font is installed on every platform so terminal glyphs render correctly.
microis exported as the default editor through shared shell and PowerShell profiles.- Shared shell and PowerShell prompts now show the current directory and Git branch.
- Windows Terminal gets a tracked profile defaults file when its settings path is available.
- macOS gets tracked Terminal and iTerm2 preference templates, plus zsh completion helpers.
- macOS shell integration now loads Homebrew completions and zsh plugins when available.
- Linux and macOS package installs now include
stow, PHP tooling, Composer, and common database clients. - VS Code settings are installed into each platform's user profile location.
- VS Code extensions are tracked in
config/vscode/extensions.txtand installed whencodeis available during bootstrap. - Windows now installs Laragon, NanaZip, database clients, and Composer when winget is available; Laragon handles PHP, MySQL, Apache, and Nginx.
- Bootstrap entry points now install the core Git, editor, and shell files into the home directory.
- macOS, Ubuntu, and Fedora now have a first-pass package installation layer.
- Windows now tries to install
wingetif it is missing, then falls back to Chocolatey for core package installation. - Windows also installs common CLI tools such as
curl,ripgrep, andfd. microis installed on every supported platform for command-line editing.- Private SSH keys such as
id_rsa,id_ed25519, and*.pemare ignored globally. - Continuous Integration (CI) is configured via GitHub Actions to automatically verify dotfiles on Ubuntu.
- macOS / Linux:
bash install.sh - Windows:
powershell -ExecutionPolicy Bypass -File install.ps1
- macOS / Linux:
bash scripts/verify.sh - Windows:
powershell -ExecutionPolicy Bypass -File scripts/verify.ps1
- Run the verification script for your platform.
- Test the installer on the current machine.
- Fix any config drift or missing package IDs.
- Commit and push the changes.
- Keep package IDs and platform defaults aligned with the real machines you use.
- Re-run verification after any config or installer change.
- Update the Windows Laragon or NanaZip choices if your workflow changes.