This commit is contained in:
2026-09-01 10:45:21 -04:00
commit ac32649783
51 changed files with 4837 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
{
perSystem = _: {
treefmt = {
projectRootFile = "flake.nix";
programs = {
nixfmt.enable = true;
yamlfmt.enable = true;
shfmt.enable = true;
rustfmt.enable = true;
taplo.enable = true;
};
};
};
}
+48
View File
@@ -0,0 +1,48 @@
{
perSystem =
{
config,
lib,
pkgs,
...
}:
{
pre-commit = {
settings = {
hooks = {
statix.enable = true;
zizmor.enable = true;
typos.enable = true;
deadnix = {
enable = true;
settings.edit = true;
};
fmt = {
enable = true;
name = "nix fmt";
entry = "${lib.getExe config.formatter} --no-cache";
};
ty = {
enable = true;
name = "ty check";
files = "\\.py$";
entry = lib.getExe (
pkgs.writeShellScriptBin "ty-check" ''
cd tests/
${lib.getExe pkgs.uv} run ty check
''
);
};
actionlint = {
enable = true;
files = "^\\.github/workflows/.*\\.(yml|yaml)$";
};
yamllint = {
enable = true;
settings.configPath = ".yamllint.yaml";
};
};
};
};
};
}
+45
View File
@@ -0,0 +1,45 @@
{ inputs, ... }:
{
perSystem =
{
config,
lib,
craneLib,
pkgs,
self',
wine-packages,
...
}:
let
cfg = config.pre-commit;
in
{
# Adapted from
# https://github.com/cachix/git-hooks.nix/blob/dcf5072734cb576d2b0c59b2ac44f5050b5eac82/flake-module.nix#L66-L78
devShells.default = craneLib.devShell {
packages = lib.flatten [
cfg.settings.enabledPackages
cfg.settings.package
pkgs.uv
pkgs.rust-analyzer
];
env = {
WINE = lib.getExe self'.packages.wine;
WINESERVER = lib.getExe wine-packages.wineserver;
WINETRICKS = lib.getExe wine-packages.winetricks;
FUSE_OVERLAYFS = lib.getExe pkgs.fuse-overlayfs;
GNUTAR = lib.getExe pkgs.gnutar;
ZENITY = lib.getExe pkgs.zenity;
RSYNC = lib.getExe pkgs.rsync;
REGISTRY_PATCHES = (pkgs.callPackage ../packages/registry-patches.nix { }).combined;
ON_LINUX = inputs.on-linux.outPath;
};
shellHook = builtins.concatStringsSep "\n" [
cfg.installationScript
];
};
};
}