[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix and Emacs Integration for Polyglot Development

From: George Clemmer
Subject: Re: Guix and Emacs Integration for Polyglot Development
Date: Fri, 26 Oct 2018 14:01:15 -0400
User-agent: mu4e 1.0; emacs 26.1

Alex Kost <address@hidden> writes:

> George Clemmer (2018-10-26 00:59 -0400) wrote:
>> Hi Alex,
> Hello George!
>> I have been using code like ...
>> (with-eval-after-load (quote guix-ui-profile)
>>   (setq guix-profiles
>>      (append (quote("/home/glc/gom/.guix-profile")) guix-profiles)))
>> (setq guix-current-profile "/home/glc/gom/.guix-profile")
>> ... to add a "project" profile to *Guix Profile* and make it
>> current. This has my desired effect: "making" emacs-guix package-related
>> commands operate on a "project" profile instead of the "default user
>> profile". Using your commit ...
>> 4ce2b6a * master origin/master Add new 'guix' command and rename the old
>> one to 'guix-command'
>   Hint: since you are on this commit, you may check the new "M-x guix" -
>   you will be the first person who will try it (maybe you will like it
>   this time)  ;-)

Yes, I saw that you moved the old guix to guix-command which sounds
great and works here. Sadly, 'M-x guix' gives me a backtrace ...

Debugger entered--Lisp error: (error "Autoloading file 
/home/glc/gom/.gpm/gfg/emacs-guix/emacs-guix/elisp/guix-command.elc failed to 
define function guix")
  autoload-do-load((autoload "guix-command" "Popup window for 'guix'." t nil) 
  command-execute(guix record)
  execute-extended-command(nil "guix" "guix")
  funcall-interactively(execute-extended-command nil "guix" "guix")
  call-interactively(execute-extended-command nil nil)

... with this emacs-guix config ...

;;; >>> /home/glc/gom//home/glc/gom/.gpm/gfg/emacs-guix/init.el
;; run emacs-guix from git checkout
(add-to-list 'load-path (substitute-in-file-name 
(require 'guix-autoloads nil t)

;; use guix from the Git working tree
(setq guix-load-path (substitute-in-file-name "$GPM_ROOT/.gpm/gfg/guix/guix"))

;; enable development mode 'C-c . _' functions in .scm buffers
(add-hook 'scheme-mode-hook 'guix-devel-mode)

;; don't use results, if any, of a guix pull
(setq guix-repl-use-latest nil)

;;; >>> /home/glc/gom//home/glc/gom/.gpm/gfg/geiser/init.el
;; run bleading-edge geiser
(load (substitute-in-file-name 
"$GPM_ROOT/.gpm/gfg/geiser/geiser/elisp/geiser-load") t)

;; enable development mode 'C-c . _' functions in .scm buffers
(add-hook 'scheme-mode-hook 'guix-devel-mode)

>> ... I tried "guix-set-emacs-environment" expecting it to be another way
>> to do the same thing.  I was surprised when it didn't add the "new"
>> profile to *Guix Profiles*. Shouldn't it do this, or am I missing
>> something? In fact, it doesn't seem to be doing anything :-(
> "M-x guix-set-emacs-environment" sets environment variables for Emacs
> itself!  For example, you may check "M-x getenv PATH" or other
> variables.  They should be augmented for the profile you selected.

Oh, DUH! Thanks!

- George

reply via email to

[Prev in Thread] Current Thread [Next in Thread]