help-guix
[Top][All Lists]
Advanced

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

Re: Basic Emacs setup


From: myglc2
Subject: Re: Basic Emacs setup
Date: Thu, 11 May 2017 11:50:22 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

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




reply via email to

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