1
0
Fork 0

Add Dhall support

This commit is contained in:
Ethan Reece 2025-09-04 20:02:48 -05:00
parent 6f8c878891
commit 25bbc522c8
Signed by: me
GPG key ID: DD8CE04D5D8FF832
2 changed files with 53 additions and 0 deletions

View file

@ -59,6 +59,7 @@
"**/scratch/text/vale-ignore.txt".packages = { };
};
};
dhall.enable = true;
haskell.enable = true;
markdown.enable = true;
nix.enable = true;

View file

@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
#
# SPDX-License-Identifier: LGPL-3.0-or-later
{ module-name, ... }:
{ flake-parts-lib, lib, ... }:
{
options.perSystem = flake-parts-lib.mkPerSystemOption (
{ config, pkgs, ... }:
{
options.languages.${module-name} = {
enable = lib.mkEnableOption "Dhall";
package = lib.mkOption {
description = ''
Package for Dhall.
'';
type = lib.types.package;
default = pkgs.ghc;
};
};
config = lib.mkIf config.languages.${module-name}.enable ({
editors.helix.languages = {
language = [
{
name = "dhall";
language-servers = [
"dhall-lsp-server"
]
++ (lib.optionals config.languages.en-us.enable [ "typos" ]);
formatter = {
command = "${config.treefmt.build.wrapper}/bin/treefmt";
args = [
"--stdin"
"%{buffer_name}"
"--quiet"
];
};
auto-format = true;
}
];
language-server.dhall-lsp-server = {
};
language-server.haskell-language-server = {
command = "${pkgs.dhall-lsp-server}/bin/dhall-lsp-server";
};
};
treefmt.programs.dhall.enable = true;
});
}
);
}