Skip to content

Commit

Permalink
Fix nix flake check on macOS
Browse files Browse the repository at this point in the history
  • Loading branch information
9999years committed Mar 29, 2024
1 parent 7d47a32 commit 5da7bab
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 19 deletions.
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
3 changes: 2 additions & 1 deletion modules/hooks.nix
Original file line number Diff line number Diff line change
Expand Up @@ -1580,14 +1580,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
13 changes: 8 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 @@ -27,7 +28,7 @@ let
};
all-tools-eval =
let
config = pkgs.lib.evalModules {
config = lib.evalModules {
modules = [
../modules/all-modules.nix
{
Expand All @@ -37,7 +38,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 +51,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 +67,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 5da7bab

Please sign in to comment.