alqueva/shells/default.nix

64 lines
1.4 KiB
Nix
Raw Normal View History

{inputs, ...}: {
imports = [
inputs.git-hooks-nix.flakeModule
];
perSystem = {
config,
pkgs,
...
}: {
pre-commit = {
check.enable = true;
settings.hooks = {
alejandra.enable = true;
nil.enable = true;
shellcheck.enable = true;
prettier.enable = true;
ruff.enable = true;
ruff-format.enable = true;
shfmt.enable = true;
deadnix = {
enable = true;
args = ["-e"];
};
statix = {
enable = true;
args = ["fix"];
};
};
};
devShells = {
2025-03-04 10:31:55 +00:00
default = let
inherit (config) pre-commit;
in
pkgs.mkShell {
name = "pre-commit-shell";
shellHook = pre-commit.installationScript;
packages =
pre-commit.settings.enabledPackages
++ [
pre-commit.settings.package
pkgs.ruff-lsp
pkgs.bash-language-server
pkgs.vscode-langservers-extracted
];
};
haskell = pkgs.mkShell {
name = "haskell";
packages = builtins.attrValues {
inherit (pkgs) ghc;
inherit
(pkgs.haskellPackages)
stack
haskell-language-server
ormolu
;
};
};
};
formatter = pkgs.alejandra;
};
}