mise bootstrap
- Usage:
mise bootstrap [FLAGS] [SUBCOMMAND] - Aliases:
bs - Effect: destructive — may delete or irreversibly overwrite
- Source code:
src/cli/bootstrap.rs
Set up a machine from the current configuration
Runs these phases in order, when configured and selected:
- Linux accounts, then package-manager plugins.
- Pre-packages files/directories, the pre-packages hook, then packages handled by built-in managers.
- Privileged files/directories, system and user services, firewall, and Compose projects.
- Git repositories, then dotfiles, each with its pre/post hooks.
- Shell activation, macOS defaults and LaunchAgents, Linux user units, and user settings.
- The pre-tools hook, versioned tools, and post-tools hook.
- Package-plugin packages, then the post-packages hook and services requiring tools.
- The
bootstraptask, when defined, then the final hook.
Defaults and user settings also have pre/post hooks. See https://mise.jdx.dev/bootstrap.html for the complete phase order and configuration. Unchanged resource state is skipped, but hooks and the bootstrap task can run again; make those commands safe to repeat. Dotfile templates may execute while checking state.
Use --dry-run to preview the selected workflow, bootstrap status to inspect state, or bootstrap plan for the declarative-resource plan. --only and --skip accept repeated or comma-separated parts and cannot be combined.
Flags
--from <GIT_URL>— Clone a git repository and bootstrap from its configuration--adopt <GIT_URL|OWNER/REPO>— Adopt global configuration or shared dotfile history from a Git repository, then bootstrap--replace-history— Replace local dotfile history while adopting a setup repository--from-dir <DIR>— Directory used for the repository cloned by --from-n --dry-run— Print what would happen without installing anything-y --yes— Skip confirmation prompts--skip-dirty— Skip configured repos with local changes instead of failing--force-dotfiles— Overwrite existing files that conflict with whole-file dotfile entries--only <ONLY>— Run only one or more bootstrap partsCan be passed multiple times or as a comma-separated list. Cannot be used with
--skip.Choices:
plugins,packages,accounts,files,services,firewall,compose,repos,dotfiles,mise-shell-activate,macos-defaults,macos-launchd-agents,linux-systemd-units,user,tools,task,final-hook,shell,defaults,launchd,systemd--prompt-secrets— Prompt securely for missing bootstrap secret inputs--skip <SKIP>— Skip one or more bootstrap partsCan be passed multiple times or as a comma-separated list.
Choices:
plugins,packages,accounts,files,services,firewall,compose,repos,dotfiles,mise-shell-activate,macos-defaults,macos-launchd-agents,linux-systemd-units,user,tools,task,final-hook,shell,defaults,launchd,systemd--update— Refresh package manager metadata and update configured repos-h --help— Print help
Examples
mise bootstrap # packages + repos + dotfiles + tools + bootstrap task
mise -E work bootstrap --from [email protected]:example/dotfiles.git --yes
mise bootstrap --adopt [email protected]:example/mise-config.git --yes
mise bootstrap --adopt [email protected]:example/mise-config.git --replace-history --yes
mise bootstrap --force-dotfiles # replace conflicting dotfile targets
mise bootstrap --skip tools,task # skip tool installation and the bootstrap task
mise bootstrap --only tools # run just tool installation
mise bootstrap status --missing
mise bootstrap packages apply --yes
mise bootstrap repos status
mise bootstrap repos apply --dry-run
mise dot status
mise bootstrap mise-shell-activate apply --dry-run
mise bootstrap macos defaults status
mise bootstrap macos launchd-agents apply --dry-run
mise bootstrap linux systemd-units apply --dry-run
mise bootstrap user apply --dry-runSubcommands
mise bootstrap accounts <SUBCOMMAND>mise bootstrap compose <SUBCOMMAND>mise bootstrap dotfiles <SUBCOMMAND>mise bootstrap files <SUBCOMMAND>mise bootstrap firewall <SUBCOMMAND>mise bootstrap linux <SUBCOMMAND>mise bootstrap macos <SUBCOMMAND>mise bootstrap mise-shell-activate <SUBCOMMAND>mise bootstrap packages <SUBCOMMAND>mise bootstrap plan [FLAGS]mise bootstrap plugins <SUBCOMMAND>mise bootstrap remote [FLAGS] [TARGET]…mise bootstrap repos <SUBCOMMAND>mise bootstrap secrets <SUBCOMMAND>mise bootstrap services <SUBCOMMAND>mise bootstrap status [FLAGS]mise bootstrap user <SUBCOMMAND>