id = "ghcup" name = "GHCup" homepage = "https://www.haskell.org/ghcup/" description = "The main installer for the Haskell Language Toolchain." executables = ["ghcup"] platforms = ["macos", "linux"] [dotfiles] # GHCup's official guide documents ~/.ghcup/config.yaml and says # GHCUP_USE_XDG_DIRS moves it to $XDG_CONFIG_HOME/ghcup/config.yaml (default # ~/.config/ghcup/config.yaml). Both are user settings; neither is a secret. # https://ghcup.readthedocs.io/en/latest/guide/ paths = ["~/.ghcup/config.yaml", "[configHome]/ghcup/config.yaml"] exclude = [] secret = [] side_effect = false [commands] format = 1 label = "GHCup" description = "Install a Haskell tool or choose the active version. Listing, removal, upgrade and the TUI are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["install"] label = "Install a tool" [[commands.subcommand.source]] id = "guide" kind = "manual" url = "https://www.haskell.org/ghcup/guide/" revision = "2026-10-27" evidence = """ # install the recommended GHC version ghcup install ghc # install a specific GHC version ghcup install ghc 8.2.2 # install cabal-install ghcup install cabal All of the following are valid arguments to ghcup install ghc: latest, recommended If the argument is omitted, the default is recommended. """ [[commands.subcommand.field]] id = "tool" label = "Tool" type = "string" position = 0 suggestions = [{ value = "ghc", label = "GHC" }, { value = "cabal", label = "cabal-install" }] sources = ["guide"] [[commands.subcommand.field]] id = "version" label = "Version or tag" description = "Omit for recommended; latest and recommended are accepted tags." type = "string" position = 1 suggestions = [{ value = "recommended", label = "recommended" }, { value = "latest", label = "latest" }] sources = ["guide"] [[commands.subcommand.task]] id = "install" label = "Install" fields = ["tool", "version"] required = ["tool"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["tool", "version"] [[commands.subcommand]] path = ["set"] label = "Set the active version" [[commands.subcommand.source]] id = "guide" kind = "manual" url = "https://www.haskell.org/ghcup/guide/" revision = "2026-10-27" evidence = """ # set the currently "active" GHC version ghcup set ghc 8.4.4 """ [[commands.subcommand.field]] id = "tool" label = "Tool" type = "string" position = 0 suggestions = [{ value = "ghc", label = "GHC" }, { value = "cabal", label = "cabal-install" }] sources = ["guide"] [[commands.subcommand.field]] id = "version" label = "Version" type = "string" position = 1 sources = ["guide"] [[commands.subcommand.task]] id = "set" label = "Set active" fields = ["tool", "version"] required = ["tool", "version"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["tool", "version"]