[Nix-dev] readFile applied to a path with a variable

Bas van Dijk v.dijk.bas at gmail.com
Sat Oct 17 19:37:31 CEST 2015


Thanks guys.

I got it to work with the following (note that name is actually a string):

  readFile (./foo + ("/" + name) + /bar)

I couldn't postfix ./foo with a slash because that gave a parse error
on +. The parentheses around ("/" + name) were also essential.

On 16 October 2015 at 16:54, Bryan Gardiner <bog at khumba.net> wrote:
> Not on Nix right now but I believe this also works:
>
>     readFile (./foo + name + /bar)
>
> - Bryan
>
> On Fri, 16 Oct 2015 11:36:22 +0100
> Thomas Hunger <tehunger at gmail.com> wrote:
>
>> Do you need toPath?
>>
>> lib.readFile "./foo/${name}/bar"
>>
>> seems to work for me.
>>
>> On 16 October 2015 at 11:10, Bas van Dijk <v.dijk.bas at gmail.com> wrote:
>>
>> > Hello,
>> >
>> > In a Nix expression I would like to read a file where the file path is
>> > based on a variable. So I would like to do something like this:
>> >
>> >   with builtins;
>> >   readFile (toPath ("./foo/" + name + "/bar"))
>> >
>> > Unfortunately this doesn't work since toPath expects a string which
>> > represents an absolute path.
>> >
>> > Is there any other way to do this?
>> >
>> > Cheers,
>> >
>> > Bas


More information about the nix-dev mailing list