Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into add-default-pre-c…
Browse files Browse the repository at this point in the history
…ommit-hooks
  • Loading branch information
totoroot committed Mar 30, 2024
2 parents d85dfba + c11e43a commit 8790a0a
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 26 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ jobs:
with:
name: pre-commit-hooks
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- run: rm -rf /opt&
- run: nix-build --keep-going
tests-flakes:
strategy:
Expand All @@ -28,5 +29,6 @@ jobs:
with:
name: pre-commit-hooks
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
- run: rm -rf /opt&
- run: nix flake check --show-trace
- run: nix eval .#lib.x86_64-linux.run --show-trace
3 changes: 3 additions & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[default.extend-words]
edn = "edn" # `cljfmt` option
mosquitto = "mosquitto" # `typos` example
4 changes: 3 additions & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@
};

checks = lib.filterAttrs (k: v: v != null)
(exposed.checks // exposed-stable.checks);
(exposed.checks
// (lib.mapAttrs' (name: value: lib.nameValuePair "stable-${name}" value)
exposed-stable.checks));

lib = { inherit (exposed) run; };
}
Expand Down
2 changes: 1 addition & 1 deletion modules/hook.nix
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ in
''
An optional package that provides the hook.
For most hooks, the package name matches the name of the hook and can be overriden directly.
For most hooks, the package name matches the name of the hook and can be overridden directly.
```
hooks.nixfmt.package = pkgs.nixfmt;
Expand Down
11 changes: 6 additions & 5 deletions modules/hooks.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1504,14 +1504,14 @@ in
quiet =
mkOption {
type = types.bool;
description = lib.mdDoc "Less output per occurence.";
description = lib.mdDoc "Less output per occurrence.";
default = false;
};

verbose =
mkOption {
type = types.bool;
description = lib.mdDoc "More output per occurence.";
description = lib.mdDoc "More output per occurrence.";
default = false;
};

Expand Down Expand Up @@ -1620,14 +1620,15 @@ in
{
name = "ansible-lint";
description = "Ansible linter";
package = tools.ansible-lint;
entry =
let
cmdArgs =
mkCmdArgs [
[ (hooks.ansible-lint.settings.configPath != "") "-c ${hooks.ansible-lint.settings.configPath}" ]
];
in
"${tools.ansible-lint}/bin/ansible-lint ${cmdArgs}";
"${hooks.ansible-lint.package}/bin/ansible-lint ${cmdArgs}";
files = if hooks.ansible-lint.settings.subdir != "" then "${hooks.ansible-lint.settings.subdir}/" else "";
};
autoflake =
Expand Down Expand Up @@ -2520,7 +2521,7 @@ lib.escapeShellArgs (lib.concatMap (ext: [ "--ghc-opt" "-X${ext}" ]) hooks.ormol
};
lychee = {
name = "lychee";
description = "A fast, async, stream-based link checker that finds broken hyperlinks and mail adresses inside Markdown, HTML, reStructuredText, or any other text file or website.";
description = "A fast, async, stream-based link checker that finds broken hyperlinks and mail addresses inside Markdown, HTML, reStructuredText, or any other text file or website.";
package = tools.lychee;
entry =
let
Expand Down Expand Up @@ -3275,7 +3276,7 @@ lib.escapeShellArgs (lib.concatMap (ext: [ "--ghc-opt" "-X${ext}" ]) hooks.ormol
package = tools.vale;
entry =
let
# TODO: was .vale.ini, throwed error in Nix
# TODO: was .vale.ini, threw error in Nix
configFile = builtins.toFile "vale.ini" "${hooks.vale.settings.config}";
cmdArgs =
mkCmdArgs
Expand Down
4 changes: 2 additions & 2 deletions modules/pre-commit.nix
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ let
ln -fs ${configFile} src/.pre-commit-config.yaml
cd src
rm -rf .git
git init
git init -q
git add .
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
git commit -m "init"
git commit -m "init" -q
if [[ ${toString (compare install_stages [ "manual" ])} -eq 0 ]]
then
echo "Running: $ pre-commit run --hook-stage manual --all-files"
Expand Down
14 changes: 9 additions & 5 deletions nix/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ let
overlay =
self: pkgs:
let
inherit (pkgs) lib;
tools = import ./call-tools.nix pkgs;
run = pkgs.callPackage ./run.nix { inherit pkgs tools isFlakes gitignore-nix-src; };
in
{
inherit tools run;
# Flake style attributes
packages = tools // {
packages = (lib.filterAttrs (_name: value: value != null) tools) // {
inherit (pkgs) pre-commit;
};
checks = self.packages // {
Expand All @@ -23,11 +24,12 @@ let
hooks = {
shellcheck.enable = true;
nixpkgs-fmt.enable = true;
typos.enable = true;
};
};
all-tools-eval =
let
config = pkgs.lib.evalModules {
config = lib.evalModules {
modules = [
../modules/all-modules.nix
{
Expand All @@ -37,7 +39,10 @@ let
specialArgs = { inherit pkgs; };
};
allHooks = config.config.hooks;
allEntryPoints = pkgs.lib.mapAttrsToList (_: v: v.entry) allHooks;
allEntryPoints = lib.pipe allHooks [
(lib.filterAttrs (_name: value: value.package != null))
(lib.mapAttrsToList (_: value: value.entry))
];
in
pkgs.runCommand "all-tools-eval"
{
Expand All @@ -47,7 +52,6 @@ let
'';
doc-check =
let
inherit (pkgs) lib;
# We might add that it keeps rendering fast and robust,
# and we want to teach `defaultText` which is more broadly applicable,
# but the message is long enough.
Expand All @@ -64,7 +68,7 @@ let
If necessary, you can also find the offending option by evaluating with `--show-trace` and then look for occurrences of `option`.
'';
pkgsStub = lib.mapAttrs failPkgAttr pkgs;
configuration = pkgs.lib.evalModules {
configuration = lib.evalModules {
modules = [
../modules/all-modules.nix
{
Expand Down
11 changes: 9 additions & 2 deletions nix/headache/default.nix
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
{ stdenv, lib, headache ? null, ocamlPackages }:
{ stdenv, lib, darwin, headache ? null, ocamlPackages }:

## NOTE: `headache` moved from `ocamlPackages.headache` to top-level on 8 June
## 2023. Once this gets into a NixOS release, the following code will be
## useless.
let the-headache = if headache != null then headache else ocamlPackages.headache; in
let
the-headache =
(if headache != null then headache else ocamlPackages.headache).overrideAttrs (drv: {
nativeBuildInputs = (drv.nativeBuildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [
darwin.sigtool
];
});
in

## NOTE: The following derivation seems rather trivial, but it is used here to
## get rid of a runtime dependency in the whole OCaml compiler (~420M).
Expand Down
14 changes: 4 additions & 10 deletions nix/tools.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{ stdenv
, lib

, actionlint
, alejandra
Expand Down Expand Up @@ -26,18 +27,14 @@
, elixir
, elmPackages
, fprettify
, git
, git-annex
, gitAndTools
, gptcommit ? null
, hadolint
, haskell
, haskellPackages
, hindent
, hlint
, hpack
, html-tidy
, hunspell
, luaPackages
, lua-language-server
, lychee
Expand All @@ -57,7 +54,6 @@
, php82Packages
, ripsecrets ? null
, ruff ? null
, runCommand
, rustfmt
, shellcheck
, bats
Expand All @@ -69,15 +65,12 @@
, tagref
, taplo
, texlive
, tflint
, topiary ? null ## Added in nixpkgs on Dec 2, 2022
, treefmt
, typos
, typstfmt
, zprint
, yamllint
, writeScript
, writeText
, go
, go-tools
, golangci-lint
Expand Down Expand Up @@ -115,7 +108,6 @@ in
editorconfig-checker
elixir
fprettify
git-annex
go
go-tools
golangci-lint
Expand All @@ -132,7 +124,6 @@ in
nil
nixfmt
nixpkgs-fmt
opam
ormolu
pre-commit-hook-ensure-sops
revive
Expand Down Expand Up @@ -183,6 +174,9 @@ in
chktex = tex;
commitizen = commitizen.overrideAttrs (_: _: { doCheck = false; });
bats = if bats ? withLibraries then (bats.withLibraries (p: [ p.bats-support p.bats-assert p.bats-file ])) else bats;
git-annex = if stdenv.isDarwin then null else git-annex;
# Note: Only broken in stable nixpkgs, works fine on latest master.
opam = if stdenv.isDarwin then null else opam;

## NOTE: `checkmake` 0.2.2 landed in nixpkgs on 12 April 2023. Once this gets
## into a NixOS release, the following code will be useless.
Expand Down

0 comments on commit 8790a0a

Please sign in to comment.