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 <c.nix-...@hrdinka.at> 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
> nix-dev@lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
>
_______________________________________________
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to