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 = { };
|
||
|
};
|
||
|
}
|