All Projects → jkachmar → easy-hls-nix

jkachmar / easy-hls-nix

Licence: MPL-2.0 license
Easy Haskell Language Server tooling with Nix!

Programming Languages

Nix
1067 projects
haskell
3896 projects

Projects that are alternatives of or similar to easy-hls-nix

Nix Index
Quickly locate nix packages with specific files
Stars: ✭ 197 (+251.79%)
Mutual labels:  nix, tooling
Coc Metals
coc.nvim extension for Metals, the Scala language server
Stars: ✭ 124 (+121.43%)
Mutual labels:  tooling, lsp
idris2-pkgs
An unofficial Idris2 package repository for Nix
Stars: ✭ 32 (-42.86%)
Mutual labels:  nix
atom-ide-scala
Scala & Dotty support for Atom IDE (🧟‍♂️ zombie repo)
Stars: ✭ 47 (-16.07%)
Mutual labels:  lsp
nix-rice
A library to functionally define your configuration and theme (rice) with Nix
Stars: ✭ 43 (-23.21%)
Mutual labels:  nix
dotfiles
My dotfiles for Bash/Zsh, Vim/Neovim, Doom Emacs, tmux, Git, terminal emulators, JupyterLab, aria2, mpv, Nix and Homebrew
Stars: ✭ 149 (+166.07%)
Mutual labels:  nix
openapi
GitHub's official OpenAPI spec with Octokit extensions
Stars: ✭ 24 (-57.14%)
Mutual labels:  tooling
merlin-language-server
Minimal cross-platform LSP wrapper for merlin
Stars: ✭ 28 (-50%)
Mutual labels:  lsp
nixos-tutorial
one hour, hands-on
Stars: ✭ 118 (+110.71%)
Mutual labels:  nix
awesome-frappe
A curated list of awesome things related to the Frappe Framework
Stars: ✭ 140 (+150%)
Mutual labels:  tooling
supernova
🌌 Apache Pulsar client for Haskell
Stars: ✭ 35 (-37.5%)
Mutual labels:  nix
dotfiles
dotfiles repository
Stars: ✭ 15 (-73.21%)
Mutual labels:  nix
vim-lamp
💡Language Server Protocol client for Vim.
Stars: ✭ 34 (-39.29%)
Mutual labels:  lsp
scope-capture-nrepl
nREPL middleware for scope-capture
Stars: ✭ 27 (-51.79%)
Mutual labels:  tooling
denxi
Denxi is a programming model for distributing data. It reduces the cost of producing package managers, storefronts, operating systems, and CI/CD systems.
Stars: ✭ 65 (+16.07%)
Mutual labels:  nix
aerial.nvim
Neovim plugin for a code outline window
Stars: ✭ 485 (+766.07%)
Mutual labels:  lsp
dotfiles
🏠
Stars: ✭ 53 (-5.36%)
Mutual labels:  nix
base16.nix
Quickly theme programs in your favourite base16 colorscheme
Stars: ✭ 61 (+8.93%)
Mutual labels:  nix
wcm-io-tooling
Tooling for Maven and IDEs.
Stars: ✭ 12 (-78.57%)
Mutual labels:  tooling
lsp-metals
lsp-mode ❤️ metals
Stars: ✭ 49 (-12.5%)
Mutual labels:  lsp

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].