default.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | let sources = import ./nix/sources.nix; in { pkgs ? ( import sources.nixpkgs { overlays = [ (import "${sources.gomod2nix}/overlay.nix") (import ./nix/overlays/default.nix) ]; } ) }: { css = pkgs.fetchurl { inherit (sources.simple-css) url sha256; }; 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; settings.ignore = [ "nix/*" ]; }; deadnix = { enable = true; excludes = [ "nix/.*" ]; }; nixpkgs-fmt = { enable = true; excludes = [ "nix/.*" ]; }; convco.enable = true; check-case-conflicts.enable = true; check-symlinks.enable = true; editorconfig-checker.enable = true; prettier = { enable = true; types_or = [ "plain-text" "yaml" "gotmpl" "javascript" ]; settings = { plugins = with pkgs.nodePackages; [ "${prettier-plugin-go-template}/lib/node_modules/prettier-plugin-go-template/lib/index.js" ]; }; }; 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; }; }; }; } |