Skip to content

feat(onboard): set up a new machine from this repo - #876

Merged
AmrikSD merged 3 commits into
mainfrom
onboard
Oct 5, 2026
Merged

AmrikSD merged 3 commits into
mainfrom
onboard

Conversation

@AmrikSD

@AmrikSD AmrikSD commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Setting up a new laptop is a list of manual steps I have to remember. This makes it two commands: clone this repo, run projects/onboard/setup.sh.

setup.sh installs Nix if it is missing and starts onboard with just the tools it needs. onboard then signs in to GitHub, clones the dotfiles repo and runs its bootstrap (tools, apps, config), and finally lists my account and organisations with a tick box each and clones whatever is ticked into ~/code/<owner>/<repo>.

Ticking an owner ticks every repo under it, and opening one lets me pick repos individually. Only my own account is ticked to start with. Repos that are already checked out are skipped, so it is safe to re-run. If gita is installed, the clones are registered with it, grouped by owner.

This is the first non-stdlib Go dependency in the repo (Bubble Tea and Lip Gloss). The dotfiles step depends on bootstrap.sh, which is still in an open PR on AmrikSD/.dotfiles.

bazel run //projects/onboard/cmd/onboard
bazel run //projects/onboard/cmd/onboard -- -owner AmrikSD -yes   # repos only, no UI

Tested with bazel test //projects/onboard/..., plus real runs of the UI: the setup step against a stand-in dotfiles directory, and the picker cloning one repo into a scratch directory. setup.sh has not been run, since that needs a machine without Nix.

@AmrikSD AmrikSD changed the title feat(onboard): TUI that clones my repos onto a new machine feat(onboard): set up a new machine from this repo Oct 5, 2026
@AmrikSD
AmrikSD merged commit 84f6a52 into main Oct 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant