1.5 KiB
Executable File
1.5 KiB
Executable File
Luxtools (Go edition)
Luxtools is now implemented entirely in Go. The project serves a retro-styled HTMX interface backed by a lightweight Go HTTP server that mirrors the behaviour of the former Nim version.
Project layout
luxtools/
├── assets/ # Runtime asset directory served from disk (/assets/*)
├── cmd/luxtools/ # Main program entrypoint
├── internal/server/ # HTTP server, handlers, helpers, and tests
├── web/
│ ├── static/ # Vendored front-end assets (HTMX, TUI.CSS, images)
│ └── templates/ # HTML templates rendered by the server
├── deploy/ # Deployment manifests (systemd unit, etc.)
├── go.mod # Go module definition
└── README.md # You're here
Prerequisites
- Go 1.22 or newer
Run the server
go run ./cmd/luxtools
The server listens on http://127.0.0.1:5000 and serves:
/— main page rendered fromweb/templates/index.html/counter— HTMX-powered counter snippet with server-side state/time— current server timestamp/static/*— vendored assets fromweb/static/assets/*— runtime assets from the sharedassetsdirectory
Testing
go test ./...
Building for deployment
go build -o bin/luxtools ./cmd/luxtools
The resulting binary is compatible with the provided systemd unit located in deploy/luxtools.service.