devenv vs GHCup
devenv
devenv.shGHCup
haskell.orgSide by side
| Figure | devenv | GHCup |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Development Environment Managers | 8.7 (#3) | 8.5 (#7) |
| Configuration | A project can declare packages, languages, services, tasks, secrets, and tooling in its environment configuration. | GHCup configuration can be placed in ~/.ghcup/config.yaml, and command-line options override configuration file settings. |
| Purpose | devenv lets teams declare development environments so developers and CI can use the same reproducible setup. | GHCup is the main installer for the general purpose language Haskell. |
| Security | Projects must be explicitly trusted before auto-activation, which the documentation describes as protection against untrusted projects modifying the shell. | The installation instructions use HTTPS with TLS 1.2 or later for the Linux, macOS, FreeBSD, and WSL2 bootstrap command. |
Plans
In their own words
devenv
devenv uses Nix to define development environments for teams and CI. A project configuration can specify packages, languages, services, tasks, secrets, variables, files, and shell scripts. The project lists 58 supported languages and 42 preconfigured services, including PostgreSQL, Redis, MySQL, RabbitMQ, and Elasticsearch. Processes can be supervised with dependencies and restarts, while tasks can run in parallel and integrate with shells or commits. SecretSpec can read declared secrets from sources such as Keychain, 1Password, LastPass, dotenv, and environment variables. devenv can build OCI containers and run integration tests with its processes active; documentation also describes GitHub Actions use for checks, builds, and tests. It requires Nix and works on Linux, macOS, and WSL. As of devenv 2.4, the project no longer builds, tests, or releases it for Intel Macs. Projects must be explicitly trusted before automatic activation. The software is free and MIT licensed, with GitHub and Discord linked for help and community. Cached shell startup is listed as under 100 ms after the first build; devenv Cloud is in private beta.
GHCup
GHCup is a free, open-source installer and version manager for the Haskell toolchain. It installs and manages GHC, cabal-install, Haskell Language Server (HLS), and Stack versions; Stack can also be configured to use GHC versions managed by GHCup. Listed functionality includes a terminal user interface and GHC cross-compilation. Installation guidance covers terminal commands for Linux, macOS, FreeBSD, and WSL2, alongside PowerShell instructions for Windows. The project describes Windows support as being in an early stage and uses a shim wrapper because Windows does not properly support symbolic links. On macOS, GHCup may prompt for command line tools; Windows setup includes msys2. The installer should be run as a non-root user on Unix-like systems and a non-admin user on Windows. GHCup relies on precompiled binaries, so compatibility can depend on the distribution and libraries such as libtinfo. WSL1 and macOS versions earlier than 10.13 are unsupported. Some ARM binaries are experimental: Stack and HLS on Linux ARM, and HLS bindists on macOS aarch64. Configuration can be stored in ~/.ghcup/config.yaml, with command-line options taking precedence.