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