parent
e55fc5af71
commit
b323340538
11
flake.nix
11
flake.nix
|
@ -71,6 +71,9 @@
|
||||||
};
|
};
|
||||||
overlays = [
|
overlays = [
|
||||||
(overlayFor (p: p.${stdenv}))
|
(overlayFor (p: p.${stdenv}))
|
||||||
|
(final: prev: {
|
||||||
|
nixfmt = final.callPackage ./nix-support/nixfmt.nix {};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
config.permittedInsecurePackages = [ "nix-2.13.6" ];
|
config.permittedInsecurePackages = [ "nix-2.13.6" ];
|
||||||
|
@ -296,7 +299,11 @@
|
||||||
};
|
};
|
||||||
treefmt = {
|
treefmt = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.formatters = [ ];
|
settings.formatters =
|
||||||
|
let
|
||||||
|
pkgs = nixpkgsFor.${system}.native;
|
||||||
|
in
|
||||||
|
[ pkgs.nixfmt ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}) pre-commit-hooks.lib;
|
}) pre-commit-hooks.lib;
|
||||||
|
@ -366,7 +373,7 @@
|
||||||
}).overrideAttrs (prev: {
|
}).overrideAttrs (prev: {
|
||||||
# Required for clang-tidy checks
|
# Required for clang-tidy checks
|
||||||
buildInputs = prev.buildInputs
|
buildInputs = prev.buildInputs
|
||||||
++ [ pkgs.just ]
|
++ [ pkgs.just pkgs.nixfmt ]
|
||||||
++ lib.optional (pre-commit ? enabledPackages) pre-commit.enabledPackages
|
++ lib.optional (pre-commit ? enabledPackages) pre-commit.enabledPackages
|
||||||
++ lib.optionals (stdenv.cc.isClang) [ pkgs.llvmPackages.llvm pkgs.llvmPackages.clang-unwrapped.dev ];
|
++ lib.optionals (stdenv.cc.isClang) [ pkgs.llvmPackages.llvm pkgs.llvmPackages.clang-unwrapped.dev ];
|
||||||
nativeBuildInputs = prev.nativeBuildInputs
|
nativeBuildInputs = prev.nativeBuildInputs
|
||||||
|
|
65
nix-support/nixfmt.nix
Normal file
65
nix-support/nixfmt.nix
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
# Copy of `nixfmt-rfc-style` vendored from `nixpkgs` master:
|
||||||
|
# https://github.com/NixOS/nixpkgs/blob/ab6071eb54cc9b66dda436111d4f569e4e56cbf4/pkgs/by-name/ni/nixfmt-rfc-style/package.nix
|
||||||
|
{
|
||||||
|
haskell,
|
||||||
|
haskellPackages,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (haskell.lib.compose) justStaticExecutables;
|
||||||
|
raw-pkg = haskellPackages.callPackage (
|
||||||
|
{
|
||||||
|
mkDerivation,
|
||||||
|
base,
|
||||||
|
cmdargs,
|
||||||
|
directory,
|
||||||
|
fetchzip,
|
||||||
|
filepath,
|
||||||
|
lib,
|
||||||
|
megaparsec,
|
||||||
|
mtl,
|
||||||
|
parser-combinators,
|
||||||
|
safe-exceptions,
|
||||||
|
scientific,
|
||||||
|
text,
|
||||||
|
transformers,
|
||||||
|
unix,
|
||||||
|
}:
|
||||||
|
mkDerivation {
|
||||||
|
pname = "nixfmt";
|
||||||
|
version = "0.6.0-unstable-2024-03-14";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "serokell";
|
||||||
|
repo = "nixfmt";
|
||||||
|
rev = "8d13b593fa8d8d6e5075f541f3231222a08e84df";
|
||||||
|
hash = "sha256-HtXvzmfN4wk45qiKZ7V+/5WBV7jnTHfd7iBwF4XGl64=";
|
||||||
|
};
|
||||||
|
isLibrary = true;
|
||||||
|
isExecutable = true;
|
||||||
|
libraryHaskellDepends = [
|
||||||
|
base
|
||||||
|
megaparsec
|
||||||
|
mtl
|
||||||
|
parser-combinators
|
||||||
|
scientific
|
||||||
|
text
|
||||||
|
transformers
|
||||||
|
];
|
||||||
|
executableHaskellDepends = [
|
||||||
|
base
|
||||||
|
cmdargs
|
||||||
|
directory
|
||||||
|
filepath
|
||||||
|
safe-exceptions
|
||||||
|
text
|
||||||
|
unix
|
||||||
|
];
|
||||||
|
jailbreak = true;
|
||||||
|
homepage = "https://github.com/serokell/nixfmt";
|
||||||
|
description = "An opinionated formatter for Nix";
|
||||||
|
license = lib.licenses.mpl20;
|
||||||
|
mainProgram = "nixfmt";
|
||||||
|
}
|
||||||
|
) { };
|
||||||
|
in
|
||||||
|
justStaticExecutables raw-pkg
|
|
@ -1 +1,5 @@
|
||||||
[formatter]
|
[formatter]
|
||||||
|
# [formatter.nix]
|
||||||
|
# command = "nixfmt"
|
||||||
|
# includes = ["*.nix"]
|
||||||
|
# excludes = ["tests/**"]
|
||||||
|
|
Loading…
Reference in a new issue