diff options
author | William Carroll <wpcarro@gmail.com> | 2020-01-30T16·00+0000 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-01-30T16·00+0000 |
commit | 578ed1ba98510058cf48f897a9bf4e3391684120 (patch) | |
tree | 5eadabd3d232151c75ac2424eaa8771ab25e927e /configs/shared/.emacs.d/wpc/packages/wpc-nix.el | |
parent | 3684adf23f847114e1beeaab162398628ba571aa (diff) |
Move move .emacs.d out of configs/shared
Moving all of my Emacs-related files into their own directory at the root of this repository.
Diffstat (limited to 'configs/shared/.emacs.d/wpc/packages/wpc-nix.el')
-rw-r--r-- | configs/shared/.emacs.d/wpc/packages/wpc-nix.el | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/configs/shared/.emacs.d/wpc/packages/wpc-nix.el b/configs/shared/.emacs.d/wpc/packages/wpc-nix.el deleted file mode 100644 index 68d542e01176..000000000000 --- a/configs/shared/.emacs.d/wpc/packages/wpc-nix.el +++ /dev/null @@ -1,56 +0,0 @@ -;;; wpc-nix.el --- Nix support -*- lexical-binding: t -*- -;; Author: William Carroll <wpcarro@gmail.com> - -;;; Commentary: -;; Configuration to support working with Nix. - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Dependencies -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(prelude/assert (f-exists? "~/universe")) -(prelude/assert (f-exists? "~/depot")) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; Library -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;;; Code: -(use-package nix-mode - :mode "\\.nix\\'") - -(defun nix/sly-from-universe (attribute) - "Start a Sly REPL configured with a Lisp matching a derivation - from my monorepo. - -This function was taken from @tazjin's depot and adapted for my monorepo. - - 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 "*universe-out/%s*" attribute))) - (errbuf (get-buffer-create (format "*universe-errors/%s*" attribute))) - (expression (format "let depot = import <depot> {}; universe = import <universe> {}; in depot.nix.buildLisp.sbclWith [ universe.%s ]" attribute)) - (command (list "nix-build" "-E" expression))) - (message "Acquiring Lisp for <depot>.%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 <depot>.%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 'wpc-nix) -;;; wpc-nix.el ends here |