[Nix-dev] Re: introduction nix_repository_manager

Ludovic Courtès ludo at gnu.org
Thu Mar 6 12:03:51 CET 2008


Hi,

Marc Weber <marco-oweber at gmx.de> writes:

> Problem to solve: keep up to date with dev packages.

You mean development repositories, right?  This sounds like a good idea!

> nix-env -i ... hash has changed, adjust, download again is annoying

You mean it's annoying because doing a full "svn co" or "git-clone"
every time you want to update is too expensive (bandwidth-wise), or are
there another sources of annoyance?

> my solution:
>
>   bleeding_edge_repos = import ../development/misc/bleeding_edge_repos;
>   imports some repo definitions
>
> The pacakge nix_repository_manager will get this as configuration file.

What is "this"?  You mean you'd have a special Nix expression for use by
`nix_repository_manager'?

> Then you can do
>   nix_repository_manager --update
> or
>   nix_repository_manager --update package name
>
> To get the repository or update it and create a tar.tz.
> Everything is saved in ${HOME}/managed_repos by now
>
> The tar.gz can then be used by bleeding_edge_source "cabal" instead of
> fetchdarcs ..

Can't it be transparent?  I.e., `fetchdarcs' (or `fetchgit', etc.) would
do the following:

  *  If the requested repo is not already available under
     ~/.managed-repos, then do a full checkout.

  *  If the requested repo is already available under ~/.managed-repos,
     just do an "update".

> Any suggestions or questions?

Use hyphens instead of underscores in command names and file names, use
camel case within Nix code.  :-)

Thanks,
Ludovic.




More information about the nix-dev mailing list