First Run Walkthrough¶
This guide walks through every step of your first Bootible run, explaining what happens at each stage.
Before You Begin¶
Set your sudo password (Steam Deck)
If you haven't set a sudo password on your Steam Deck, open Konsole and run:
Enter a password when prompted. You'll need this during the Bootible run.Step 1: Run the Bootstrap Command¶
What Happens¶
- Script Download — The bootstrap script is downloaded from
bootible.dev - Integrity Check — SHA256 hash is verified to ensure the script wasn't tampered with
- Device Detection — Bootible identifies your device type
Step 2: Private Repository (Optional)¶
You'll be prompted:
Option A: No Private Repo¶
Press Enter or type n to use default settings.
- Bootible runs with sensible defaults
- Logs are saved locally but not synced
- Perfect for trying out Bootible
Option B: Use Private Repo¶
Type y and enter your GitHub repository:
First time? Set up your private repo first
See Private Configuration for how to set this up.
Step 3: GitHub Authentication¶
If you specified a private repo, Bootible needs to access it.
QR Code Login (Recommended)¶
A QR code appears on screen:
╭───────────────────────────────────────────────╮
│ GitHub Device Authentication │
│ │
│ Scan this QR code with your phone: │
│ │
│ ██████████████████████████ │
│ ██ ██ │
│ ██ ████████████████ ██ │
│ ... │
│ │
│ Or visit: https://github.com/login/device │
│ Code: ABCD-1234 │
╰───────────────────────────────────────────────╯
- Scan the QR code with your phone
- Authorize the Bootible device login
- The script continues automatically
Why QR code?
Gaming handhelds have on-screen keyboards that make typing painful. The QR code lets you authenticate using your phone, where typing is much easier.
Step 4: Configuration Selection¶
If your private repo has multiple device configurations, you'll choose one:
Select the configuration for this device.
Step 5: Dry Run Preview¶
Bootible now runs in dry-run mode, showing what would happen:
╔════════════════════════════════════════════════════════════╗
║ Bootible - DRY RUN MODE ║
╚════════════════════════════════════════════════════════════╝
[DRY RUN] Would install: Discord
[DRY RUN] Would install: Spotify
[DRY RUN] Would install: VLC
[DRY RUN] Would configure: SSH server on port 22
[DRY RUN] Would enable: Decky Loader
[DRY RUN] Would install plugin: PowerTools
[DRY RUN] Would install plugin: ProtonDB Badges
...
Review Carefully¶
- ✓ Check that expected apps are listed
- ✓ Verify system settings look correct
- ✓ Note any warnings or skipped items
Nothing has been changed yet
Dry-run mode only previews. No packages are installed, no settings are changed.
Step 6: Apply Changes¶
If the preview looks good, apply your configuration:
What Happens During Apply¶
- Snapshot/Restore Point — Creates a backup before making changes
- Package Installation — Installs apps via Flatpak/winget
- Configuration — Applies system settings
- Plugins — Installs Decky plugins (Steam Deck)
- Cleanup — Removes temporary files
- Log Push — Uploads run log to your private repo
Step 7: Review Results¶
After completion, you'll see a summary:
╔════════════════════════════════════════════════════════════╗
║ Installation Complete! ║
╚════════════════════════════════════════════════════════════╝
Installed:
✓ Discord
✓ Spotify
✓ VLC
✓ Decky Loader
✓ PowerTools plugin
✓ ProtonDB Badges plugin
Configured:
✓ SSH server enabled
✓ Tailscale installed
Next Steps:
• Switch to Gaming Mode to see Decky plugins
• Press ... button → Decky tab
• Run 'bootible' again anytime to update
What's Next?¶
-
Re-running Bootible
Changed your config? Just run
bootibleagain to apply updates. -
Customize Further
Edit your config.yml to enable more features.
-
Platform Guides
Deep dive into platform-specific features.