feat(macos): client Pangolin (derivation dmg + activation)

This commit is contained in:
Hermes Agent
2026-10-23 10:24:12 -04:00
parent 1ca4f0b070
commit dcc8ce342c
+31 -1
View File
@@ -3,7 +3,30 @@
pkgs,
inputs,
...
}: {
}: let
# Client VPN Pangolin pour macOS : extrait du .dmg officiel (fosrl/apple).
# Mise à jour : bump version + hash (`nix store prefetch-file --json <url>`).
pangolin-client = pkgs.stdenvNoCC.mkDerivation {
pname = "pangolin-client";
version = "0.12.1";
src = pkgs.fetchurl {
url = "https://github.com/fosrl/apple/releases/download/mac-0.12.1/Pangolin_Installer_0.12.1.dmg";
hash = "sha256-RETTcY6f6kqsyNrEKOToyPq/GAHu1ujY6pjzcKevgEA=";
};
nativeBuildInputs = [pkgs.undmg];
sourceRoot = ".";
unpackPhase = "undmg $src";
installPhase = ''
mkdir -p $out/Applications
cp -R *.app $out/Applications/
'';
meta = {
description = "Pangolin client (zero-trust VPN) pour macOS";
homepage = "https://pangolin.net";
platforms = pkgs.lib.platforms.darwin;
};
};
in {
imports = [
inputs.home-manager.darwinModules.home-manager
@@ -67,5 +90,12 @@
};
};
# Copie l'app dans /Applications à chaque activation : une app avec
# extension réseau ne doit pas tourner depuis un symlink du store Nix.
system.activationScripts.pangolin-client.text = ''
rm -rf /Applications/Pangolin.app
cp -R ${pangolin-client}/Applications/Pangolin.app /Applications/
'';
system.stateVersion = 6;
}