id = "distrobox" name = "Distrobox" homepage = "https://distrobox.it/" description = "Use any Linux distribution inside your terminal." executables = ["distrobox"] [dotfiles] # Distrobox's official README lists the user configuration files # ~/.config/distrobox/distrobox.conf and ~/.distroboxrc. # https://github.com/89luca89/distrobox#configure-distrobox 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 } [[commands.subcommand]] path = ["create"] label = "Create a container" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-create.md" evidence = """ distrobox create --image/-i: image to use for the container --name/-n: name for the distrobox --pull/-p: pull the image even if it exists locally (implies --yes) --yes/-Y: non-interactive, pull images without asking --root/-r: launch podman/docker/lilipod with root privileges. --clone/-c: name of the distrobox container to use as base for a new container --home/-H: select a custom HOME directory for the container. --volume: additional volumes to add to the container --additional-packages/-ap: additional packages to install during initial container setup --init/-I: use init system (like systemd) inside the container. --nvidia: try to integrate host's nVidia drivers in the guest --dry-run/-d: only print the container manager command generated """ [[commands.subcommand.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"] [[commands.subcommand.field]] id = "name" label = "Container name" type = "string" option = ["--name", "-n"] sources = ["docs"] [[commands.subcommand.field]] id = "pull" label = "Pull image first" type = "boolean" option = ["--pull", "-p"] sources = ["docs"] [[commands.subcommand.field]] id = "yes" label = "Non-interactive" type = "boolean" option = ["--yes", "-Y"] sources = ["docs"] [[commands.subcommand.field]] id = "root" label = "Rootful container" type = "boolean" option = ["--root", "-r"] effect = "exec" sources = ["docs"] [[commands.subcommand.field]] id = "clone" label = "Clone container" description = "Name of an existing distrobox to copy." type = "string" option = ["--clone", "-c"] sources = ["docs"] [[commands.subcommand.field]] id = "home" label = "Custom HOME" type = "path" option = ["--home", "-H"] path = { kind = "directory", role = "output" } sources = ["docs"] [[commands.subcommand.field]] id = "volume" label = "Extra volumes" description = "host:container[:mode], one per entry." type = "string" option = ["--volume"] multiple = true sources = ["docs"] [[commands.subcommand.field]] id = "packages" label = "Additional packages" type = "string" option = ["--additional-packages"] sources = ["docs"] [[commands.subcommand.field]] id = "init" label = "Run an init system" type = "boolean" option = ["--init", "-I"] sources = ["docs"] [[commands.subcommand.field]] id = "nvidia" label = "Integrate NVIDIA drivers" type = "boolean" option = ["--nvidia"] sources = ["docs"] [[commands.subcommand.field]] id = "dry_run" label = "Print command only" type = "boolean" option = ["--dry-run", "-d"] sources = ["docs"] [[commands.subcommand.task]] id = "create" label = "Create a container" fields = ["image", "name", "pull", "yes"] required = ["image", "name"] [[commands.subcommand.task]] id = "preview" label = "Preview the command" fields = ["image", "name", "dry_run"] required = ["image", "name"] set = { dry_run = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["image", "name", "pull", "yes"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["root", "clone", "home", "volume", "packages", "init", "nvidia", "dry_run"] [[commands.subcommand]] path = ["enter"] label = "Enter a container" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-enter.md" evidence = """ distrobox enter --name/-n: name for the distrobox --/-e: end arguments execute the rest as command to execute at login --no-tty/-T: do not instantiate a tty (alias: -H) --clean-path/-c: reset PATH inside the container to FHS standard --yes/-y: non-interactive, auto-create the container if it does not exist --root/-r: launch podman/docker/lilipod with root privileges. --dry-run/-d: only print the container manager command generated distrobox enter --name fedora-toolbox-35 -- bash -l """ [[commands.subcommand.field]] id = "name" label = "Container name" type = "string" option = ["--name", "-n"] sources = ["docs"] [[commands.subcommand.field]] id = "no_tty" label = "No TTY" type = "boolean" option = ["--no-tty", "-T"] sources = ["docs"] [[commands.subcommand.field]] id = "clean_path" label = "Reset PATH" type = "boolean" option = ["--clean-path", "-c"] sources = ["docs"] [[commands.subcommand.field]] id = "yes" label = "Create if missing" type = "boolean" option = ["--yes", "-y"] sources = ["docs"] [[commands.subcommand.field]] id = "root" label = "Rootful container" type = "boolean" option = ["--root", "-r"] effect = "exec" sources = ["docs"] [[commands.subcommand.field]] id = "dry_run" label = "Print command only" type = "boolean" option = ["--dry-run", "-d"] sources = ["docs"] [[commands.subcommand.task]] id = "enter" label = "Enter a container" fields = ["name"] required = ["name"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["name"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["no_tty", "clean_path", "yes", "root", "dry_run"]