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.3.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.3-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: os_flip-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 da965069e1ab8b2480825ccd50d33c51b9983ad864260a9594c9d2984ec6d301
MD5 2d156d9b0b36fc6a33295639ebf9866e
BLAKE2b-256 aa24cf175db4d69d10f39ed453f71e1a9658722706ac7052b547ec3f914d8ed2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: os_flip-1.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 51a8c02488116b80e0a4913ebdf9e6086c8cfcdc0c663860f1b1e7245b778942
MD5 f0b115196077d7ea7bc95b6dc14ba901
BLAKE2b-256 d934f101ece685de5fee90fb97de64120188f2873cc5f7773c6e2f9943dca295

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