#!/bin/bash

set -e

SUBVOL="/"

usage() {
    echo "Usage: system-readonly enable|disable|status"
    exit 1
}

case "$1" in
    enable)
        echo "Enabling read-only mode..."
        btrfs property set -ts "${SUBVOL}" ro true
        mount -o remount,ro "${SUBVOL}"
        echo "Root is read-only. Full effect on next reboot."
        ;;
    disable)
        echo "Disabling read-only mode..."
        btrfs property set -ts "${SUBVOL}" ro false
        mount -o remount,rw "${SUBVOL}"
        echo "Root is writable."
        ;;
    status)
        RO=$(btrfs property get -ts "${SUBVOL}" ro 2>/dev/null | awk -F= '{print $2}')
        if [ "${RO}" = "true" ]; then
            echo "Read-only: enabled"
        else
            echo "Read-only: disabled"
        fi
        ;;
    *)
        usage
        ;;
esac
