From 88eff2080cd38518cb216c0dbd3390f7c88a7873 Mon Sep 17 00:00:00 2001 From: sterni Date: Mon, 17 Jan 2022 13:23:06 +0100 Subject: refactor(tools/emacs-pkgs): move sly-from-depot to tvl.el The function is depot specific and thus uses tvl-depot-path, so it belongs in `tvl.el`. Since non-sly-users won't need it, we tie its definition to loading the sly package. Change-Id: I8b104deab455d218d3df6a800e35cc104220a841 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4960 Tested-by: BuildkiteCI Reviewed-by: tazjin --- tools/emacs-pkgs/nix-util/nix-util.el | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) (limited to 'tools/emacs-pkgs/nix-util') diff --git a/tools/emacs-pkgs/nix-util/nix-util.el b/tools/emacs-pkgs/nix-util/nix-util.el index 00b86e994e92..4ddc81f563d3 100644 --- a/tools/emacs-pkgs/nix-util/nix-util.el +++ b/tools/emacs-pkgs/nix-util/nix-util.el @@ -5,14 +5,13 @@ ;; ;; Author: Vincent Ambo ;; Version: 1.0 -;; Package-Requires: (cl json map s) +;; Package-Requires: (json map s) ;; ;;; Commentary: ;; ;; This package adds some functionality that I find useful when ;; working in Nix buffers or programs installed from Nix. -(require 'cl) (require 'json) (require 'map) (require 's) @@ -67,36 +66,4 @@ :stderr errbuf :sentinel prefetch-handler))) -(defun nix/sly-from-depot (attribute) - "Start a Sly REPL configured with a Lisp matching a derivation - from the depot. - - The derivation invokes nix.buildLisp.sbclWith and is built - asynchronously. The build output is included in the error - thrown on build failures." - - (interactive "sAttribute: ") - (lexical-let* ((outbuf (get-buffer-create (format "*depot-out/%s*" attribute))) - (errbuf (get-buffer-create (format "*depot-errors/%s*" attribute))) - (expression (format "(import {}).%s.repl" attribute)) - (command (list "nix-build" "--no-out-link" "-I" (format "depot=%s" tvl-depot-path) "-E" expression))) - (message "Acquiring Lisp for .%s" attribute) - (make-process :name (format "depot-nix-build/%s" attribute) - :buffer outbuf - :stderr errbuf - :command command - :sentinel - (lambda (process event) - (unwind-protect - (pcase event - ("finished\n" - (let* ((outpath (s-trim (with-current-buffer outbuf (buffer-string)))) - (lisp-path (s-concat outpath "/bin/sbcl"))) - (message "Acquired Lisp for .%s at %s" attribute lisp-path) - (sly lisp-path))) - (_ (with-current-buffer errbuf - (error "Failed to build '%s':\n%s" attribute (buffer-string))))) - (kill-buffer outbuf) - (kill-buffer errbuf)))))) - (provide 'nix-util) -- cgit 1.4.1