gitwtfhub

wtf is nix-skel-service?

supabase/nix-skel-service — explained in plain English

Analysis updated 2026-08-07 · repo last pushed 2026-07-14

1PythonAudience · developerComplexity · 3/5ActiveSetup · moderate

TL;DR

A starter template that packages a Go service using Nix, with dev tools, formatting, linting, and CI pipelines pre-configured to match Supabase's own packaging standards.

Mindmap

mindmap
  root((repo))
    What it does
      Packages Go services
      Sets up CI pipelines
      Adds linting and formatting
      Includes pre-commit hooks
    Tech stack
      Nix
      Go
      GitHub Actions
    Use cases
      Build Supabase microservices
      Match Supabase packaging standards
      Scaffold Go service quickly
    Audience
      Go developers
      Supabase ecosystem teams
    Tradeoffs
      Steep Nix learning curve
      Sparse README docs

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Scaffold a new Go microservice with Nix packaging and CI that matches Supabase's standards.

REASON 2

Set up a Go development environment with formatting and linting tools pre-configured.

REASON 3

Create a reproducible build pipeline for a Go service using Nix and GitHub Actions.

What's in the stack?

NixGoGitHub Actionspre-commit

How it stacks up

supabase/nix-skel-service0xallam/posthog0xustaz/streamgate
Stars111
LanguagePythonPythonPython
Last pushed2026-07-142026-03-26
MaintenanceActiveMaintained
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencedeveloperpm founderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires familiarity with the Nix ecosystem and points to an external getting-started guide for step-by-step instructions.

Wtf does this do

nix-skel-service is a starting template that helps you package a Go-based service using a tool called Nix. Think of it like a pre-built scaffold: you clone the repo, run an interactive setup, and you get a fully working package setup with continuous integration pipelines ready to go. It saves you from writing all the boilerplate configuration from scratch. At a high level, Nix is a tool that creates reproducible, isolated builds, meaning if it builds on your machine, it should build the same way anywhere else. This template wires up the packaging for a Go service, sets up a development environment with formatting and linting tools, and includes GitHub Actions workflows that automatically check and build your code across different systems. It also includes pre-commit hooks that catch common issues before code even gets pushed, like formatting errors or unused code. Notably, it pins its dependencies to the same underlying package set that Supabase uses for their own Postgres services, keeping things aligned with their infrastructure. The people who would use this are developers or teams building Go services, particularly those working within or alongside the Supabase ecosystem who want consistency with how Supabase packages their own software. For example, if you're building a microservice that needs to integrate with Supabase and you want your packaging and CI setup to match their standards, this template gives you that foundation without having to figure it out yourself. The main tradeoff here is that Nix has a notoriously steep learning curve, so while this template removes a lot of manual setup, you still need some familiarity with the Nix ecosystem to make the most of it. The README itself is fairly sparse and points to a separate getting-started guide for the actual step-by-step instructions, so you'll need to dig into the docs to get up and running.

Yoink these prompts

Prompt 1
I want to use the nix-skel-service template to package my Go service with Nix. Walk me through cloning the repo, running the interactive setup, and customizing it for a Go project with a main.go file.
Prompt 2
Help me customize the GitHub Actions workflows from nix-skel-service so my Go service is built and tested across Linux and macOS using Nix.
Prompt 3
I'm using nix-skel-service to package my Go microservice for the Supabase ecosystem. How do I add my own Go dependencies and make sure they're pinned to the Supabase nixpkgs package set?
Prompt 4
Show me how to configure the pre-commit hooks in nix-skel-service to add custom Go linting rules beyond the defaults.

Frequently asked questions

wtf is nix-skel-service?

A starter template that packages a Go service using Nix, with dev tools, formatting, linting, and CI pipelines pre-configured to match Supabase's own packaging standards.

What language is nix-skel-service written in?

Mainly Python. The stack also includes Nix, Go, GitHub Actions.

Is nix-skel-service actively maintained?

Active — commit in last 30 days (last push 2026-07-14).

How hard is nix-skel-service to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is nix-skel-service for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.