feat: Add treefmt

This commit is contained in:
Skyler Grey 2024-05-25 16:21:56 +00:00
parent c403a8151b
commit ed0b08f81e
Signed by: minion
GPG key ID: F27E3E5922772E7A
3 changed files with 71 additions and 1 deletions

View file

@ -86,11 +86,28 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1708475490,
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0e74ca98a74bc7270d28838369593635a5db3260",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"snowfall-lib": "snowfall-lib", "snowfall-lib": "snowfall-lib",
"treefmt-nix": "treefmt-nix",
"wiki": "wiki" "wiki": "wiki"
} }
}, },
@ -146,6 +163,24 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1715940852,
"narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "2fba33a182602b9d49f0b2440513e5ee091d838b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"wiki": { "wiki": {
"flake": false, "flake": false,
"locked": { "locked": {

View file

@ -12,6 +12,8 @@
flake = false; flake = false;
}; };
inputs.treefmt-nix.url = "github:numtide/treefmt-nix";
outputs = outputs =
inputs: inputs:
inputs.snowfall-lib.mkFlake { inputs.snowfall-lib.mkFlake {
@ -26,6 +28,11 @@
namespace = "auxolotl--docs-site"; namespace = "auxolotl--docs-site";
}; };
outputs-builder = channels: { formatter = channels.nixpkgs.nixfmt-rfc-style; }; outputs-builder = channels: let
treefmt = inputs.treefmt-nix.lib.evalModule channels.nixpkgs ./treefmt.nix;
in {
formatter = treefmt.config.build.wrapper;
checks.formatting = treefmt.config.build.check inputs.self;
};
}; };
} }

28
treefmt.nix Normal file
View file

@ -0,0 +1,28 @@
# treefmt.nix
{ pkgs, ... }:
{
# Used to find the project root
projectRootFile = "flake.nix";
# go
programs.gofmt.enable = true;
# js/ts
programs.prettier.enable = true;
# markdown
programs.mdformat.enable = true;
# nix
programs.nixfmt-rfc-style.enable = true;
programs.statix.enable = true;
# python
programs.black.enable = true;
# rust
programs.rustfmt.enable = true;
# swift
programs.swift-format.enable = true;
}