### Install GHC by Version Prefix Source: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md Install a GHC version by specifying a major.minor version prefix. ghcup will select the latest available GHC matching this prefix. ```bash ghcup install 8.8 ``` -------------------------------- ### Hlint Tool Configuration Example Source: https://github.com/haskell/ghcup-hs/blob/master/installer-dsl.md This YAML snippet defines the configuration for the hlint tool, version 3.10, including download URIs, hashes, and installation details for various operating systems. ```yaml hlint: 3.10: viTags: - Latest - Recommended viArch: A_64: Linux_UnknownLinux: unknown_versioning: dlUri: https://github.com/ndmitchell/hlint/releases/download/v3.10/hlint-3.10-x86_64-linux.tar.gz dlHash: ccabc8802a58154699a3583b8dddc5ea2e6d65753a62c45c0e80088ebb16b42b dlSubdir: hlint-3.10 dlInstallInfo: &hlint-install-info1 bindistFiles: exeRules: - installSource: "hlint" installDest: "bin/hlint" dataRules: - installPattern: ["data/**"] preserveMtimes: false Windows: unknown_versioning: dlUri: https://github.com/ndmitchell/hlint/releases/download/v3.10/hlint-3.10-x86_64-windows.zip dlHash: 9dc50b66771920464910472c5ae2b8eb83d33d4eadebe6d99bf512452ca22a20 dlSubdir: hlint-3.10 dlInstallInfo: *hlint-install-info1 Darwin: unknown_versioning: dlUri: https://github.com/ndmitchell/hlint/releases/download/v3.10/hlint-3.10-x86_64-osx.tar.gz dlHash: 7a3d208fb117999336b35a32a68c476f95e22e232357fea5862250f14493cae5 dlSubdir: hlint-3.10 dlInstallInfo: *hlint-install-info1 ``` -------------------------------- ### Example Shim Configuration Source: https://github.com/haskell/ghcup-hs/blob/master/scoop-better-shimexe/README.md Defines the target executable and arguments for the shim. The 'path' is required, while 'args' is optional. Lines must end with a line feed. ```text path = C:\Program Files\Git\git.exe args = status -u ``` -------------------------------- ### Install GHC from Arbitrary Bindists Source: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md Use this command to install a specific GHC version from a custom bindist URL. Ensure the URL and hash details are correctly provided. ```bash ghcup -n install ghc -u '{"dlHash": "", "dlSubdir": "ghc-8.10.1", "dlUri": "https://github.com/commercialhaskell/ghc/releases/download/ghc-8.10.1-release/ghc-8.10.1-x86_64-deb9-linux.tar.xz"}' 8.10.1 ``` -------------------------------- ### Compile shim.c Source: https://github.com/haskell/ghcup-hs/blob/master/scoop-better-shimexe/README.md Compile the shim.c source file using a Visual Studio command prompt. This command optimizes for size. ```bash cl /O1 shim.c ``` -------------------------------- ### Set Downloader Client Source: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md Choose the downloader client (curl or wget) to be used by ghcup with the --downloader option. ```bash ghcup --downloader=curl ``` -------------------------------- ### Control Temporary Build Directory Cleanup Source: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md Specify how temporary build directories should be cleaned up using the --keep option. Options include 'always', 'errors', or 'never'. ```bash ghcup --keep=always ``` -------------------------------- ### Launch TUI Mode Source: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md Access the new curses (brick) based TUI by running this command. This provides an interactive interface for managing Haskell environments. ```bash ghcup tui ``` -------------------------------- ### Replace Scoop Shims Source: https://github.com/haskell/ghcup-hs/blob/master/scoop-better-shimexe/README.md Replace existing .exe files in the scoop\shims directory with the compiled shim.exe. ```bash Replace any .exe in scoop\shims by shim.exe. ``` -------------------------------- ### Shim Format Specification Source: https://github.com/haskell/ghcup-hs/blob/master/scoop-better-shimexe/README.md Shims use a line-separated key-value pair format, similar to Scoop's shims. Ensure lines end with a line feed. ```text path = C:\Program Files\Git\git.exe args = status -uno ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.