diff --git a/hosts/andromache/default.nix b/hosts/andromache/default.nix index 67322cf..7e21edf 100644 --- a/hosts/andromache/default.nix +++ b/hosts/andromache/default.nix @@ -29,7 +29,7 @@ in ../../modules/desktops/niri ../../modules/backups ../../modules/bluetooth - ../../modules/keyboard + ../../modules/## modules/keyboard (import ../../modules/networking { inherit hostName; }) ../../modules/users ../../modules/audio diff --git a/modules/git-hooks/default.nix b/modules/git-hooks/default.nix new file mode 100644 index 0000000..450cc2f --- /dev/null +++ b/modules/git-hooks/default.nix @@ -0,0 +1,35 @@ +{ + config, + lib, + pkgs, + ... +}: + +{ + options.services.git-hooks = { + enable = lib.mkEnableOption "Install git hooks for Nix flake"; + install = lib.mkOption { + type = lib.types.nullOr (lib.types.path); + default = null; + description = "Install git hooks once (run `nix flake check`)"; + }; + }; + + config = lib.mkIf config.services.git-hooks.enable { + system.activationScripts.install-git-hooks = lib.stringAfter [ "users" ] '' + ${lib.getExe pkgs.nix} build /home/h/nix/.#pre-commit-check 2>&1 || true + echo "✅ Git hooks installed" + ''; + + environment.systemPackages = lib.singleton ( + pkgs.writeShellApplication { + name = "install-git-hooks"; + runtimeInputs = [ pkgs.git ]; + text = '' + ${lib.getExe pkgs.nix} build /home/h/nix/.#pre-commit-check || echo "⚠️ Hook installation had issues" + echo "✅ Done" + ''; + } + ); + }; +}