____ ____ ___ ____ _ __
/ __ \/ __ \/ _ \/ __ \ | / /
/ /_/ / /_/ / __/ / / / |/ /
\____/ .___/\___/_/ /_/|___/
/_/
Oleg's Portable Environment
Oleg's Portable Environment — bootstrap a personal UNIX environment on a new machine from a dotfiles repository, packages, and custom install scripts.
⚠️ Status: raw, pre-alpha. This is a personal project under active, early development. The CLI, the dotfiles format, and the bootstrap flow may change without notice, and openv is not yet published to PyPI. Use at your own risk.
Point openv at a dotfiles repository and it discovers the tools you keep there, installs their system packages, links their config files into your home directory, and runs their custom pre- and post-install scripts.
The intended end-to-end flow. Generate a self-contained bootstrap script from your dotfiles repository URL:
openv generate-bootstrap --dotfiles https://github.com/you/dotfiles.git > bootstrap.shHost that script somewhere, then run it on the new machine:
curl -fsSL https://example.com/bootstrap.sh | shThe script detects the package manager (Homebrew, apt, or opkg), installs
prerequisites and openv, clones your dotfiles to ~/.openv, and runs
openv install.
If openv and your dotfiles are already present, install tools directly:
openv install # interactive tool selector
openv install zsh tmux # install named tools, skipping the selector
openv install --dotfiles PATH # use a dotfiles root other than ~/.openv
openv install --force # re-link configs and re-run scriptsEach top-level directory in the dotfiles root is a tool. Within a tool directory:
- an optional
install.shandpost-install.share run during installation; - all other files are treated as config files and linked into your home directory.
The default dotfiles root is ~/.openv.
- See
AGENTS.mdfor the tech stack, project conventions, and git workflow. - Common
Makefiletargets:make setup(set up the environment),make lint(style and type checks),make test(run the test suite). - Design artifacts live in
openspec/.
See SECURITY.md for how to report a vulnerability.
MIT — see pyproject.toml.