Your Config Repo¶
Your personal Bootible configuration lives in a small private GitHub repository. You can create it and edit it entirely from a web browser — no git commands, no terminal. Bootible handles the rest on the device.
No GitHub account? Skip to No GitHub? Use a local config.
Why a config repo?¶
| Without a config repo | With a config repo |
|---|---|
| Default settings only | Fully customized setup |
| Logs saved locally | Run logs synced to GitHub |
| Manual config on each device | Same config across all devices |
| No version history | Full git history of changes |
Set it up from your browser¶
1. Create a private repository¶
Go to github.com/new:
- Repository name: something like
gaming,bootible-config, ordotfiles - Visibility: Private
- Check "Add a README file" so the repo has a first commit
That's the whole job in the browser for now. An empty repo is fine — Bootible copes happily with a config repo that has no config in it yet.
2. Tell Bootible about it¶
Run the one-liner on your device (Try It in 5 Minutes if this is your first time). When it asks, answer y and enter your details:
Do you have a private config repo? (y/N): y
Your GitHub username: yourname
Private repo (e.g., owner/repo): yourname/gaming
3. Sign in with your phone¶
Bootible uses GitHub's device flow for authentication: a window pops up with a QR code and a short code. Scan the QR with your phone (or visit github.com/login/device anywhere), enter the code, and approve. No password is ever typed into Bootible, and nothing needs the on-screen keyboard.
4. Bootible clones it¶
Your repo is cloned to the private/ folder inside Bootible's install directory (see where that is). If the repo doesn't contain a device config yet, Bootible reports Using default configuration and carries on with the defaults — nothing breaks.
Add your device's config (in the browser)¶
Bootible looks for one folder per device, in this layout:
<platform>isrog-allyorsteamdeck<DeviceName>is any name you like — your hostname or a memorable name (letters, numbers, dashes, underscores)
To create it with the GitHub web editor:
- In your repo, click Add file → Create new file.
- In the filename box, type the full path — typing
/creates folders as you go: -
Paste your overrides. You only need the settings you want different from the defaults:
-
Click Commit changes.
Every available key is documented in Config Basics and the per-device pages under Configure Your Device.
Pick up the changes on your device¶
The bootible command runs from the copy of your repo already on the device. To pull in what you just edited on GitHub, re-run the one-liner — it updates your private repo (answer y and enter the same owner/repo when asked), then shows a fresh preview. When the preview looks right:
Editing on the device instead
You can also edit the cloned file directly on the device (any text editor) and run bootible straight away — no re-download needed. See where your config lives.
Where your config lives on the device¶
Full repository structure¶
As you grow into it, your repo can hold more than config:
your-repo/
├── device/
│ ├── rog-ally/
│ │ └── MyAlly/ # One folder per device
│ │ ├── config.yml # Device configuration
│ │ ├── Images/ # Wallpapers, lockscreen images
│ │ └── Logs/ # Run logs (pushed automatically)
│ └── steamdeck/
│ └── MyDeck/
│ └── config.yml
├── scripts/ # Shared scripts (EmuDeck EA, etc.)
└── ssh-keys/ # SSH public keys (.pub only!)
| Directory | Purpose |
|---|---|
device/<platform>/<name>/ | Per-device configuration and files |
scripts/ | Shared scripts across all devices |
ssh-keys/ | SSH public keys to authorize |
Multiple device folders? Bootible lists them at run time and asks which one to use — see Multi-Device.
Wallpapers & images¶
Place images in your device's Images/ folder and reference them in your config:
SSH keys¶
Put public keys in ssh-keys/, then choose which to authorize:
EmuDeck Early Access¶
If you have EmuDeck Patreon access, place the scripts in scripts/ and Bootible uses the EA versions automatically:
| Platform | File |
|---|---|
| Steam Deck | EmuDeck EA SteamOS.desktop.download |
| ROG Ally | EmuDeck EA Windows.bat |
Run logs¶
Bootible pushes a transcript of each run to your device's Logs/ folder automatically — useful for debugging and for seeing what changed over time.
Prefer the terminal?¶
Set it up with init-private-repo.sh instead
If you have a computer with bash and git, Bootible ships a script that builds the same structure locally:
It asks for your device type and a device name, creates private/ with the full layout, downloads the current default config as your starting template, and makes the first commit.
Then create an empty private repo on github.com/new (no README this time — the script already made the first commit) and push:
cd private
git remote add origin [email protected]:YOUR_USER/YOUR_REPO.git
git push -u origin main
SSH key required for the git@ URL
The [email protected]:... remote shown above requires an SSH key registered with GitHub. If you don't have one, use the HTTPS URL instead: https://github.com/YOUR_USER/YOUR_REPO.git.
No GitHub? Use a local config¶
You can customize Bootible without any GitHub account. Create a config file at:
Put your overrides in it — same keys, same format as a repo config. It's merged on top of the defaults each time you run bootible.
Windows: the local config is skipped during the very first one-liner run
On Windows, the initial bootstrap passes an explicit config to the setup script, which bypasses the local layer. The local config applies on every bootible run after that. Practical order: run the one-liner once (press Enter at the repo question), then create your local config, then run bootible. On Steam Deck the local config applies from the first run.
What you give up without a repo: synced config across devices, automatic log push, and version history.
Security notes¶
Keep it private
Your config repo should be private on GitHub. It may contain SSH key references, device names and hostnames, and your personal preferences.
Never commit secrets
Never put passwords, API tokens, or private SSH keys in your config (only .pub files in ssh-keys/). If you need GitHub access on the device, the QR sign-in handles it — no tokens to paste.