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
