{ lib, stdenv, buildGoModule, fetchFromGitHub }: buildGoModule rec { pname = "dstask"; version = "0.23.1"; src = fetchFromGitHub { owner = "naggie"; repo = pname; rev = "v${version}"; sha256 = "0rfz8jim0xqcwdb5n28942v9r3hbvhjrwdgzvbwc9f9psqg2s8d2"; }; # Set vendorSha256 to null because dstask vendors its dependencies (meaning # that third party dependencies are stored in the repository). # # Ref # and vendorSha256 = null; doCheck = false; # The ldflags reduce the executable size by stripping some debug stuff. # The other variables are set so that the output of dstask version shows the # git ref and the release version from github. # Ref buildFlagsArray = [ '' -ldflags=-w -s -X "github.com/naggie/dstask.VERSION=${version}" -X "github.com/naggie/dstask.GIT_COMMIT=v${version}" '' ]; subPackages = [ "cmd/dstask.go" ]; meta = with lib; { description = "Command line todo list with super-reliable git sync"; homepage = src.meta.homepage; license = licenses.mit; maintainers = with maintainers; [ stianlagstad foxit64 ]; platforms = platforms.linux; }; }