diff --git a/flake.nix b/flake.nix index 24154b19..7eacadd8 100644 --- a/flake.nix +++ b/flake.nix @@ -94,10 +94,11 @@ spindle = self.callPackage ./nix/pkgs/spindle.nix {}; knot-unwrapped = self.callPackage ./nix/pkgs/knot-unwrapped.nix {}; knot = self.callPackage ./nix/pkgs/knot.nix {}; + dolly = self.callPackage ./nix/pkgs/dolly.nix {}; }); in { overlays.default = final: prev: { - inherit (mkPackageSet final) lexgen goat sqlite-lib spindle knot-unwrapped knot appview docs; + inherit (mkPackageSet final) lexgen goat sqlite-lib spindle knot-unwrapped knot appview docs dolly; }; packages = forAllSystems (system: let @@ -106,18 +107,32 @@ staticPackages = mkPackageSet pkgs.pkgsStatic; crossPackages = mkPackageSet pkgs.pkgsCross.gnu64.pkgsStatic; in { - inherit (packages) appview appview-static-files lexgen goat spindle knot knot-unwrapped sqlite-lib docs; + inherit + (packages) + appview + appview-static-files + lexgen + goat + spindle + knot + knot-unwrapped + sqlite-lib + docs + dolly + ; pkgsStatic-appview = staticPackages.appview; pkgsStatic-knot = staticPackages.knot; pkgsStatic-knot-unwrapped = staticPackages.knot-unwrapped; pkgsStatic-spindle = staticPackages.spindle; pkgsStatic-sqlite-lib = staticPackages.sqlite-lib; + pkgsStatic-dolly = staticPackages.dolly; pkgsCross-gnu64-pkgsStatic-appview = crossPackages.appview; pkgsCross-gnu64-pkgsStatic-knot = crossPackages.knot; pkgsCross-gnu64-pkgsStatic-knot-unwrapped = crossPackages.knot-unwrapped; pkgsCross-gnu64-pkgsStatic-spindle = crossPackages.spindle; + pkgsCross-gnu64-pkgsStatic-dolly = crossPackages.dolly; treefmt-wrapper = pkgs.treefmt.withConfig { settings.formatter = { diff --git a/nix/pkgs/appview-static-files.nix b/nix/pkgs/appview-static-files.nix index 623c4825..4535c8c8 100644 --- a/nix/pkgs/appview-static-files.nix +++ b/nix/pkgs/appview-static-files.nix @@ -8,6 +8,7 @@ actor-typeahead-src, sqlite-lib, tailwindcss, + dolly, src, }: runCommandLocal "appview-static-files" { @@ -17,7 +18,7 @@ runCommandLocal "appview-static-files" { (allow file-read* (subpath "/System/Library/OpenSSL")) ''; } '' - mkdir -p $out/{fonts,icons} && cd $out + mkdir -p $out/{fonts,icons,logos} && cd $out cp -f ${htmx-src} htmx.min.js cp -f ${htmx-ws-src} htmx-ext-ws.min.js cp -rf ${lucide-src}/*.svg icons/ @@ -26,6 +27,10 @@ runCommandLocal "appview-static-files" { cp -f ${inter-fonts-src}/InterVariable*.ttf fonts/ cp -f ${ibm-plex-mono-src}/fonts/complete/woff2/IBMPlexMono*.woff2 fonts/ cp -f ${actor-typeahead-src}/actor-typeahead.js . + + ${dolly}/bin/dolly -output logos/dolly.png -size 180x180 + ${dolly}/bin/dolly -output logos/dolly.ico -size 48x48 + ${dolly}/bin/dolly -output logos/dolly.svg # tailwindcss -c $src/tailwind.config.js -i $src/input.css -o tw.css won't work # for whatever reason (produces broken css), so we are doing this instead cd ${src} && ${tailwindcss}/bin/tailwindcss -i input.css -o $out/tw.css diff --git a/nix/pkgs/dolly.nix b/nix/pkgs/dolly.nix new file mode 100644 index 00000000..c09210d0 --- /dev/null +++ b/nix/pkgs/dolly.nix @@ -0,0 +1,21 @@ +{ + buildGoApplication, + modules, + src, +}: +buildGoApplication { + pname = "dolly"; + version = "0.1.0"; + inherit src modules; + + # patch the static dir + postUnpack = '' + pushd source + mkdir -p appview/pages/static + touch appview/pages/static/x + popd + ''; + + doCheck = false; + subPackages = ["cmd/dolly"]; +}