From cdac0ff71edb9c341f9364023daef009a694db22 Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Fri, 7 Feb 2025 20:23:32 -0800 Subject: [PATCH] Nix package build --- README.md | 2 +- core/source_test.go | 2 +- flake.nix | 6 ++++++ package.nix | 31 +++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 package.nix diff --git a/README.md b/README.md index d0d6cde..457fb6e 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ Parity features * [ ] crontab integration * [ ] source batching * [x] add item from web -* [ ] Nix build +* [x] Nix build * [ ] NixOS module * [ ] NixOS vm demo * [ ] Nix flake templates diff --git a/core/source_test.go b/core/source_test.go index 7ab455f..3456c21 100644 --- a/core/source_test.go +++ b/core/source_test.go @@ -149,7 +149,7 @@ func TestOnCreateAction(t *testing.T) { t.Helper() items, _, err := Execute("test", argv, nil, nil, "", time.Minute, nil) if err != nil { - t.Fatal("unexpected error executing test fetch") + t.Fatalf("unexpected error executing test fetch: %v", err) } if len(items) != 1 { t.Fatalf("expected only one item, got %d", len(items)) diff --git a/flake.nix b/flake.nix index e6d70d2..5e21a2e 100644 --- a/flake.nix +++ b/flake.nix @@ -18,11 +18,17 @@ perSystem = { pkgs, + self', ... }: { formatter = pkgs.nixfmt-rfc-style; + packages = { + intake = pkgs.callPackage ./package.nix { }; + default = self'.packages.intake; + }; + devShells.default = pkgs.mkShell { packages = [ pkgs.go diff --git a/package.nix b/package.nix new file mode 100644 index 0000000..ac9d3c3 --- /dev/null +++ b/package.nix @@ -0,0 +1,31 @@ +{ + buildGoModule, + jq, + lib, +}: +let + inherit (lib.fileset) + toSource + unions + ; +in +buildGoModule { + pname = "intake"; + version = "2.0.0"; + src = toSource { + root = ./.; + fileset = unions [ + ./cmd + ./core + ./go.mod + ./go.sum + ./main.go + ./web + ]; + }; + vendorHash = "sha256-sv4rlURaTatxJ5atYWYzD2O4EiuPp66i0RY5lQzhBKU="; + + nativeBuildInputs = [ jq ]; + + meta = {}; +}