Setup simple git commit hooks.

This commit is contained in:
CronyAkatsuki 2025-02-23 17:40:10 +01:00
parent 294ea37058
commit bd89cf5733
5 changed files with 88 additions and 2 deletions

2
.envrc Normal file
View File

@ -0,0 +1,2 @@
watch_file shell.nix
use flake

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.direnv
.pre-commit-config.yaml

64
flake.lock generated
View File

@ -104,6 +104,22 @@
} }
}, },
"flake-compat": { "flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
@ -220,7 +236,7 @@
"stylix", "stylix",
"flake-compat" "flake-compat"
], ],
"gitignore": "gitignore", "gitignore": "gitignore_2",
"nixpkgs": [ "nixpkgs": [
"stylix", "stylix",
"nixpkgs" "nixpkgs"
@ -241,6 +257,27 @@
} }
}, },
"gitignore": { "gitignore": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"stylix", "stylix",
@ -496,6 +533,28 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1737465171,
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"auto-cpufreq": "auto-cpufreq", "auto-cpufreq": "auto-cpufreq",
@ -504,6 +563,7 @@
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nvf": "nvf", "nvf": "nvf",
"pre-commit-hooks": "pre-commit-hooks",
"stylix": "stylix" "stylix": "stylix"
} }
}, },
@ -536,7 +596,7 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat", "flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",

View File

@ -40,6 +40,12 @@
url = "github:nix-community/nix-index-database"; url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# Add pre commit hooks
pre-commit-hooks = {
url = "github:cachix/pre-commit-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = { outputs = {
@ -47,6 +53,7 @@
nixpkgs, nixpkgs,
home-manager, home-manager,
auto-cpufreq, auto-cpufreq,
pre-commit-hooks,
... ...
} @ inputs: { } @ inputs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
@ -75,5 +82,9 @@
} }
]; ];
}; };
devShells.x86_64-linux.default = let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in (import ./shell.nix {inherit pkgs pre-commit-hooks;});
}; };
} }

11
shell.nix Normal file
View File

@ -0,0 +1,11 @@
{
pkgs ? import <nixpkgs> {},
pre-commit-hooks,
...
}: let
pre-commit-check = pre-commit-hooks.lib.${pkgs.system}.run {
src = ".";
hooks = {alejandra.enable = true;};
};
in
pkgs.mkShell {inherit (pre-commit-check) shellHook;}