{ buildGoModule, copyDesktopItems, fetchFromGitHub, fetchNpmDeps, lib, nodejs, npmHooks, pkg-config, wails, webkitgtk_4_1, }: buildGoModule (finalAttrs: { pname = "remanager"; version = "1.7.4"; src = fetchFromGitHub { owner = "rmitchellscott"; repo = "reManager"; tag = "v${finalAttrs.version}"; hash = "sha256-V52JaZ2a8TM0PkcVFqRYohX9Y0SLUHTLQu8+huvhAdE="; }; vendorHash = "sha256-YC/Z9rn3DUZkuYHyDyOAmbugMFUx2sIWlrtMDyUXhUw="; meta = { description = "Desktop app for managing mods on reMarkable tablets"; homepage = "https://github.com/rmitchellscott/reManager"; license = lib.licenses.gpl3; }; subPackages = [ "cmd/remanager" ]; ldflags = [ "-X main.version=${finalAttrs.version}" ]; nativeBuildInputs = [ copyDesktopItems nodejs npmHooks.npmConfigHook pkg-config wails ]; buildInputs = [ webkitgtk_4_1 ]; env = { npmDeps = fetchNpmDeps { src = "${finalAttrs.src}/frontend"; hash = "sha256-uxWpVL5ynuNu2PtPqgyvoCo7CMRbXSHKVlx/VVVfS3Q="; }; npmRoot = "frontend"; }; tags = [ "webkit2_41" ]; postBuild = '' wails build -m -trimpath -tags webkit2_41 -ldflags "-X main.version=${finalAttrs.version}" -o reManager ''; desktopItems = [ "${finalAttrs.src}/flatpak/io.scottlabs.reManager.desktop" ]; postInstall = '' install -Dm 0755 build/bin/reManager $out/bin/reManager mkdir -p $out/share/icons/hicolor/scalable/apps cp assets/icon.svg $out/share/icons/hicolor/scalable/apps/io.scottlabs.reManager.svg ''; })