aboutsummaryrefslogtreecommitdiff
path: root/nix-support
diff options
context:
space:
mode:
authorRebecca Turner <rbt@sent.as>2024-04-04 16:11:37 -0700
committerRebecca Turner <rbt@sent.as>2024-04-08 09:42:34 -0700
commitb3233405381b50c7f7eb87d7962b25a06d16be44 (patch)
treee720ef2064ce51531d44eedd4b20cb409b83e3f2 /nix-support
parente55fc5af715020d79ec91c856447303737bf3015 (diff)
Add `nixfmt`
Change-Id: I7f21695e3971cfd02b2cce0dd016ff6eb3389905
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