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

shea at shealevy.com shea at shealevy.com
Sat Oct 17 20:21:35 CEST 2015


./foo + "/${name}/bar" would also work

On 2015-10-17 13:37, Bas van Dijk wrote:
> 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
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev



More information about the nix-dev mailing list