[Nix-dev] [nix-dev] private NixOS modules

Sergey Mironov grrwlf at gmail.com
Wed Nov 18 10:45:54 CET 2015


Oh, Thanks. I really should re-read the manual :)

Sergey

2015-11-18 12:16 GMT+03:00 Nicolas Pierron <nicolas.b.pierron at gmail.com>:
> Hi Sergey,
>
> We have a some documenation in the NixOS Manual [1] which explains how
> to do that.  To make it short, your configuration.nix file should have
> an import attribute which is a list of additional modules that you
> want to include.
> So if you file configuration.nix looks something like (a), you want to
> convert it to something similar to (b)
>
> ** (a):
> {
>   services.openssh.enable = true = …;
>> }
>
> ** (b):
>
> {
>   imports = [ ./custom-service.nix ];
>   services.openssh.enable = true = …;
>> }
>
> [1] http://nixos.org/nixos/manual/index.html#sec-modularity
>
> On Wed, Nov 18, 2015 at 8:14 AM, Sergey Mironov <grrwlf at gmail.com> wrote:
>> Nicolas, I didn't know about NIXOS_EXTRA_MODULE_PATH, thanks.
>> Could you explain other possible solution in a bit more details? How
>> can we include modified module list in configuration.nix?
>>
>> Regards,
>> Sergey
>>
>> 2015-11-17 17:43 GMT+03:00 Nicolas Pierron <nicolas.b.pierron at gmail.com>:
>>> Hi Sergey,
>>>
>>> I think you can set the NIXOS_EXTRA_MODULE_PATH [1] environment
>>> variable to achieve that.
>>> Otherwise, you can change your configuration.nix file to always
>>> include your new module list, and to include your own real-config.nix
>>>
>>> [1] https://github.com/NixOS/nixpkgs/blob/master/nixos/lib/eval-config.nix#L30
>>>
>>>
>>> On Tue, Nov 17, 2015 at 2:04 PM, Sergey Mironov <grrwlf at gmail.com> wrote:
>>>> Hi. I'd like to write a couple of NixOS modules which probably don't
>>>> look meaningful for large audience. Normally, we keep modules in
>>>> nixpkgs/nixos/modules directory and list them in module-list.nix file.
>>>> In my case, I'd like to put module in a private place (which is my git
>>>> repo which keeps nixpkgs as a Git submodule). Is it possible to
>>>> 'include' them in the public list to make them accessible from
>>>> per-system.nix files?
>>>>
>>>> As a result, I'd like to be able to write in configuration.nix
>>>> something like the following:
>>>>
>>>> services.my-custom-service = {
>>>>   enable = true;
>>>>   ...
>>>> }
>>>>
>>>> without including expression for my-custom-service in the public tree.
>>>>
>>>> Regards,
>>>> Sergey
>>>> _______________________________________________
>>>> nix-dev mailing list
>>>> nix-dev at lists.science.uu.nl
>>>> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>>>
>>>
>>>
>>> --
>>> Nicolas Pierron
>>> http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/
>
>
>
> --
> Nicolas Pierron
> http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/


More information about the nix-dev mailing list