Compare commits

..

10 Commits

Author SHA1 Message Date
Spencer Brower
78cdffd0d8 fix(go): Updated .gitignore. 2026-06-09 12:41:50 -04:00
Spencer Brower
1b083a4c5b feat(go): Added dupl. 2026-06-04 17:15:08 -04:00
Spencer Brower
7325588a0f fix(go): updated docs command. 2026-06-03 16:53:49 -04:00
Spencer Brower
30309a45c4 fix(go): Updated config. 2026-06-03 13:03:43 -04:00
Spencer Brower
2c9f80d84b fix: updated linter. 2026-06-03 11:27:34 -04:00
Spencer Brower
426298e348 feat(go): Added linters and updated flake.lock. 2026-05-29 17:18:02 -04:00
Spencer Brower
4b6e7072da feat(go): Added depguard rules. 2026-05-26 17:06:21 -04:00
Spencer Brower
0caabaf5a2 feat(go): Added more linters. 2026-05-26 16:36:46 -04:00
Spencer Brower
e815d8745b feat(go): Added more linters. 2026-05-20 13:23:00 -04:00
Spencer Brower
34840540c3 feat(go): Added more linters. 2026-05-20 10:31:13 -04:00
5 changed files with 114 additions and 22 deletions

3
templates/go/.air.toml Normal file
View File

@@ -0,0 +1,3 @@
tmp_dir = "var/air"
env_files = [".env"]

View File

@@ -1,3 +1,5 @@
.direnv
node_modules
.env
result
var
vendor

View File

@@ -1,27 +1,86 @@
version: "2"
linters:
default: standard
# default: all
enable:
- bidichk
- containedctx
- contextcheck
- decorder
- depguard
- dupl
- err113
- errchkjson
- errorlint
- exhaustive
- fatcontext
- gocritic
- gosec
- govet
- intrange
- maintidx
- modernize
- nlreturn
- noctx
- perfsprint
- prealloc
- recvcheck
- rowserrcheck
- sloglint
- unparam
- unused
- usestdlibvars
- whitespace
disable:
# Deprecateed
- gomodguard
- wsl
# Comment checker
- revive
- wrapcheck # reinclude
# Not useful
- cyclop
- funlen
- gocognit
- gocyclo
- nestif
- noinlineerr
- tagalign
- tagliatelle
- varnamelen
- wsl_v5
settings:
depguard:
rules:
main:
list-mode: strict
files:
"**/main.go"
allow:
- "$gostd"
catchall:
list-mode: strict
files:
- "!$test"
- "!**/main.go"
- "**/internal/**"
allow:
- "$gostd"
- "golang.org/**"
recvcheck:
disable-builtin: false
exclusions:
- "*.TableName"
sloglint:
attr-only: true
context: "scope"
key-naming-case: "camel"
static-msg: true
# no-raw-keys: true
msg-style: "lowercased"
formatters:
enable:
- goimports
- golines

View File

@@ -5,11 +5,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -20,11 +20,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1751949589,
"narHash": "sha256-mgFxAPLWw0Kq+C8P3dRrZrOYEQXOtKuYVlo9xvPntt8=",
"lastModified": 1779877693,
"narHash": "sha256-NOF9NAREhxr50bbBfVcVOq+ArCMSoe8dP79Pk2uyARk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9b008d60392981ad674e04016d25619281550a9d",
"rev": "4100e830e085863741bc69b156ec4ccd53ab5be0",
"type": "github"
},
"original": {
@@ -34,11 +34,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1751159883,
"narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=",
"lastModified": 1777168982,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"type": "github"
},
"original": {
@@ -49,11 +49,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1751949589,
"narHash": "sha256-mgFxAPLWw0Kq+C8P3dRrZrOYEQXOtKuYVlo9xvPntt8=",
"lastModified": 1779877693,
"narHash": "sha256-NOF9NAREhxr50bbBfVcVOq+ArCMSoe8dP79Pk2uyARk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9b008d60392981ad674e04016d25619281550a9d",
"rev": "4100e830e085863741bc69b156ec4ccd53ab5be0",
"type": "github"
},
"original": {
@@ -65,11 +65,11 @@
},
"process-compose-flake": {
"locked": {
"lastModified": 1749418557,
"narHash": "sha256-wJHHckWz4Gvj8HXtM5WVJzSKXAEPvskQANVoRiu2w1w=",
"lastModified": 1767863885,
"narHash": "sha256-XXekPAxzbv1DmHFo3Elmj/vDnvWc1V0jdDUvM0/Wf7k=",
"owner": "Platonic-Systems",
"repo": "process-compose-flake",
"rev": "91dcc48a6298e47e2441ec76df711f4e38eab94e",
"rev": "99bea96cf269cfd235833ebdf645b567069fd398",
"type": "github"
},
"original": {
@@ -94,11 +94,11 @@
]
},
"locked": {
"lastModified": 1752055615,
"narHash": "sha256-19m7P4O/Aw/6+CzncWMAJu89JaKeMh3aMle1CNQSIwM=",
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "c9d477b5d5bd7f26adddd3f96cfd6a904768d4f9",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"type": "github"
},
"original": {

View File

@@ -58,19 +58,47 @@
settings.formatter.prettier =
{
excludes = [
"assets/vendor/**"
"public/**"
"resources/js/modernizr.js"
"storage/app/caniuse.json"
"templates/**"
"*.md"
];
};
programs.golangci-lint.enable = true;
# Appears to be broken?
programs.golangci-lint.enable = false;
};
process-compose.default.settings.processes = {
packages.default = pkgs.buildGoModule rec {
# pname = "package-name";
version = "0.1.0";
src = ./.;
vendorHash = "sha256-0000000000000000000000000000000000000000000=";
env.CGO_ENABLED = 1;
buildInputs = [ pkgs.sqlite ];
# subPackages = [ ];
ldflags = [
"-X git.verticalaxion.com/verticalaxion/sales-tracker-go/internal/config.Version=${version}"
];
# postInstall = ''
# mkdir -p $out/lib
# cp -r ${src}/templates $out/lib/templates
# cp -r ${src}/assets $out/lib/assets
# '';
};
# Run this with nix run .#dev
process-compose.dev.settings.processes = {
mail.command = "${pkgs.mailhog}/bin/MailHog";
web.command = "${pkgs.air}/bin/air --";
web.command = "${pkgs.caddy}/bin/caddy run";
web.is_elevated = true;
docs.command = "${pkgs.pkgsite}/bin/pkgsite --http localhost:6060";
};
devShells.default = pkgs.mkShell