# SPDX-FileCopyrightText: 2020 Adriaan de Groot <groot@kde.org>
# SPDX-License-Identifier: GPL-3.0-or-later
---
$schema: https://json-schema.org/schema#
$id: https://calamares.io/schemas/partition
additionalProperties: false
type: object
properties:
    efiSystemPartition: { type: string }  # Mount point
    efiSystemPartitionSize: { type: string }
    efiSystemPartitionName: { type: string }

    userSwapChoices: { type: array, items: { type: string, enum: [ none, reuse, small, suspend, file ] } }
    # ensureSuspendToDisk: { type: boolean, default: true }  # Legacy
    # neverCreateSwap: { type: boolean, default: false }  # Legacy

    drawNestedPartitions: { type: boolean, default: false }
    alwaysShowPartitionLabels: { type: boolean, default: true }

    defaultFileSystemType: { type: string }
    enableLuksAutomatedPartitioning: { type: boolean, default: false }
    allowManualPartitioning: { type: boolean, default: true }
    partitionLayout: { type: array }  # TODO: specify items
    initialPartitioningChoice: { type: string, enum: [ none, erase, replace, alongside, manual ] }
    initialSwapChoice: { type: string, enum: [ none, small, suspend, reuse, file ] }

    requiredStorage: { type: number }
required:
    - efiSystemPartition
    - userSwapChoices
