From aa410839cdbdeecf016dcc21fbf544eb0f1ad2a1 Mon Sep 17 00:00:00 2001 From: yuzukicat Date: Thu, 23 Mar 2023 11:26:00 +0900 Subject: [PATCH] emacsPackages.mind-wave packaging --- .../manual-packages/mind-wave/default.nix | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 pkgs/applications/editors/emacs/elisp-packages/manual-packages/mind-wave/default.nix diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mind-wave/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mind-wave/default.nix new file mode 100644 index 000000000000..336cd510479f --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/mind-wave/default.nix @@ -0,0 +1,89 @@ +{ lib +, pkgs +, melpaBuild +, substituteAll +}: +# To use this package with emacs-overlay: +# nixpkgs.overlays = [ +# inputs.emacs-overlay.overlay +# (final: prev: { +# emacs30 = prev.emacsGit.overrideAttrs (old: { +# name = "emacs30"; +# version = inputs.emacs-upstream.shortRev; +# src = inputs.emacs-upstream; +# }); +# emacsWithConfig = prev.emacsWithPackagesFromUsePackage { +# config = let +# readRecursively = dir: +# builtins.concatStringsSep "\n" +# (lib.mapAttrsToList (name: value: +# if value == "regular" +# then builtins.readFile (dir + "/${name}") +# else +# ( +# if value == "directory" +# then readRecursively (dir + "/${name}") +# else [] +# )) +# (builtins.readDir dir)); +# in +# # your home-manager config +# readRecursively ./home/modules/emacs; +# alwaysEnsure = true; +# package = final.emacs30; +# extraEmacsPackages = epkgs: [ +# epkgs.use-package +# (epkgs.melpaBuild rec { +# # ... +# }) +# ]; +# override = epkgs: +# epkgs +# // { +# # ... +# }; +# }; +# }) +# ]; +melpaBuild rec { + pname = "mind-wave"; + version = "20230322.1348"; # 13:48 UTC + src = pkgs.fetchFromGitHub { + owner = "manateelazycat"; + repo = "mind-wave"; + rev = "2d94f553a394ce73bcb91490b81e0fc042baa8d3"; + sha256 = "sha256-6tmcPYAEch5bX5hEHMiQGDNYEMUOvnxF1Vq0VVpBsYo="; + }; + commit = "2d94f553a394ce73bcb91490b81e0fc042baa8d3"; + # elisp dependencies + packageRequires = [ + pkgs.emacsPackages.markdown-mode + ]; + buildInputs = [ + (pkgs.python3.withPackages (ps: + with ps; [ + openai + epc + sexpdata + six + ])) + ]; + recipe = pkgs.writeText "recipe" '' + (mind-wave + :repo "manateelazycat/mind-wave" + :fetcher github + :files + ("mind-wave.el" + "mind-wave-epc.el" + "mind_wave.py" + "utils.py")) + ''; + doCheck = true; + passthru.updateScript = pkgs.unstableGitUpdater {}; + meta = with lib; { + description = " Emacs AI plugin based on ChatGPT API "; + homepage = "https://github.com/manateelazycat/mind-wave"; + license = licenses.gpl3Only; + maintainers = with maintainers; [yuzukicat]; + }; +}