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
.zshenvfor PATH/env — loaded by every shell, including non-interactive subshells (AI agents, scripts).zshrcfor interactive setup — framework-free; plugins cloned directly into~/.zsh/plugins.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
.vimrc— minimal, no plugins: line numbers, search, indentation, system clipboard, persistent undo,jk→Esc.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
- 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
- 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 clones the Zsh plugins into
~/.zsh/plugins. -
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). -
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.