Personal configuration files for macOS and Linux (tested on Fedora Workstation).
Provides a simple, repeatable setup for shell, Git, Vim, and VS Code.
-
Shell Configuration
.zshrcwith Oh My Zsh, plugins, and environment variables.bash_aliaseswith handy shortcuts (portable across macOS/Linux)- Portable
openalias →open .on macOS,xdg-open .on Linux
-
Git Configuration
git-config-setup.shsets up:- identity (name/email)
- sensible defaults (editor, rebase workflow, prune, autosquash)
- aliases for common commands (
co,c,st,hist,lg, …) - global ignore file (
.DS_Storeon macOS, space for Linux ignores too) - cross‑platform credential helper (macOS:
osxkeychain; Linux:libsecretif available)
-
Editor Configuration
.vimrcfor a clean, minimal Vim setup (UTF-8, sane defaults, clipboard).vscode/settings.jsonfor consistent VS Code behavior.vscode/extensions.jsonlisting recommended extensionsmcp.jsonfor workspace/project metadata
-
Setup Script
install.sh:- Safely symlinks dotfiles into your home directory
- Backs up existing files as
.bakbefore linking - Ensures Zsh plugins are installed/updated
- Runs personal Git setup if
git-config-setup.shis present - Detects platform for VS Code settings path (macOS vs Linux)
- macOS or Fedora/Linux
- Git
- Vim
- Oh My Zsh
- VS Code (with CLI
codeavailable in$PATH) - Optional tools:
- shfmt (shell formatter) for on-save formatting in VS Code — install via
brew install shfmt(macOS) orsudo dnf install shfmt(Fedora) - fzf for
vf/cfaliases - Yarn if you use the Node.js aliases
- Codex CLI (
cx) if installed
- shfmt (shell formatter) for on-save formatting in VS Code — install via
-
Clone this repository:
git clone https://github.com/benrozsa/dotfiles.git ~/Dev/dotfiles cd ~/Dev/dotfiles
-
Install (symlink + backups):
./install.sh
This links your dotfiles, sets up VS Code user settings, and installs/updates core Zsh plugins (if Oh My Zsh is present).
-
Git setup: Already run by
./install.shwhengit-config-setup.shis present.- Re-run manually any time with:
./git-config-setup.sh - macOS uses Keychain; Linux uses
libsecretwhen available. - Security note (Linux): if
libsecretisn't installed, credentials won't be stored. Installgit-credential-libsecret(e.g.,sudo dnf install git-credential-libsecreton Fedora) or build from Git's contrib if needed.
- Re-run manually any time with:
-
VS Code: Open the repo and install the recommended extensions. Formatting uses
shfmtfrom your PATH. Ensure it’s installed (e.g.,brew install shfmton macOS orsudo dnf install shfmton Fedora). Optional: if you need Flatpak/macOS/Linux portability, the repo includes a wrapper at.vscode/bin/shfmt— point"shfmt.executablePath"to it if required. -
Extras:
fzfenablesvf/cfhelpers. See.bash_aliasesfor more.
More implementation details are in CONTRIBUTING.md.
- The installer backs up any replaced files with a
.baksuffix in your home directory. To revert, remove the symlink and restore from the matching.bakfile.