Giter Site home page Giter Site logo

easy-hls-nix's Introduction

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.

{ pkgs ? import <nixpkgs> { } }:
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 {};
in

mkShell {
  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.

easy-hls-nix's People

Contributors

jkachmar avatar profpatsch avatar solomon-b avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.