Skip to main content

Cross-platform boot OS selector for Linux, Windows, and macOS

Project description

OS Flip 🌀

A cross-platform terminal tool to view, set, and flip your default boot OS on Linux, Windows, and macOS.


✨ Overview

OS Flip is a Python-based utility to manage boot preferences across dual-boot or multi-boot systems. Whether you're switching between Linux and Windows or managing a macOS Boot Camp setup, OS Flip gives you a simple terminal UI to:

  • 🔍 View bootable OS entries
  • ✅ Set the default OS
  • 🔁 Temporarily Flips into another OS

🖥️ Platforms Supported

  • 🐧 Linux (GRUB2)
  • 🪟 Windows (bcdedit)
  • 🍎 macOS (bless) — experimental

⚙️ Features

  • 🧠 Auto-detects current OS
  • 📜 Lists all boot entries
  • ✅ Set permanent default boot entry
  • 🔁 Flip OS temporarily
  • 💬 Color-coded terminal UI
  • 📁 Logs activity to a platform-specific log file
  • 🪟 Windows .exe version available

📦 Installation

✅ Via pip (All Platforms)

pip install os-flip

Then run:

sudo os-flip  # On Linux/macOS
os-flip       # On Windows (admin)

Requires Python 3.6+

📥 Windows .exe (no Python required)

➡️ Download from GitHub Releases

Right-click → Run as Administrator May trigger SmartScreen warning (unsigned binary)


📋 Requirements

Linux:

  • Python 3
  • GRUB2 bootloader
  • os-prober, update-grub or grub2-mkconfig
  • sudo or root privileges

Windows:

  • Python 3 (for pip version)
  • Admin privileges
  • bcdedit access

macOS:

  • Python 3
  • Tools: diskutil, systemsetup, bless
  • Run with sudo
  • ⚠️ SIP and volume restrictions may apply

🚀 Example Output

   ____   _____          ______ _      _____ _____ 
  / __ \ / ____|        |  ____| |    |_   _|  __ \
 | |  | | (___    ___   | |__  | |      | | | |__) |
 | |  | |\___ \         |  __| | |      | | |  ___/ 
 | |__| |____) |        | |    | |____ _| |_| |     
  \____/|_____/         |_|    |______|_____|_|   

         Welcome to OS FLIP 
                         By - AK (Your OS)

📜 Available Boot Entries:
  1. Windows Boot Manager (on /dev/nvme0n1p1) (Current Default)
  2. Fedora Linux

⚙️  Options:
  1. Set default boot OS
  2. Flip OS
  3. Exit

📂 Log Location

OS Log File Path
Linux /tmp/os_flip_<username>.log
macOS /tmp/os_flip_<username>.log
Windows %TEMP%\os_flip_<username>.log

🧪 Tested On

OS Status
Ubuntu 22.04 ✅ Confirmed
Fedora 40 ✅ Confirmed
Windows 10/11 ✅ Confirmed
macOS (Intel) ⚠️ Experimental

🚧 Disclaimer

⚠️ Use at your own risk. Editing bootloader configs may prevent systems from booting. Always back up and know what you're changing.


👨‍💻 Author

Made with ❤️ by AK MIT Licensed — attribution appreciated!


🔗 Related Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

os_flip-1.0.2.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

os_flip-1.0.2-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file os_flip-1.0.2.tar.gz.

File metadata

  • Download URL: os_flip-1.0.2.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for os_flip-1.0.2.tar.gz
Algorithm Hash digest
SHA256 aaecadcafdf6ca6228771f811e159e86925c740806c6bd4dc68206e738e0840d
MD5 5d1b75ba7a8c82d01b22f23bcd5ca069
BLAKE2b-256 09dfebc0803d7804b7af6e83561ada9b7f169d47674b5d3a6894b3674245f344

See more details on using hashes here.

File details

Details for the file os_flip-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: os_flip-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for os_flip-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 78d2a617ccf04fb3582ff10cf69931245468d1190d4e29af51a8de37463c4523
MD5 c12b229eef7cad9d5768fe7c71ccf819
BLAKE2b-256 ee6b34ce8bba06ad90fae5c79760212b5c02f959d236a0d3a43827fdfdb5684a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page