(shell #~#$dash) -- compiles too, but again:

bob $ su - mom
Password: 
/gnu/store/bqmib4vf9mr8dkqx4dqpcqrnb93giwci-dash-0.5.10.2: 
/gnu/store/bqmib4vf9mr8dkqx4dqpcqrnb93giwci-dash-0.5.10.2: Is a directory
bob $ 

this works all right: (shell (file-append dash "/bin/dash"))


May 4, 2019 11:12 AM, "rendaw" <7e9wc56emja...@s.rendaw.me> wrote:

> On 5/4/19 7:53 PM, zna...@disroot.org wrote:
> 
>> For $~#$dash it says unbound variable:
>> 
>> (use-mosules ...
>> (gnu packages shells)
>> (guix gexp)
>> )
>> ...
>> (user-account (name "mom") (group "users")
>> (supplementary-groups '("wheel" "netdev" "audio" "video"))
>> (home-directory "/home/mom")
>> (shell $~#$dash))
>> 
>> # guix system reconfigure config.scm
>> /root/config.scm:24:32: error: #{$~#$dash}#: unbound variable
>> hint: Did you forget a `use-modules' form?
> 
> You have $~#$ but you should have #~#$ instead.  But this is the same as
> just having `(shell dash)` which causes the next error:
> 
>> For just a string 'shell dash' compilation is ok, but after user login in 
>> terminal it says 'dash is
>> a directry' and does not allow login:
>> 
>> (user-account (name "mom") (group "users")
>> (supplementary-groups '("wheel" "netdev" "audio" "video"))
>> (home-directory "/home/mom")
>> (shell dash))
>> 
>> # guix system reconfigure config.scm
>> ..ok...
>> 
>> bob $
>> bob $ su - mom
>> Password:
>> /gnu/store/bqmib4vf9mr8dkqx4dqpcqrnb93giwci-dash-0.5.10.2:
>> /gnu/store/bqmib4vf9mr8dkqx4dqpcqrnb93giwci-dash-0.5.10.2: Is a directory
>> bob $
> 
> `dash` is a package object which is "lowered" and becomes a string of
> the path to the directory:
> `/gnu/store/bqmib4vf9mr8dkqx4dqpcqrnb93giwci-dash-0.5.10.2`
> 
> `(shell ...)` needs a path to an executable (the shell program), that
> is: `/gnu/store/bqmib4vf9mr8dkqx4dqpcqrnb93giwci-dash-0.5.10.2/bin/dash`
> 
> Therefore you need the string-append or file-append expressions to add
> the final "/bin/dash".  See the examples from my previous email.
> 
> Cheers,
> rendaw

Reply via email to