{
  pkgs ? import <nixpkgs>,
  lib,
  templ ? pkgs.templ,
  gitignore,
  ...
}: let
  v = "2024-12-15";
  # npm = pkgs.buildNpmPackage {
  #   name = "Keiko's Work NPM Build";
  #   version = v;
  #
  #   src = gitignore.lib.gitignoreSource ./.;
  #
  #   npmDepsHash = "sha256-8J4oIl4B9gOQcfq4KPUMPnrlgB1vde3x0YVOUBdWCU8=";
  #   npmPackFlags = ["--ignore-scripts"];
  #
  #   buildPhase = ''
  #     runHook preBuild
  #
  #     npm run unocss
  #
  #     runHook postBuild
  #   '';
  #
  #   installPhase = ''
  #     runHook preInstall
  #
  #     mkdir -p $out
  #     cp -r ./* $out
  #
  #     runHook postInstall
  #   '';
  # };
in
  pkgs.buildGoModule {
    name = "Keiko's Work";
    pname = "keikos.work";

    version = v;

    src = gitignore.lib.gitignoreSource ./.;

    nativeBuildInputs = [
      pkgs.nodejs_20
    ];

    vendorHash = "sha256-Hhvyh4M64LyuWbcKWSVWR20idIDIH/ZqLSDT2gGFqj4=";

    preBuild = ''
      ${lib.escapeShellArg (lib.getExe' templ "templ")} generate .
    '';

    meta = {
      mainProgram = "keikos.work";
    };
  }
