aboutsummaryrefslogtreecommitdiff
path: root/treefmt.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2025-08-17 19:41:36 -0700
committerFranck Cuny <franck@fcuny.net>2025-08-17 19:48:14 -0700
commit257ade944e49559b898fc548f6e65e65d3319d7e (patch)
treeccb31df6871321994ba5fa1a0d477aa1eae7d140 /treefmt.nix
parentformat go code with `nix fmt` (diff)
downloadx-257ade944e49559b898fc548f6e65e65d3319d7e.tar.gz
manage the repository with nix
Add a flake.nix to manage the development shell, the formatters, add some pre-commit checks, and such. This might evolve a bit over time but this is a good starting point.
Diffstat (limited to '')
-rw-r--r--treefmt.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/treefmt.nix b/treefmt.nix
new file mode 100644
index 0000000..6d19624
--- /dev/null
+++ b/treefmt.nix
@@ -0,0 +1,30 @@
+{ pkgs, ... }:
+{
+ # See https://github.com/numtide/treefmt-nix#supported-programs
+ projectRootFile = ".git/config";
+ settings.global.includes = [
+ "*.go"
+ "*.yaml"
+ "*.yml"
+ "*.md"
+ "*.nix"
+ ];
+ settings.global.fail-on-change = true;
+ settings.global.no-cache = true;
+ programs.gofumpt = {
+ enable = true;
+ package = pkgs.gofumpt;
+ };
+ programs.goimports.enable = true;
+ programs.golines.enable = true;
+ # GitHub Actions
+ programs.yamlfmt.enable = true;
+ programs.actionlint.enable = true;
+ # Markdown
+ programs.mdformat.enable = true;
+ # Nix
+ programs.nixfmt = {
+ enable = true;
+ package = pkgs.nixfmt-rfc-style;
+ };
+}