{
  "id": "distrobox",
  "name": "Distrobox",
  "homepage": "https://distrobox.it/",
  "description": "Use any Linux distribution inside your terminal.",
  "executables": [
    "distrobox"
  ],
  "dotfiles": {
    "paths": [
      "[configHome]/distrobox/distrobox.conf",
      "~/.distroboxrc"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Distrobox",
    "description": "Create or enter a container. Unshare flags, hooks and the command to run at login are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "subcommand": [
      {
        "path": [
          "create"
        ],
        "label": "Create a container",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-create.md",
            "evidence": "distrobox create\n\t--image/-i:\t\timage to use for the container\n\t--name/-n:\t\tname for the distrobox\n\t--pull/-p:\t\tpull the image even if it exists locally (implies --yes)\n\t--yes/-Y:\t\tnon-interactive, pull images without asking\n\t--root/-r:\t\tlaunch podman/docker/lilipod with root privileges.\n\t--clone/-c:\t\tname of the distrobox container to use as base for a new container\n\t--home/-H:\t\tselect a custom HOME directory for the container.\n\t--volume:\t\tadditional volumes to add to the container\n\t--additional-packages/-ap:\tadditional packages to install during initial container setup\n\t--init/-I:\t\tuse init system (like systemd) inside the container.\n\t--nvidia:\t\ttry to integrate host's nVidia drivers in the guest\n\t--dry-run/-d:\t\tonly print the container manager command generated\n"
          }
        ],
        "field": [
          {
            "id": "image",
            "label": "Image",
            "type": "string",
            "option": [
              "--image",
              "-i"
            ],
            "suggestions": [
              {
                "value": "alpine",
                "label": "Alpine"
              },
              {
                "value": "ubuntu:latest",
                "label": "Ubuntu"
              },
              {
                "value": "fedora:latest",
                "label": "Fedora"
              }
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "name",
            "label": "Container name",
            "type": "string",
            "option": [
              "--name",
              "-n"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "pull",
            "label": "Pull image first",
            "type": "boolean",
            "option": [
              "--pull",
              "-p"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "yes",
            "label": "Non-interactive",
            "type": "boolean",
            "option": [
              "--yes",
              "-Y"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "root",
            "label": "Rootful container",
            "type": "boolean",
            "option": [
              "--root",
              "-r"
            ],
            "effect": "exec",
            "sources": [
              "docs"
            ]
          },
          {
            "id": "clone",
            "label": "Clone container",
            "description": "Name of an existing distrobox to copy.",
            "type": "string",
            "option": [
              "--clone",
              "-c"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "home",
            "label": "Custom HOME",
            "type": "path",
            "option": [
              "--home",
              "-H"
            ],
            "path": {
              "kind": "directory",
              "role": "output"
            },
            "sources": [
              "docs"
            ]
          },
          {
            "id": "volume",
            "label": "Extra volumes",
            "description": "host:container[:mode], one per entry.",
            "type": "string",
            "option": [
              "--volume"
            ],
            "multiple": true,
            "sources": [
              "docs"
            ]
          },
          {
            "id": "packages",
            "label": "Additional packages",
            "type": "string",
            "option": [
              "--additional-packages"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "init",
            "label": "Run an init system",
            "type": "boolean",
            "option": [
              "--init",
              "-I"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "nvidia",
            "label": "Integrate NVIDIA drivers",
            "type": "boolean",
            "option": [
              "--nvidia"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "dry_run",
            "label": "Print command only",
            "type": "boolean",
            "option": [
              "--dry-run",
              "-d"
            ],
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "create",
            "label": "Create a container",
            "fields": [
              "image",
              "name",
              "pull",
              "yes"
            ],
            "required": [
              "image",
              "name"
            ]
          },
          {
            "id": "preview",
            "label": "Preview the command",
            "fields": [
              "image",
              "name",
              "dry_run"
            ],
            "required": [
              "image",
              "name"
            ],
            "set": {
              "dry_run": [
                true
              ]
            }
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "image",
              "name",
              "pull",
              "yes"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "root",
              "clone",
              "home",
              "volume",
              "packages",
              "init",
              "nvidia",
              "dry_run"
            ]
          }
        ]
      },
      {
        "path": [
          "enter"
        ],
        "label": "Enter a container",
        "source": [
          {
            "id": "docs",
            "kind": "manual",
            "url": "https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-enter.md",
            "evidence": "distrobox enter\n\t--name/-n:\t\tname for the distrobox\n\t--/-e:\t\t\tend arguments execute the rest as command to execute at login\n\t--no-tty/-T:\t\tdo not instantiate a tty (alias: -H)\n\t--clean-path/-c:\treset PATH inside the container to FHS standard\n\t--yes/-y:\t\tnon-interactive, auto-create the container if it does not exist\n\t--root/-r:\t\tlaunch podman/docker/lilipod with root privileges.\n\t--dry-run/-d:\t\tonly print the container manager command generated\n\tdistrobox enter --name fedora-toolbox-35 -- bash -l\n"
          }
        ],
        "field": [
          {
            "id": "name",
            "label": "Container name",
            "type": "string",
            "option": [
              "--name",
              "-n"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "no_tty",
            "label": "No TTY",
            "type": "boolean",
            "option": [
              "--no-tty",
              "-T"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "clean_path",
            "label": "Reset PATH",
            "type": "boolean",
            "option": [
              "--clean-path",
              "-c"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "yes",
            "label": "Create if missing",
            "type": "boolean",
            "option": [
              "--yes",
              "-y"
            ],
            "sources": [
              "docs"
            ]
          },
          {
            "id": "root",
            "label": "Rootful container",
            "type": "boolean",
            "option": [
              "--root",
              "-r"
            ],
            "effect": "exec",
            "sources": [
              "docs"
            ]
          },
          {
            "id": "dry_run",
            "label": "Print command only",
            "type": "boolean",
            "option": [
              "--dry-run",
              "-d"
            ],
            "sources": [
              "docs"
            ]
          }
        ],
        "task": [
          {
            "id": "enter",
            "label": "Enter a container",
            "fields": [
              "name"
            ],
            "required": [
              "name"
            ]
          }
        ],
        "group": [
          {
            "id": "basic",
            "label": "Basic",
            "fields": [
              "name"
            ]
          },
          {
            "id": "advanced",
            "label": "Advanced",
            "fields": [
              "no_tty",
              "clean_path",
              "yes",
              "root",
              "dry_run"
            ]
          }
        ]
      }
    ]
  }
}
