2025-03-06 20:45:49 +00:00
|
|
|
{ inputs, ... }:
|
|
|
|
{
|
2025-01-18 12:34:41 +00:00
|
|
|
imports = [
|
|
|
|
inputs.git-hooks-nix.flakeModule
|
|
|
|
];
|
|
|
|
|
2025-03-06 20:45:49 +00:00
|
|
|
perSystem =
|
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
{
|
|
|
|
pre-commit = {
|
|
|
|
check.enable = true;
|
|
|
|
settings.hooks = {
|
2025-03-22 17:36:40 +00:00
|
|
|
nixfmt-rfc-style = {
|
|
|
|
enable = true;
|
|
|
|
};
|
2025-03-06 20:45:49 +00:00
|
|
|
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" ];
|
|
|
|
};
|
2025-01-18 12:34:41 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2025-03-06 20:45:49 +00:00
|
|
|
devShells = {
|
|
|
|
default =
|
|
|
|
let
|
|
|
|
inherit (config) pre-commit;
|
|
|
|
in
|
|
|
|
pkgs.mkShell {
|
|
|
|
name = "pre-commit-shell";
|
|
|
|
shellHook = pre-commit.installationScript;
|
|
|
|
packages = pre-commit.settings.enabledPackages ++ [
|
2025-03-04 10:31:55 +00:00
|
|
|
pre-commit.settings.package
|
|
|
|
pkgs.ruff-lsp
|
|
|
|
pkgs.bash-language-server
|
|
|
|
pkgs.vscode-langservers-extracted
|
|
|
|
];
|
2025-03-06 20:45:49 +00:00
|
|
|
};
|
|
|
|
haskell = pkgs.mkShell {
|
|
|
|
name = "haskell";
|
|
|
|
packages = builtins.attrValues {
|
|
|
|
inherit (pkgs) ghc;
|
|
|
|
inherit (pkgs.haskellPackages)
|
|
|
|
stack
|
|
|
|
haskell-language-server
|
|
|
|
ormolu
|
|
|
|
;
|
|
|
|
};
|
2025-01-18 12:34:41 +00:00
|
|
|
};
|
|
|
|
};
|
2025-03-06 20:45:49 +00:00
|
|
|
formatter = pkgs.alejandra;
|
2025-01-18 12:34:41 +00:00
|
|
|
};
|
|
|
|
}
|