id = "lazydocker" name = "lazydocker" homepage = "https://github.com/jesseduffield/lazydocker" description = "A simple terminal UI for both docker and docker-compose, written in Go with the gocui library." executables = ["lazydocker"] [dotfiles] # docs/Config.md, "Opening The User Config" → "Locations": # # OSX: ~/Library/Application Support/jesseduffield/lazydocker/config.yml # Linux: ~/.config/lazydocker/config.yml # Windows: C:\Users\\AppData\Roaming\lazydocker\config.yml # # These are three different layouts rather than one location under three # names — macOS keeps the jesseduffield vendor segment that the other two # dropped — so no single base directory covers them and each is written out. # A consumer skips the ones that do not exist. paths = [ "~/Library/Application Support/jesseduffield/lazydocker/config.yml", "~/.config/lazydocker/config.yml", "%APPDATA%/lazydocker/config.yml", ] exclude = [] # lazydocker talks to the local Docker daemon over its socket and keeps no # credentials of its own; a registry login lives in ~/.docker/config.json, # which is Docker's entry, not this one. secret = [] # No machine_lines: the file is the colour theme, panel sizes, log settings and # the user's custom commands, all of which are meant to follow them. [commands] format = 1 label = "lazydocker" description = "Open the lazydocker terminal UI, optionally with alternate compose files or a project name, or print the default config. Docker host and context settings are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "main-go" kind = "help" url = "https://raw.githubusercontent.com/jesseduffield/lazydocker/HEAD/main.go" revision = "HEAD 2026-10-27" evidence = """ flaggy.Bool(&configFlag, "c", "config", "Print the current default config") flaggy.Bool(&debuggingFlag, "d", "debug", "a boolean") flaggy.StringSlice(&composeFiles, "f", "file", "Specify alternate compose files") flaggy.String(&projectName, "p", "project", "Specify a docker compose project name") flaggy short/long names registered as the flags: -c --config, -d --debug, -f --file, -p --project """ [[commands.field]] id = "file" label = "Compose file" description = "Alternate compose file; repeat for several." type = "path" path = { kind = "file", role = "input" } option = ["--file", "-f"] multiple = true sources = ["main-go"] [[commands.field]] id = "project" label = "Compose project name" type = "string" option = ["--project", "-p"] sources = ["main-go"] [[commands.field]] id = "debug" label = "Debug mode" type = "boolean" option = ["--debug", "-d"] sources = ["main-go"] [[commands.field]] id = "print_config" label = "Print default config and exit" type = "boolean" option = ["--config", "-c"] sources = ["main-go"] [[commands.task]] id = "open" label = "Open the UI" fields = ["file", "project", "debug"] [[commands.task]] id = "config" label = "Print default config" fields = ["print_config"] required = ["print_config"] set = { print_config = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["file", "project", "debug", "print_config"]