aboutsummaryrefslogtreecommitdiff
path: root/nix-support
diff options
context:
space:
mode:
Diffstat (limited to 'nix-support')
-rw-r--r--nix-support/nixfmt.nix65
1 files changed, 65 insertions, 0 deletions
diff --git a/nix-support/nixfmt.nix b/nix-support/nixfmt.nix
new file mode 100644
index 000000000..b51e26295
--- /dev/null
+++ b/nix-support/nixfmt.nix
@@ -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