[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