make pre-commit-hooks-nix optional

This dependency brings in a lot of other dependencies including a nixpkgs copy.
By making it optional in the flake users can disable it in their own flake.

After removing the dependency, the following inputs are no longer needed:

• Removed input 'pre-commit-hooks-nix'
• Removed input 'pre-commit-hooks-nix/flake-compat'
• Removed input 'pre-commit-hooks-nix/flake-utils'
• Removed input 'pre-commit-hooks-nix/gitignore'
• Removed input 'pre-commit-hooks-nix/gitignore/nixpkgs'
• Removed input 'pre-commit-hooks-nix/nixpkgs'
• Removed input 'pre-commit-hooks-nix/nixpkgs-stable'
This commit is contained in:
Jörg Thalheim 2024-01-14 09:51:15 +01:00
parent 11e293475d
commit e6df60debb
1 changed files with 13 additions and 12 deletions

View File

@ -7,6 +7,8 @@
flake-parts.url = "github:hercules-ci/flake-parts";
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
# Only used during development, can be disabled by flake users like this:
# lanzaboote.inputs.pre-commit-hooks-nix.follows = "";
pre-commit-hooks-nix = {
url = "github:cachix/pre-commit-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
@ -56,8 +58,7 @@
inputs.flake-parts.flakeModules.easyOverlay
# Formatting and quality checks.
inputs.pre-commit-hooks-nix.flakeModule
];
] ++ (if inputs.pre-commit-hooks-nix ? flakeModule then [ inputs.pre-commit-hooks-nix.flakeModule ] else [ ]);
flake.nixosModules.lanzaboote = moduleWithSystem (
perSystem@{ config }:
@ -232,15 +233,6 @@
ukiModule = self.nixosModules.uki;
});
pre-commit = {
check.enable = true;
settings.hooks = {
nixpkgs-fmt.enable = true;
typos.enable = true;
};
};
devShells.default = pkgs.mkShell {
shellHook = ''
${config.pre-commit.installationScript}
@ -268,6 +260,15 @@
TEST_SYSTEMD = pkgs.systemd;
};
} // lib.optionalAttrs (inputs.pre-commit-hooks-nix ? flakeModule) {
pre-commit = {
check.enable = true;
settings.hooks = {
nixpkgs-fmt.enable = true;
typos.enable = true;
};
};
};
}));
}