From 7ad48953a4d9470d2f4fe89343c0b09bff410c58 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 2 May 2024 13:55:48 +0200 Subject: chore: initial commit --- default.nix | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 default.nix (limited to 'default.nix') 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; + }; + }; + }; +} -- cgit 1.4.1