From 5624c40c14a5c2a481890f0595f61cee2bfb715e Mon Sep 17 00:00:00 2001 From: Ahmad Ansori Palembani Date: Tue, 5 Nov 2024 08:51:55 +0700 Subject: [PATCH] chore(nix/darwin): Add Vesktop --- .config/nix/lib/darwin/mkApp.nix | 18 +++++++ .config/nix/overlays/darwin/heliport.nix | 51 +++++++++----------- .config/nix/overlays/darwin/vesktop.nix | 28 +++++++++++ .config/nix/systems/darwin/configuration.nix | 1 + .config/nix/systems/darwin/default.nix | 2 + 5 files changed, 71 insertions(+), 29 deletions(-) create mode 100644 .config/nix/lib/darwin/mkApp.nix create mode 100644 .config/nix/overlays/darwin/vesktop.nix diff --git a/.config/nix/lib/darwin/mkApp.nix b/.config/nix/lib/darwin/mkApp.nix new file mode 100644 index 0000000..57f9f0a --- /dev/null +++ b/.config/nix/lib/darwin/mkApp.nix @@ -0,0 +1,18 @@ +# REF: https://github.com/bandithedoge/nixpkgs-firefox-darwin/blob/ceaca2359e5371ccef3f92a36baf7c438b354afb/overlay.nix +{ stdenv, undmg, pname, version, sourceRoot ? ".", appFileName, src, meta, nativeBuildInputs ? [ undmg ] }: + +stdenv.mkDerivation rec { + inherit pname version; + + inherit src nativeBuildInputs; + + inherit sourceRoot; + + phases = [ "unpackPhase" "installPhase" ]; + installPhase = '' + mkdir -p $out/Applications + cp -R ${appFileName} "$out/Applications/" + ''; + + inherit meta; +} diff --git a/.config/nix/overlays/darwin/heliport.nix b/.config/nix/overlays/darwin/heliport.nix index 16783e4..2e6feda 100644 --- a/.config/nix/overlays/darwin/heliport.nix +++ b/.config/nix/overlays/darwin/heliport.nix @@ -2,34 +2,27 @@ final: prev: let - package = version: - final.stdenv.mkDerivation rec { - pname = "HeliPort"; - inherit version; - - src = final.fetchurl { - url = "https://github.com/OpenIntelWireless/HeliPort/releases/download/v${version}/HeliPort.dmg"; - sha256 = "49cbe7abea742a3c662a836f14c05b79b3e6e6577c897b57101f5bd0a086eec8"; - }; - - nativeBuildInputs = [ final.undmg ]; - - sourceRoot = "."; - - phases = [ "unpackPhase" "installPhase" ]; - installPhase = '' - mkdir -p $out/Applications - cp -R HeliPort.app "$out/Applications/" - ''; - - meta = with final.lib; { - description = "Intel WiFi Client for itlwm"; - homepage = "https://github.com/OpenIntelWireless/HeliPort"; - license = licenses.bsd3; - platforms = platforms.darwin; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - }; - }; + mkApp = import ../../lib/darwin/mkApp.nix; + version = "1.5.0"; in { - heliport = package "1.5.0"; + heliport = mkApp { + inherit (final) stdenv undmg; + + pname = "HeliPort"; + appFileName = "HeliPort.app"; + inherit version; + + src = final.fetchurl { + url = "https://github.com/OpenIntelWireless/HeliPort/releases/download/v${version}/HeliPort.dmg"; + sha256 = "49cbe7abea742a3c662a836f14c05b79b3e6e6577c897b57101f5bd0a086eec8"; + }; + + meta = with final.lib; { + description = "Intel WiFi Client for itlwm"; + homepage = "https://github.com/OpenIntelWireless/HeliPort"; + license = licenses.bsd3; + platforms = platforms.darwin; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + }; + }; } diff --git a/.config/nix/overlays/darwin/vesktop.nix b/.config/nix/overlays/darwin/vesktop.nix new file mode 100644 index 0000000..2425f9f --- /dev/null +++ b/.config/nix/overlays/darwin/vesktop.nix @@ -0,0 +1,28 @@ +# REF: https://github.com/bandithedoge/nixpkgs-firefox-darwin/blob/ceaca2359e5371ccef3f92a36baf7c438b354afb/overlay.nix +final: prev: + +let + mkApp = import ../../lib/darwin/mkApp.nix; + version = "1.5.2"; +in { + vesktop = mkApp { + inherit (final) stdenv undmg; + + pname = "Vesktop"; + appFileName = "Vesktop*.app"; + inherit version; + + src = final.fetchurl { + url = "https://github.com/Vencord/Vesktop/releases/download/v${version}/Vesktop-${version}.dmg"; + hash = "sha256-/u2G5v98+FAIfg7UMq5vUFmYO2Tj5ZiAaLrdqUdOMAo"; + }; + + meta = with final.lib; { + description = "An alternate client for Discord with Vencord built-in"; + homepage = "https://github.com/Vencord/Vesktop"; + license = licenses.gpl3Only; + platforms = platforms.darwin; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + }; + }; +} diff --git a/.config/nix/systems/darwin/configuration.nix b/.config/nix/systems/darwin/configuration.nix index 76a5f37..930d9cb 100644 --- a/.config/nix/systems/darwin/configuration.nix +++ b/.config/nix/systems/darwin/configuration.nix @@ -57,6 +57,7 @@ in { pkgs.casks.zotero # pkgs.casks.lulu # Doesn't work, it needs to be installed on /Applications/ # pkgs.heliport # FIXME: https://github.com/matthewbauer/undmg/issues/2 + # pkgs.vesktop # FIXME: "only HFS file systems are supported." pkgs.lf pkgs.yazi # lf replacement, need further testing diff --git a/.config/nix/systems/darwin/default.nix b/.config/nix/systems/darwin/default.nix index c2f8d1b..5504bf9 100644 --- a/.config/nix/systems/darwin/default.nix +++ b/.config/nix/systems/darwin/default.nix @@ -24,6 +24,7 @@ in inputs.firefox-darwin.overlay (mkBrew { inherit system brew-api; nixpkgs = nixpkgs-stable; }) (import ../../overlays/darwin/heliport.nix) + (import ../../overlays/darwin/vesktop.nix) ]; } ) pkgs pkgs-unstable; @@ -49,6 +50,7 @@ in extraOverlays = [ inputs.firefox-darwin.overlay (mkBrew { inherit system brew-api; nixpkgs = nixpkgs-stable; }) + (import ../../overlays/darwin/vesktop.nix) ]; } ) pkgs pkgs-unstable;