41 lines
721 B
Nix
41 lines
721 B
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
with lib;
|
|
let
|
|
cfg = config.modules.haskell;
|
|
in
|
|
{
|
|
options.modules.haskell = {
|
|
enable = mkEnableOption "haskell";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
# Development packages
|
|
home.packages = with pkgs; [
|
|
haskell.compiler.ghc948
|
|
(haskell-language-server.override { supportedGhcVersions = [ "948" ]; })
|
|
];
|
|
|
|
# VSCode configuration
|
|
programs.vscode = {
|
|
extensions = with pkgs.vscode-extensions; [
|
|
haskell.haskell
|
|
justusadam.language-haskell
|
|
];
|
|
|
|
userSettings = {
|
|
"[haskell]" = { };
|
|
# "haskell.formattingProvider" = "fourmolu";
|
|
};
|
|
};
|
|
|
|
# Neovim configuration
|
|
programs.nixvim = { };
|
|
};
|
|
}
|