From 4d2e16fe025b31c73e11cf1ab3bb0de10457df28 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Wed, 4 Jun 2025 20:49:05 +0100 Subject: [PATCH] nix: break out appview pkgs into separate file Change-Id: mulomypyqynooylwlqkknuvzovypwnwu Signed-off-by: oppiliappan --- flake.nix | 33 +++++++-------------------------- nix/pkgs/appview.nix | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 26 deletions(-) create mode 100644 nix/pkgs/appview.nix diff --git a/flake.nix b/flake.nix index 34f3451..d312c29 100644 --- a/flake.nix +++ b/flake.nix @@ -55,28 +55,6 @@ in { overlays.default = final: prev: let goModHash = "sha256-ZckpIPqFk7/XBiEJUbmrAzdjAxV62hv896xqAXF2aZs="; - appviewBuildAttrs = final: - with final; { - pname = "appview"; - version = "0.1.0"; - src = gitignoreSource ./.; - postUnpack = '' - pushd source - mkdir -p appview/pages/static/{fonts,icons} - cp -f ${htmx-src} appview/pages/static/htmx.min.js - cp -rf ${lucide-src}/*.svg appview/pages/static/icons/ - cp -f ${inter-fonts-src}/web/InterVariable*.woff2 appview/pages/static/fonts/ - cp -f ${inter-fonts-src}/web/InterDisplay*.woff2 appview/pages/static/fonts/ - cp -f ${ibm-plex-mono-src}/fonts/complete/woff2/IBMPlexMono-Regular.woff2 appview/pages/static/fonts/ - ${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o appview/pages/static/tw.css - popd - ''; - doCheck = false; - subPackages = ["cmd/appview"]; - vendorHash = goModHash; - env.CGO_ENABLED = 1; - stdenv = pkgsStatic.stdenv; - }; knotBuildAttrs = final: with final; { pname = "knot"; @@ -86,17 +64,18 @@ vendorHash = goModHash; env.CGO_ENABLED = 1; }; + appviewDeps = { + inherit htmx-src lucide-src inter-fonts-src ibm-plex-mono-src goModHash gitignoreSource; + }; in { lexgen = final.callPackage ./nix/pkgs/lexgen.nix {inherit indigo;}; + appview = final.pkgsStatic.callPackage ./nix/pkgs/appview.nix appviewDeps; + appview-cross = final.pkgsCross.gnu64.pkgsStatic.callPackage ./nix/pkgs/appview.nix appviewDeps; sqlite-lib = final.pkgsStatic.callPackage ./nix/pkgs/sqlite-lib.nix { inherit (final.pkgsStatic) gcc; inherit sqlite-lib-src; }; - # appview packages - appview = final.pkgsStatic.buildGoModule (appviewBuildAttrs final); - appview-cross = final.pkgsCross.gnu64.pkgsStatic.buildGoModule (appviewBuildAttrs final); - # knot packages knot = with final; final.pkgsStatic.buildGoModule ((knotBuildAttrs final) @@ -119,6 +98,7 @@ genjwks = final.callPackage ./nix/pkgs/genjwks.nix {inherit goModHash gitignoreSource;}; }; + packages = forAllSystems (system: { inherit (nixpkgsFor."${system}") @@ -129,6 +109,7 @@ knot-cross knot-unwrapped genjwks + sqlite-lib ; }); defaultPackage = forAllSystems (system: nixpkgsFor.${system}.appview); diff --git a/nix/pkgs/appview.nix b/nix/pkgs/appview.nix new file mode 100644 index 0000000..64b7a03 --- /dev/null +++ b/nix/pkgs/appview.nix @@ -0,0 +1,40 @@ +{ + buildGoModule, + stdenv, + htmx-src, + lucide-src, + inter-fonts-src, + ibm-plex-mono-src, + tailwindcss, + sqlite-lib, + goModHash, + gitignoreSource, +}: +buildGoModule { + inherit stdenv; + + pname = "appview"; + version = "0.1.0"; + src = gitignoreSource ../..; + + postUnpack = '' + pushd source + mkdir -p appview/pages/static/{fonts,icons} + cp -f ${htmx-src} appview/pages/static/htmx.min.js + cp -rf ${lucide-src}/*.svg appview/pages/static/icons/ + cp -f ${inter-fonts-src}/web/InterVariable*.woff2 appview/pages/static/fonts/ + cp -f ${inter-fonts-src}/web/InterDisplay*.woff2 appview/pages/static/fonts/ + cp -f ${ibm-plex-mono-src}/fonts/complete/woff2/IBMPlexMono-Regular.woff2 appview/pages/static/fonts/ + ${tailwindcss}/bin/tailwindcss -i input.css -o appview/pages/static/tw.css + popd + ''; + + doCheck = false; + subPackages = ["cmd/appview"]; + vendorHash = goModHash; + + tags = "libsqlite3"; + env.CGO_CFLAGS = "-I ${sqlite-lib}/include "; + env.CGO_LDFLAGS = "-L ${sqlite-lib}/lib"; + env.CGO_ENABLED = 1; +} -- 2.43.0