Excerpts from Ben Franksen's message of Mon Apr 23 12:42:14 +0200 2012: > I don't know how I can execute a 'nix-language script'. Is there a tool in > the nix package that I could use for that? the nix suite ships with test cases. If you look at those you'll find that its nix-instantiate --eval-only [--strict] foo.nix which evaluates nix code and eventually writes .drv files or such.
nix-build basically does a nix-instantiate and the a nix-store --realise .drv file (maybe its hardcoded in C). If you use Vim you may want to look at vim-addon-nix which provides default mappings for running nix via vim-addon-actions. It also syntax checks the nix files on buf write. Now it depends on which output you need and how to do what would be called "IO" Haskell, or which is nixos-rebuild for nixos - thus how to do something with your description (which might be called evaluated result). Eg the "nix" way would be create a store paths such as $out/bin/realise $out/machine1/target-ssh-data $out/machine1/configuration.nix where the realise script tries to connect to the target machines, copying over the configuration then running nixos-rebuild. However in the real world you have to cope with state - eg do HTTP forwarding until domain servers caches time out if you move web sites, and drop that after a couple of days etc. I'm not entirely sure - maybe what you're looking for is what disnix is about: http://nixos.org/disnix/ > Do you think it would be very difficult to extract the language from the nix > source tree? define "very difficult". Think about how to use the result. Wait for more replies. Think about which tool will turn your "configuration" done with any DSL into something "real". Get nix code. its not that hard to get an overview. Another nice keyword might be "chef": https://github.com/opscode/chef to find related work before spending huge amounts of time this. You're welcome in any case :) Marc Weber _______________________________________________ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev