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