Rohit, try something like this: https://gist.github.com/zimbatm/d466ef56f88605f78f99
On Mon, 14 Dec 2015 at 22:47 Domen Kožar <[email protected]> wrote: > You might want to test https://github.com/NixOS/nixpkgs/pull/11279 > > On Mon, Dec 14, 2015 at 10:45 PM, rohit yadav <[email protected]> > wrote: > >> Hi Zimbatm, >> >> I have very similar arrangement. I use git and to keep the configuration >> synced. However, I wish to use NixOps, I haven't been able to find time to >> do that. From the documentation I could not figure out how to deploy on >> bare-metal. But as Christoph mentioned that a simple Ip-Address in the >> network is all you need with nixops do deploy. It will remove lot of boiler >> plate configuration I have to write on each system. >> >> Thanks, >> Rohit >> >> On Mon, Dec 14, 2015 at 3:33 PM, zimbatm <[email protected]> wrote: >> >>> Hi rohit, >>> >>> Personally I just have a folder per machine with the /etc/nixos folder >>> and a little script that runs rsync + `nixos-rebuild --switch` on the >>> target machine. >>> >>> Over time I will probably switch to using nixops as well but for a start >>> it's working super well for me. Especially since it doesn't have any nix >>> dependency on the source machine. It takes just a couple of seconds to >>> deploy which is way better than anything I had in the past (ansible, >>> puppet, capistrano, ...). >>> On Thu, 10 Dec 2015 20:45 Christoph Hrdinka <[email protected]> >>> wrote: >>> >>>> Hi Rohit! >>>> >>>> You can use nixops to deploy to any server running ssh. All you have to >>>> do is install a basic NixOS system with opensshd enabled on your target >>>> server. Then tell nixops the hostname/ip address of the new server >>>> via `deployment.targetHost`. >>>> >>>> Nixops will evaluate any nix expression you give it. If you supply >>>> multiple files these will be merged. Your nix expression must yield an >>>> attribute set of the following form: >>>> >>>> { >>>> someMachineName = >>>> { config, lib, pkgs, ... }: >>>> { >>>> deployment.targetHost = "hostname or ip"; >>>> # your usual nixos configuration file >>>> # ... >>>> } >>>> >>>> anotherMachine = >>>> {....} >>>> } >>>> >>>> Every machine described in there will be deployed according to your >>>> configuation. Since it is a normal nix expression you can use any way >>>> to produce it. You can have basic templates that will be merged and >>>> overwritten by more specific ones, write everything in one file, spread >>>> it over hundret files or write a configuration syntax from which nix >>>> will derive all actual server configs. >>>> >>>> For what exactly do you need PXE? Is it for the initial NixOS install >>>> or do you want to use it because it worked for you till now with other >>>> systems? >>>> If you want it because of less configuration work it may be the wrong >>>> tool for a NixOS setup. Nixops is much better suited for this job than >>>> any PXE setup could ever be. It is made for simple deployment of >>>> hundrets of machines. >>>> >>>> You might also want to have a look at disnix/disnixos. >>>> >>>> Regards, >>>> Christoph Hrdinka. >>>> _______________________________________________ >>>> nix-dev mailing list >>>> [email protected] >>>> http://lists.science.uu.nl/mailman/listinfo/nix-dev >>>> >>> >>> _______________________________________________ >>> nix-dev mailing list >>> [email protected] >>> http://lists.science.uu.nl/mailman/listinfo/nix-dev >>> >>> >> >> _______________________________________________ >> nix-dev mailing list >> [email protected] >> http://lists.science.uu.nl/mailman/listinfo/nix-dev >> >> > _______________________________________________ > nix-dev mailing list > [email protected] > http://lists.science.uu.nl/mailman/listinfo/nix-dev >
_______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
