https://github.com/jkachmar/easy-hls-nix
Easy Haskell Language Server tooling with Nix!
https://github.com/jkachmar/easy-hls-nix
haskell haskell-language-server lsp nix tooling
Last synced: 3 months ago
JSON representation
Easy Haskell Language Server tooling with Nix!
- Host: GitHub
- URL: https://github.com/jkachmar/easy-hls-nix
- Owner: jkachmar
- License: mpl-2.0
- Created: 2021-03-06T19:52:20.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-01T14:47:10.000Z (over 3 years ago)
- Last Synced: 2025-03-17T18:49:04.817Z (3 months ago)
- Topics: haskell, haskell-language-server, lsp, nix, tooling
- Language: Nix
- Homepage:
- Size: 46.9 KB
- Stars: 55
- Watchers: 2
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Easy Haskell Language Server Nix
Easy Haskell Language Server tooling with Nix!
## Example Usage
### Quickstart
The quickest way to start using this project is to import the derivation
directly from this GitHub project and load up all versions of the Haskell
Language Server in a `shell.nix` file.**NOTE:** This README may be out of date, and the `rev` and `sha256` provided
below might not be the latest version!Remember to check the latest revision and update it if necessary, substituting
the `sha256` value with `pkgs.lib.fakeSha256` to get the latest SHA256 hash.```nix
{ pkgs ? import { } }:
let
inherit (pkgs) callPackage fetchFromGitHub mkShell;
easy-hls-src = fetchFromGitHub {
owner = "jkachmar";
repo = "easy-hls-nix";
rev = "6cb50f04e3a61b1ec258c6849df84dae9dfd763f";
sha256 = "1rvi6067nw64dka8kksl7f34pwkq7wx7pnhnz3y261fw9z5j4ndp";
};
easy-hls = callPackage easy-hls-src {};
inmkShell {
buildInputs = [ easy-hls ];
}
```### Explicitly Selecting GHC Versions
This project includes _all_ of the binaries associated with a particular
version of the Haskell Language Server.While this can be convenient for a global installation (e.g. with `nix-env` or
`nix profile`), some projects may only need to support a single version of GHC
and the maintainer may not want to carry around any unnecessary dependencies.In that case, the supported GHC versions can be overridden by explicitly
supplying a `ghcVersions` argument, as follows:```
# ...see the Quickstart example above for details...
easy-hls = callPackage easy-hls-src {
ghcVersions = [ "8.8.4" ];
};
```This will provide the `haskell-language-server-wrapper` and
`haskell-language-server-8.8.4` binaries **and no others**.### Flakes (Advanced)
This project supports Nix Flakes!
Contributors familiar with Nix Flakes are welcome to use it directly (via
`nix profile` or their own `flake.nix` file) and invited to contribute
user-friendly documentation if they find Flakes support to be particularly
helpful.