/GoTemplate

A full-featured go and nix starter template

Primary LanguageNixMIT LicenseMIT

GoTemplate

This template aims to make a full featured go boilerplate with nix at its core

built with nix Gitpod Ready-to-Code Build Check code Publish Changelog Latest release

🚀 Main Features

  • Ultra light docker images with a kind of multi-stage docker image
  • A just file (a modern and more convenient make replacement) with full-featured recipes
  • GitHub Action with linting, formatting, building, releasing...
  • Reproducible dev environment with nix flakes and gitpod
  • Full-featured build system with nix flakes and goreleaser

📖 Usage

Hi dear user, this repo need some tweaking after cloning it right from the template

  1. You need to create a secret COMMIT_TOKEN with the workflow and repo scopes to allow auto-formatting the code with GitHub actions
  2. You need to run the rebrand_project just recipe, to update all the user / repo specific refs
    just rebrand_project
  3. (OPTIONAL), you can also change the description of the nix flake and add the corresponding configs if your app need them
  4. (OPTIONAL), delete / edit the CONTRIBUTING.md file

🫶 Contributing

Your contribution is welcome and really appreciated, please see CONTRIBUTING.md