[Nix-dev] Building my system with hydra

maggesi at math.unifi.it maggesi at math.unifi.it
Tue Sep 27 23:22:38 CEST 2011


Quoting Nicolas Pierron <nicolas.b.pierron at gmail.com>:

> Hi Marco,
>
> On Tue, Sep 27, 2011 at 17:37,  <maggesi at math.unifi.it> wrote:
>> I would like to create a jobset that build my system with the latest
>> svn nixpkgs, svn nixos & and the current configuration.nix.
>>
>> (BTW: I suppose that this is something that most nix "hackers" want to
>> have in principle.  So it would be nice to propose a "standard" way to
>> do this).
>
> Hey ! You read my mind !
> In fact I want my server to build the configuration of all my machines.


I think this is pretty common for nix users.
Everyday I go through the same sequence of

   nixos-checkout; nixos-rebuild boot; nix-env --always -u \*;  
nix-build blablabla

and it is starting to become a tic...


>> Here is my first attempt at writing a release.nix:
>>
>>
>> { nixpkgs ? (import ./nixpkgs { })
>> , nixos ? ./nixos
>> , configuration ? ./configuration.nix
>> }:
>>
>> let
>>   eval = import (nixos + "/lib/eval-config.nix") {
>>     inherit nixpkgs;
>
> nixpkgs sould be a path.  This should solve your nix-instantiate issue.


Oh! Thanks!  Now it works.
I still find difficult to debug nix scripts in some situations.


>>     modules = [ configuration ];
>>   };
>> in
>> { system = eval.config.system.build.toplevel; }
>
>
> One of my common problem with hydra, is that I don't want to have lots
> of copy of the git repository which hold the data or even make useless
> copy of it when I am developing in the source tree.  This is a
> critical problem because my latest project has around 500 MB of
> sources.


How do you pass the git repositories as input to hydra?
Perhaps you can solve your problem by using "Local path" inputs that  
points to a git checkouts that you can manage manually?


> --
> Nicolas Pierron
> http://www.linkedin.com/in/nicolasbpierron - http://nbp.name/


I think it would be nice to have a sort stripped down version of Hydra  
targeted to "single user/developer".
My favorite list of features is:
- no need to setup a database nor users & permissions;
- just a release.nix and a text file for describing the inputs should  
be enough;
- control and reporting of the builds trough command line;
- web interface (especially for reporting) can be useful but it is not  
a top priority.

It should be not difficult to assemble a rudimentary system of this kind.
What I have in mind is a glue of a set of scripts to perform the  
impure actions for the inputs (es. svn checkouts etc.) with a  
mechanism for running nix-build and reporting the results.
I wonder if something like this could be implemented with a moderate  
effort as a modification/complement of the present version of Hydra.

Marco




----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.




More information about the nix-dev mailing list