about summary refs log tree commit diff stats
path: root/default.nix
diff options
context:
space:
mode:
authorAlan Pearce2024-05-02 13:55:48 +0200
committerAlan Pearce2024-05-02 22:40:38 +0200
commit7ad48953a4d9470d2f4fe89343c0b09bff410c58 (patch)
tree9aa74fcb05f51df6b56d1a6025217dd3c5075a4b /default.nix
downloadsearchix-7ad48953a4d9470d2f4fe89343c0b09bff410c58.tar.lz
searchix-7ad48953a4d9470d2f4fe89343c0b09bff410c58.tar.zst
searchix-7ad48953a4d9470d2f4fe89343c0b09bff410c58.zip
chore: initial commit
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix68
1 files changed, 68 insertions, 0 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..0697abc
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,68 @@
+let
+  sources = import ./nix/sources.nix;
+in
+{ pkgs ? (
+    import sources.nixpkgs {
+      overlays = [
+        (import "${sources.gomod2nix}/overlay.nix")
+      ];
+    }
+  )
+}: {
+  searchix = pkgs.buildGoApplication {
+    pname = "searchix";
+    version = "0.1";
+    pwd = ./.;
+    src = ./.;
+    modules = ./gomod2nix.toml;
+  };
+
+  pre-commit-check = (import sources.git-hooks).run {
+    src = ./.;
+    hooks = {
+      gotest.enable = true;
+      golangci-lint.enable = true;
+      staticcheck.enable = true;
+
+      statix.enable = true;
+      deadnix = {
+        enable = true;
+        excludes = [ "./nix" ];
+      };
+      nixpkgs-fmt.enable = true;
+
+      convco.enable = true;
+
+      check-case-conflicts.enable = true;
+      check-symlinks.enable = true;
+      editorconfig-checker.enable = true;
+      prettier = {
+        enable = true;
+        types_or = [ "plain-text" "yaml" ];
+        settings = {
+          check = true;
+        };
+      };
+
+      yamllint = {
+        enable = true;
+      };
+      go-mod-tidy = {
+        enable = true;
+        name = "go-mod-tidy";
+        description = "Run `go mod tidy`";
+        types_or = [ "go" "go-mod" ];
+        entry = "${pkgs.go}/bin/go mod tidy";
+        pass_filenames = false;
+      };
+      gomod2nix = {
+        enable = true;
+        name = "gomod2nix";
+        description = "Import go.mod updates to nix";
+        types_or = [ "go-sum" ];
+        entry = "${pkgs.gomod2nix}/bin/gomod2nix";
+        pass_filenames = false;
+      };
+    };
+  };
+}