From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2 Subject: Re: Basic Emacs setup Date: Thu, 11 May 2017 11:50:22 -0400 Message-ID: <86d1bfmlz5.fsf@gmail.com> References: <768F52A2-8278-4E9F-AD21-15892A2566CD@flashner.co.il> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41811) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d8qMI-0005i6-Hh for help-guix@gnu.org; Thu, 11 May 2017 11:50:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d8qMC-00070P-JF for help-guix@gnu.org; Thu, 11 May 2017 11:50:30 -0400 Received: from mail-qt0-x243.google.com ([2607:f8b0:400d:c0d::243]:33134) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d8qMC-0006zf-Ff for help-guix@gnu.org; Thu, 11 May 2017 11:50:24 -0400 Received: by mail-qt0-x243.google.com with SMTP id a46so3359704qte.0 for ; Thu, 11 May 2017 08:50:24 -0700 (PDT) In-Reply-To: <768F52A2-8278-4E9F-AD21-15892A2566CD@flashner.co.il> (Efraim Flashner's message of "Thu, 11 May 2017 12:57:18 +0000") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Efraim Flashner , Catonano Cc: help-guix@gnu.org On 05/11/2017 at 12:57 Efraim Flashner writes: > I've never been an Emacs user so I'm out of my league when it comes to > writing up a basic .emacs for guix-emacs, debbugs-gnu and whatever > else I might need/want for workig with patches. Assuming my .emacs is > completely empty can someone help me out with a snippet/config to work > with guix? > > Thanks Note: Please discard my earlier direct reply. Hi Efraim, Here is how I run guix and emacs-guix from git checkouts. First I installed GuixSD in the normal way using the attached system (sys.scm) and user configurations (g1.scm). Note: I run GuixSD on a headless server and log in via ssh using a term program or X11 so these configs reflect that pattern of use. Then I did this one time ... ### clone guix mkdir -p ~/src cd ~/src && git clone git://git.savannah.gnu.org/guix.git *** clone emacs-guix mkdir -p ~/.emacs.d/lisp/ cd ~/.emacs.d/lisp/ && git clone https://github.com/alezost/guix.el.git Then ... ### to pull and build the latest guix cd ~/src/guix && guix environment -e "(@ (gnu packages package-management) guix)" -M 4 -c 4 git pull make clean-go ./bootstrap ./configure --localstatedir=/var --sysconfdir=/etc make -j 10 check ln -f -s -T ~/src/guix/ ~/.config/guix/latest sudo ln -f -s -T ~/src/guix/ /root/.config/guix/latest exit ### to update the user profile guix package -m ~/src/g1.scm -M 4 -c 4 ### to update the system profile su guix system build sys.scm -M 4 -c 4 guix system reconfigure sys.scm -M 4 -c 4 guix package -m g1.scm -M 4 -c 4 ### and, only if guix-daemon changed reboot *** to pull and build the latest guix.el cd ~/.emacs.d/lisp/guix.el && git pull cd ~/.emacs.d/lisp/guix.el && guix environment --pure --load=guix.scm -M 4 -c 4 cd ~/.emacs.d/lisp/guix.el && make clean && ./autogen.sh && ./configure && make exit Some of these steps are "overkill", e.g., 'make clean-go', 'make clean', 'reboot' and are only occasionally needed, e.g. if the guix API changes. But I have a fast server and I tend to just do them anyway. There have also been a couple cases where it was necessary to ... ### delete the guile caches rm -fr ~/.cache/guile/ccache sudo rm -fr /root/.cache/guile/ccache You will want to set up emacs for email. The attached configs support mu4e and gnus/notmuch, but my config is a rather baroque so it might be more confusing than helpful. I don't use debbugs-gnu. Hopefully someone using debbugs-gnu and mu4e will suggest a simple setup. My .emacs init file has the line '(load "~/.emacs.d/guix.el")' to load the guix-specific stuff (guix.el, attached) to work with the above. Then you should be able to 'M-x guix edit' and edit package recipes with abandon. HTH - George