From a403d75b6f39360893af0e9b79697ba94806c558 Mon Sep 17 00:00:00 2001 From: Chloe A Date: Sat, 4 Apr 2026 22:10:48 +0500 Subject: [PATCH 1/2] maintainers: add SapphoSys --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 25a9eb1f0272..f7ab2dee4817 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -24059,6 +24059,12 @@ email = "hey@sandydoo.me"; matrix = "@sandydoo:matrix.org"; }; + SapphoSys = { + name = "Chloe"; + github = "SapphoSys"; + githubId = 22654782; + email = "contact@sapphic.moe"; + }; sarahec = { email = "seclark@nextquestion.net"; github = "sarahec"; From ba51b9e73a3b58e6a5fb1a19acac0d10a92f8f57 Mon Sep 17 00:00:00 2001 From: Chloe A Date: Sat, 4 Apr 2026 22:10:48 +0500 Subject: [PATCH 2/2] chiri: init at 0.8.0 --- pkgs/by-name/ch/chiri/package.nix | 107 ++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 pkgs/by-name/ch/chiri/package.nix diff --git a/pkgs/by-name/ch/chiri/package.nix b/pkgs/by-name/ch/chiri/package.nix new file mode 100644 index 000000000000..335ab3719767 --- /dev/null +++ b/pkgs/by-name/ch/chiri/package.nix @@ -0,0 +1,107 @@ +{ + lib, + stdenv, + rustPlatform, + fetchFromGitHub, + + # build tools + cargo-tauri, + nodejs_22, + pnpmConfigHook, + pnpm_10, + fetchPnpmDeps, + pkg-config, + makeBinaryWrapper, + wrapGAppsHook4, + + # Linux dependencies + glib-networking, + libayatana-appindicator, + openssl, + webkitgtk_4_1, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "chiri"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "SapphoSys"; + repo = "chiri"; + tag = "app-v${finalAttrs.version}"; + hash = "sha256-VrENUwkItT+8C7JowoEfqjIX4RhThTm+4hntdm9ifVk="; + }; + + cargoHash = "sha256-2CDwuZiE4b5cBUPZs8l4pf9/FyvtSpRwNwQZ5gp85zc="; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; + pnpm = pnpm_10; + hash = "sha256-z2AMfMYNEK4pmjlE5YXn1DRCGyIcOO0EWCFlhXSxwrU="; + fetcherVersion = 3; + }; + + nativeBuildInputs = [ + cargo-tauri.hook + nodejs_22 + pnpmConfigHook + pnpm_10 + pkg-config + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + wrapGAppsHook4 + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + makeBinaryWrapper + ]; + + buildInputs = [ + openssl + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + glib-networking + libayatana-appindicator + webkitgtk_4_1 + ]; + + cargoRoot = "src-tauri"; + buildAndTestSubdir = "src-tauri"; + + postPatch = + lib.optionalString stdenv.hostPlatform.isLinux '' + for libappindicatorRs in $cargoDepsCopy/*/libappindicator-sys-*/src/lib.rs; do + if [[ -f "$libappindicatorRs" ]]; then + substituteInPlace "$libappindicatorRs" \ + --replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1" + fi + done + '' + + '' + substituteInPlace src-tauri/tauri.conf.json \ + --replace-fail '"createUpdaterArtifacts": true' '"createUpdaterArtifacts": false' + ''; + + # This is needed since the signing keys are private, and are only used in CI during releases anyways. Regular users won't need this. + preBuild = '' + unset TAURI_SIGNING_PRIVATE_KEY + unset TAURI_SIGNING_PUBLIC_KEY + pnpm build + ''; + + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/bin + makeWrapper "$out/Applications/Chiri.app/Contents/MacOS/chiri" "$out/bin/chiri" + ''; + + doCheck = false; + + meta = { + description = "Cross-platform CalDAV task management app"; + homepage = "https://github.com/SapphoSys/chiri"; + changelog = "https://github.com/SapphoSys/chiri/releases/tag/app-v${finalAttrs.version}"; + license = lib.licenses.zlib; + maintainers = with lib.maintainers; [ SapphoSys ]; + mainProgram = "chiri"; + platforms = lib.platforms.linux ++ lib.platforms.darwin; + }; +})