Advanced
Parallel sync
By default, repos-manager syncs 4 repos at a time. Adjust with:
repos-manager sync --all --parallel 8 Or set it in your config file:
{ "parallel": 8 } For large organizations (100+ repos), higher parallelism helps. For slow connections, lower it to avoid timeouts.
Self-update
repos-manager can update itself:
repos-manager update If running from a git clone, it fetches and fast-forward pulls from origin/main. If installed via make install, it clones the latest version to a temp directory and reinstalls.
Auto-generated sourceme files
After each sync, repos-manager generates sourceme, sourceme.zsh, and sourceme.fish files in each host directory. These provide the repos-manager function when you cd into the directory.
Combined with a sourceme auto-loader, the function loads and unloads automatically as you navigate your workspace.
Nix flake
repos-manager ships as a Nix flake for reproducible environments:
# Run directly
nix run github:Dxsk/repos-manager -- github sync
# Use as a template workspace
mkdir ~/my-repos && cd ~/my-repos
nix flake init -t github:Dxsk/repos-manager
nix develop The dev shell provides repos-manager with all dependencies and sets BASE_DIR to the current directory.
Dotenv integration
If you use Dxsk/dotenv (GNU Stow-based dotfiles), repos-manager integrates via scripts/projects.conf:
git@github.com:Dxsk/repos-manager.git make install The dotenv install script clones and installs repos-manager automatically on new machines.