GNU bug report logs -
#22981
guix-edit does not find git checkout directory
Previous Next
Reported by: myglc2 <myglc2 <at> gmail.com>
Date: Thu, 10 Mar 2016 21:55:01 UTC
Severity: normal
Tags: notabug
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 22981 in the body.
You can then email your comments to 22981 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Thu, 10 Mar 2016 21:55:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
myglc2 <myglc2 <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Thu, 10 Mar 2016 21:55:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Situation: GuixSD sysetm managaed by user glc using a git checkout in
/home/glc/sre/guix.
Problem: When I follow the manual to set up a vanila user (glc5) with a
separate git checkout in /home/glc5/src/guix, guix-edit does not find
the checkout source.
Note: I followed comments from the #guix irc channel to set links in glc
and root that point to the glc checkout:
glc <at> g1 ~/src/guix [env]$ stat ~/.config/guix/latest
File: ‘/home/glc/.config/guix/latest’ -> ‘../../src/guix’
glc <at> g1 ~/src/guix [env]$ stat /root/.config/guix/latest
File: ‘/root/.config/guix/latest’ -> ‘/home/glc/src/guix’
CREATE USER glc5
================
glc <at> g1 ~/src/guix$ guix environment guix
glc <at> g1 ~/src/guix [env]$ ./bootstrap
glc <at> g1 ~/src/guix [env]$ ./configure --localstatedir=/var && make
glc <at> g1 ~/src/guix [env]$ git branch -v
* master ff22f01 gnu: dropbear: Update to 2016.72 [fixes CVE-2016-3116].
glc <at> g1 ~/src/guix [env]$ which guix
/run/current-system/profile/bin/guix
glc <at> g1 ~/src/guix [env]$ stat /run/current-system/profile/bin/guix
File: ‘/run/current-system/profile/bin/guix’ ->
‘/gnu/store/3lg5c1nidbj0kjdz5b63hn3vp29kzf0s-guix-0.9.0.c3f29bc/bin/guix’
glc <at> g1 ~/src/guix [env]$ sudo guix system reconfigure ../configs/c05system.scm
USER glc5 test
==============
glc5 <at> g1 ~/src$ which guix
/run/current-system/profile/bin/guix
glc5 <at> g1 ~/src$ stat /run/current-system/profile/bin/guix File:
‘/run/current-system/profile/bin/guix’ ->
‘/gnu/store/3lg5c1nidbj0kjdz5b63hn3vp29kzf0s-guix-0.9.0.c3f29bc/bin/guix’
glc5 <at> g1 ~/src$ stat ~/.config/guix/latest
stat: cannot stat ‘/home/glc5/.config/guix/latest’: No such file or directory
## set up glc5's environment
glc5 <at> g1 ~/src$ guix package -m glc5.scm
## customize emacs following "8.3 The Perfect Setup"
glc5 <at> g1 ~/src$ cat ~/.emacs.d/init.el | head -n4
;; from "8.3 The Perfect Setup"
;; Assuming the Guix checkout is in ~/src/guix.
(with-eval-after-load 'geiser-guile
(add-to-list 'geiser-guile-load-path "~/src/guix"))
## clone guix
glc5 <at> g1 ~/src$ git clone t://git.savannah.gnu.org/guix.git
### run emacs
emacs
M-x guix-edit screen
Problem: This finds read-only screen.src in store rather than in ~/src/guix/...
[c05system.scm (application/octet-stream, attachment)]
[glc5.scm (application/octet-stream, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Fri, 11 Mar 2016 11:04:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 22981 <at> debbugs.gnu.org (full text, mbox):
myglc2 (2016-03-11 00:56 +0300) wrote:
> Situation: GuixSD sysetm managaed by user glc using a git checkout in
> /home/glc/sre/guix.
>
> Problem: When I follow the manual to set up a vanila user (glc5) with a
> separate git checkout in /home/glc5/src/guix, guix-edit does not find
> the checkout source.
>
> Note: I followed comments from the #guix irc channel to set links in glc
> and root that point to the glc checkout:
>
> glc <at> g1 ~/src/guix [env]$ stat ~/.config/guix/latest
> File: ‘/home/glc/.config/guix/latest’ -> ‘../../src/guix’
>
> glc <at> g1 ~/src/guix [env]$ stat /root/.config/guix/latest
> File: ‘/root/.config/guix/latest’ -> ‘/home/glc/src/guix’
>
>
> CREATE USER glc5
[...]
> glc5 <at> g1 ~/src$ stat ~/.config/guix/latest
> stat: cannot stat ‘/home/glc5/.config/guix/latest’: No such file or directory
I don't understand, so you made the links for user 'glc', but then you
check another user 'glc5'. If you run emacs under glc, and try "M-x
guix-edit" there, you should be pointed to "~/.config/guix/latest".
Since you didn't make such a link for 'glc5', you are pointed to the
store.
Anyway, you can configure any directory for "M-x guix-edit" by setting
'guix-directory' variable. See (info "(guix) Emacs Commands"). It is
not in the hmtl manual yet.
--
Alex
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Fri, 11 Mar 2016 14:44:02 GMT)
Full text and
rfc822 format available.
Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):
Alex Kost <alezost <at> gmail.com> writes:
> myglc2 (2016-03-11 00:56 +0300) wrote:
>
>> Situation: GuixSD sysetm managaed by user glc using a git checkout in
>> /home/glc/sre/guix.
>>
>> Problem: When I follow the manual to set up a vanila user (glc5) with a
>> separate git checkout in /home/glc5/src/guix, guix-edit does not find
>> the checkout source.
>>
>> Note: I followed comments from the #guix irc channel to set links in glc
>> and root that point to the glc checkout:
>>
>> glc <at> g1 ~/src/guix [env]$ stat ~/.config/guix/latest
>> File: ‘/home/glc/.config/guix/latest’ -> ‘../../src/guix’
>>
>> glc <at> g1 ~/src/guix [env]$ stat /root/.config/guix/latest
>> File: ‘/root/.config/guix/latest’ -> ‘/home/glc/src/guix’
>>
>>
>> CREATE USER glc5
> [...]
>> glc5 <at> g1 ~/src$ stat ~/.config/guix/latest
>> stat: cannot stat ‘/home/glc5/.config/guix/latest’: No such file or directory
>
> I don't understand, so you made the links for user 'glc', but then you
> check another user 'glc5'. If you run emacs under glc, and try "M-x
> guix-edit" there, you should be pointed to "~/.config/guix/latest".
Yes, but it only it works for me (glc) because I studied guix for 6
weeks and learned an unpublished trick on #guix IRC channel.
> Since you didn't make such a link for 'glc5', you are pointed to the
> store.
Yes because I am trying to help you improve the user experience. So glc5
is a simulated new user following the manual literally ;)
> Anyway, you can configure any directory for "M-x guix-edit" by setting
> 'guix-directory' variable. See (info "(guix) Emacs Commands"). It is
> not in the hmtl manual yet.
But what is the _recommended_ way to do this?
A) set 'guix-directory' variable in emacs init file?
B) make symbolic link to ~/src/guix from ~/.config/guix/latest?
C) something else?
And if a _new_ user starts reading in "8.1 Building from Git", how do
they find this information?
FWIW, I vote for method B.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Sat, 12 Mar 2016 09:16:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 22981 <at> debbugs.gnu.org (full text, mbox):
myglc2 (2016-03-11 17:45 +0300) wrote:
> Alex Kost <alezost <at> gmail.com> writes:
[...]
>> Anyway, you can configure any directory for "M-x guix-edit" by setting
>> 'guix-directory' variable. See (info "(guix) Emacs Commands"). It is
>> not in the hmtl manual yet.
>
> But what is the _recommended_ way to do this?
I would say the recommended way is A, as it only effects this particular
task (sets a default directory with guix packages for emacs), but this
is free software(!), you can use whatever you like and the way you want.
> A) set 'guix-directory' variable in emacs init file?
I set this var in my emacs config.
> B) make symbolic link to ~/src/guix from ~/.config/guix/latest?
Actually, I use this too, because this is one of the general solutions
to use guix from a git checkout.
> C) something else?
Christopher Allan Webber invented another interesting way of using guix
emacs stuff with guix from git¹:
(setq guix-guile-program '(".../guix/pre-inst-env" "guile"))
> And if a _new_ user starts reading in "8.1 Building from Git", how do
> they find this information?
Since you want to use "M-x guix-edit" command, you are supposed to read
its docstring (C-h f guix-edit) or a part of the manual where it is
described. You can learn about 'guix-directory' variable from both
places.
¹ http://dustycloud.org/blog/guix-package-manager-without-make-install
--
Alex
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Sun, 13 Mar 2016 01:59:02 GMT)
Full text and
rfc822 format available.
Message #17 received at submit <at> debbugs.gnu.org (full text, mbox):
Alex Kost <alezost <at> gmail.com> writes:
> myglc2 (2016-03-11 17:45 +0300) wrote:
>
>> Alex Kost <alezost <at> gmail.com> writes:
> [...]
>>> Anyway, you can configure any directory for "M-x guix-edit" by setting
>>> 'guix-directory' variable. See (info "(guix) Emacs Commands"). It is
>>> not in the hmtl manual yet.
>>
>> But what is the _recommended_ way to do this?
>
> I would say the recommended way is A, as it only effects this particular
> task (sets a default directory with guix packages for emacs), but this
> is free software(!), you can use whatever you like and the way you want.
>
>> A) set 'guix-directory' variable in emacs init file?
>
> I set this var in my emacs config.
>
>> B) make symbolic link to ~/src/guix from ~/.config/guix/latest?
>
> Actually, I use this too, because this is one of the general solutions
> to use guix from a git checkout.
>
>> C) something else?
>
> Christopher Allan Webber invented another interesting way of using guix
> emacs stuff with guix from git¹:
>
> (setq guix-guile-program '(".../guix/pre-inst-env" "guile"))
>
>> And if a _new_ user starts reading in "8.1 Building from Git", how do
>> they find this information?
>
> Since you want to use "M-x guix-edit" command, you are supposed to read
> its docstring (C-h f guix-edit) or a part of the manual where it is
> described. You can learn about 'guix-directory' variable from both
> places.
>
> ¹ http://dustycloud.org/blog/guix-package-manager-without-make-install
Thank you for this great summary. This list + the post you referenced
make me feel better that I am taking so long to figure Guix out ;)
OTOH, guix as more state-full than I had hoped ;(
I suggest that you think of it this way: You are running an easter egg
hunt (I hope this is an OK analogy). You have awesome eggs (No kidding,
I can attest that the Guix eggs are truly awesome). When the children
find the eggs they will be truly happy. But the eggs are hard to
find. If the children don't find the eggs they will not be happy! Worse
yet, your eggs will be wasted! So ... make it easy for children to find
your eggs.
You probably already thought of this: Can guix be made easier to use by
converting some of the state-full guix configuration into guix recipe
inputs?
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Sun, 13 Mar 2016 09:39:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 22981 <at> debbugs.gnu.org (full text, mbox):
myglc2 (2016-03-13 05:00 +0300) wrote:
[...]
> Thank you for this great summary. This list + the post you referenced
> make me feel better that I am taking so long to figure Guix out ;)
>
> OTOH, guix as more state-full than I had hoped ;(
>
> I suggest that you think of it this way: You are running an easter egg
> hunt (I hope this is an OK analogy). You have awesome eggs (No kidding,
> I can attest that the Guix eggs are truly awesome). When the children
> find the eggs they will be truly happy. But the eggs are hard to
> find. If the children don't find the eggs they will not be happy! Worse
> yet, your eggs will be wasted! So ... make it easy for children to find
> your eggs.
I don't know what an "easter egg hunt" is, but I think I get your
analogy.
> You probably already thought of this: Can guix be made easier to use by
> converting some of the state-full guix configuration into guix recipe
> inputs?
Sorry, my knowledge in English language is not enough to understand this
question. Could you explain what "state-full" means?
--
Alex
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Sun, 13 Mar 2016 15:40:01 GMT)
Full text and
rfc822 format available.
Message #23 received at submit <at> debbugs.gnu.org (full text, mbox):
Alex Kost <alezost <at> gmail.com> writes:
> myglc2 (2016-03-13 05:00 +0300) wrote:
>
> [...]
>> You probably already thought of this: Can guix be made easier to use by
>> converting some of the state-full guix configuration into guix recipe
>> inputs?
>
> Sorry, my knowledge in English language is not enough to understand this
> question. Could you explain what "state-full" means?
NP. I may have caused a problem by miss-spelling "stateful", which I
meant this way ...
"The output of a digital circuit or computer program at any time is
completely determined by its current inputs and its state."
Ref: https://en.wikipedia.org/wiki/State_(computer_science)
Guix is "stateful" because, to use a git checkout, I have to set "state"
variables like ...
(setq guix-directory "/home/glc/src/guix")
(let ((dir "~/dev/guix/emacs"))
(add-to-list 'load-path dir)
(setq guix-load-path dir)
(require 'guix-init nil t))
'(safe-local-variable-values
(quote
((bug-reference-bug-regexp . "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")))))
(custom-set-faces
/home/glc/.config/guix/latest’ -> ‘../../src/guix'
/root/.config/guix/latest’ -> ‘/home/glc/src/GUI’
Guix would be less stateful (AKA more "stateless") if instead I could
put something like ...
(guix
(#:use-git #t)
(#:git-directory:"~/src/guix"))
... in user.scm and do 'guix package -m user.scm' ;)
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Sun, 13 Mar 2016 22:03:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 22981 <at> debbugs.gnu.org (full text, mbox):
myglc2 <myglc2 <at> gmail.com> skribis:
> Guix is "stateful" because, to use a git checkout, I have to set "state"
> variables like ...
>
> (setq guix-directory "/home/glc/src/guix")
>
> (let ((dir "~/dev/guix/emacs"))
> (add-to-list 'load-path dir)
> (setq guix-load-path dir)
> (require 'guix-init nil t))
>
> '(safe-local-variable-values
> (quote
> ((bug-reference-bug-regexp . "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")))))
> (custom-set-faces
>
> /home/glc/.config/guix/latest’ -> ‘../../src/guix'
> /root/.config/guix/latest’ -> ‘/home/glc/src/GUI’
>
>
> Guix would be less stateful (AKA more "stateless") if instead I could
> put something like ...
>
> (guix
> (#:use-git #t)
> (#:git-directory:"~/src/guix"))
It seems to me that it’s not a question of “statefulness”, but rather a
question of how much configuration is needed to have guix.el use the
Guix that you want.
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Mon, 14 Mar 2016 08:03:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 22981 <at> debbugs.gnu.org (full text, mbox):
Ludovic Courtès (2016-03-14 01:01 +0300) wrote:
> myglc2 <myglc2 <at> gmail.com> skribis:
>
>> Guix is "stateful" because, to use a git checkout, I have to set "state"
>> variables like ...
>>
>> (setq guix-directory "/home/glc/src/guix")
>>
>> (let ((dir "~/dev/guix/emacs"))
>> (add-to-list 'load-path dir)
>> (setq guix-load-path dir)
>> (require 'guix-init nil t))
>>
>> '(safe-local-variable-values
>> (quote
>> ((bug-reference-bug-regexp . "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")))))
>> (custom-set-faces
>>
>> /home/glc/.config/guix/latest’ -> ‘../../src/guix'
>> /root/.config/guix/latest’ -> ‘/home/glc/src/GUI’
>>
>>
>> Guix would be less stateful (AKA more "stateless") if instead I could
>> put something like ...
>>
>> (guix
>> (#:use-git #t)
>> (#:git-directory:"~/src/guix"))
>
> It seems to me that it’s not a question of “statefulness”, but rather a
> question of how much configuration is needed to have guix.el use the
> Guix that you want.
I agree. If someone want to use a "non-installed" software, (s)he has
to do some additional configuration. I don't see how to reduce such
a configuration to set up emacs code from a guix git checkout.
--
Alex
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Thu, 24 Mar 2016 20:04:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 22981 <at> debbugs.gnu.org (full text, mbox):
Alex Kost <alezost <at> gmail.com> skribis:
> Ludovic Courtès (2016-03-14 01:01 +0300) wrote:
>
>> myglc2 <myglc2 <at> gmail.com> skribis:
>>
>>> Guix is "stateful" because, to use a git checkout, I have to set "state"
>>> variables like ...
>>>
>>> (setq guix-directory "/home/glc/src/guix")
>>>
>>> (let ((dir "~/dev/guix/emacs"))
>>> (add-to-list 'load-path dir)
>>> (setq guix-load-path dir)
>>> (require 'guix-init nil t))
>>>
>>> '(safe-local-variable-values
>>> (quote
>>> ((bug-reference-bug-regexp . "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")))))
>>> (custom-set-faces
>>>
>>> /home/glc/.config/guix/latest’ -> ‘../../src/guix'
>>> /root/.config/guix/latest’ -> ‘/home/glc/src/GUI’
>>>
>>>
>>> Guix would be less stateful (AKA more "stateless") if instead I could
>>> put something like ...
>>>
>>> (guix
>>> (#:use-git #t)
>>> (#:git-directory:"~/src/guix"))
>>
>> It seems to me that it’s not a question of “statefulness”, but rather a
>> question of how much configuration is needed to have guix.el use the
>> Guix that you want.
>
> I agree. If someone want to use a "non-installed" software, (s)he has
> to do some additional configuration. I don't see how to reduce such
> a configuration to set up emacs code from a guix git checkout.
Should this issue be closed?
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#22981
; Package
guix
.
(Fri, 25 Mar 2016 01:19:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 22981 <at> debbugs.gnu.org (full text, mbox):
ludo <at> gnu.org (Ludovic Courtès) writes:
> Alex Kost <alezost <at> gmail.com> skribis:
>
>> Ludovic Courtès (2016-03-14 01:01 +0300) wrote:
>>
>>> myglc2 <myglc2 <at> gmail.com> skribis:
>>>
>>>> Guix is "stateful" because, to use a git checkout, I have to set "state"
>>>> variables like ...
>>>>
>>>> (setq guix-directory "/home/glc/src/guix")
>>>>
>>>> (let ((dir "~/dev/guix/emacs"))
>>>> (add-to-list 'load-path dir)
>>>> (setq guix-load-path dir)
>>>> (require 'guix-init nil t))
>>>>
>>>> '(safe-local-variable-values
>>>> (quote
>>>> ((bug-reference-bug-regexp . "<https?://\\(debbugs\\|bugs\\)\\.gnu\\.org/\\([0-9]+\\)>")))))
>>>> (custom-set-faces
>>>>
>>>> /home/glc/.config/guix/latest’ -> ‘../../src/guix'
>>>> /root/.config/guix/latest’ -> ‘/home/glc/src/GUI’
>>>>
>>>>
>>>> Guix would be less stateful (AKA more "stateless") if instead I could
>>>> put something like ...
>>>>
>>>> (guix
>>>> (#:use-git #t)
>>>> (#:git-directory:"~/src/guix"))
>>>
>>> It seems to me that it’s not a question of “statefulness”, but rather a
>>> question of how much configuration is needed to have guix.el use the
>>> Guix that you want.
>>
>> I agree. If someone want to use a "non-installed" software, (s)he has
>> to do some additional configuration. I don't see how to reduce such
>> a configuration to set up emacs code from a guix git checkout.
>
> Should this issue be closed?
>
> Ludo’.
Sure! Thanks! - George
Added tag(s) notabug.
Request was from
ludo <at> gnu.org (Ludovic Courtès)
to
control <at> debbugs.gnu.org
.
(Fri, 25 Mar 2016 08:27:02 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
22981 <at> debbugs.gnu.org and myglc2 <myglc2 <at> gmail.com>
Request was from
ludo <at> gnu.org (Ludovic Courtès)
to
control <at> debbugs.gnu.org
.
(Fri, 25 Mar 2016 08:27:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 22 Apr 2016 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 9 years and 56 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.