From fdb39d211181b09f77d88aade663526e4e058e0c Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sun, 2 Aug 2026 13:33:08 -0700 Subject: [PATCH] Fix Darwin Nix desktop app icon (#2783) * Fix Darwin Nix desktop app icon * Refresh Darwin Nix bundle identity --- flake.nix | 13 ++++++++++++- nix/desktop-package.nix | 2 ++ packages/desktop/electron-builder.yml | 2 ++ packages/desktop/src/main.ts | 4 ++-- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 5d9d240cc4..9f98752e7e 100644 --- a/flake.nix +++ b/flake.nix @@ -26,11 +26,22 @@ let pkgs = pkgsFor system; paseo = pkgs.callPackage ./nix/package.nix { }; + versionParts = pkgs.lib.splitString "." paseo.version; + sourceRevision = if self ? revCount && self.revCount != null then self.revCount else 0; + buildRevision = sourceRevision - (sourceRevision / 10000) * 10000; + desktopBuildVersion = pkgs.lib.concatStringsSep "." [ + (builtins.elemAt versionParts 0) + (builtins.elemAt versionParts 1) + (toString buildRevision) + ]; in { default = paseo; paseo = paseo; - desktop = pkgs.callPackage ./nix/desktop-package.nix { inherit paseo; }; + desktop = pkgs.callPackage ./nix/desktop-package.nix { + inherit paseo; + buildVersion = desktopBuildVersion; + }; } ); diff --git a/nix/desktop-package.nix b/nix/desktop-package.nix index 3494afa6af..cadb074f02 100644 --- a/nix/desktop-package.nix +++ b/nix/desktop-package.nix @@ -10,6 +10,7 @@ makeDesktopItem, electron, libuv, + buildVersion, # Reuse the daemon's prebuilt npm-deps FOD. Same lockfile, same content — # without this, the desktop drv produces a separately-named store path # (`paseo-desktop--npm-deps`) and refetches the entire registry. Override @@ -126,6 +127,7 @@ buildNpmPackage { --mac \ --publish never \ --config.electronDist="$electron_dist" \ + --config.buildVersion=${lib.escapeShellArg buildVersion} \ --config.mac.identity=null \ --config.mac.hardenedRuntime=false \ --config.mac.notarize=false diff --git a/packages/desktop/electron-builder.yml b/packages/desktop/electron-builder.yml index bbee5e034d..01cd43d080 100644 --- a/packages/desktop/electron-builder.yml +++ b/packages/desktop/electron-builder.yml @@ -42,6 +42,8 @@ mac: extraResources: - from: bin/paseo to: bin/paseo + - from: assets/icon.png + to: icon.png target: - dmg - zip diff --git a/packages/desktop/src/main.ts b/packages/desktop/src/main.ts index 5509fdd0e7..07621fb7f4 100644 --- a/packages/desktop/src/main.ts +++ b/packages/desktop/src/main.ts @@ -651,8 +651,8 @@ function applyAppIcon(): void { return; } - const iconPath = path.resolve(__dirname, "../assets/icon.png"); - if (!existsSync(iconPath)) { + const iconPath = getWindowIconPath(); + if (!iconPath) { return; }