This nixpkgs extension, called nixcloud-webservices, focuses on ease of deployment of web-related technologies.
Clone or download
aszlig hydra: Fix race condition for gcroots init
I haven't been able to reproduce this race condition yet, but for some
reason the "path missing" unit condition didn't fire for the
hydra-init-gcroots service.

Nevertheless I think it's a good idea to always run this service,
because even if the path exists it doesn't hurt to fix up the
permissions of the gcroots dir.

If we really have a race condition when it comes to startup order, we
will notice very soon, because apparently the condition not firing was
the case so far on the Hydra over at https://hydra.nixcloud.io/.

Signed-off-by: aszlig <aszlig@nix.build>
Latest commit 14e3491 Nov 14, 2018

README.md

nixcloud-webservices

This nixpkgs extension, called nixcloud-webservices, focuses on ease of deployment of web-related technologies.

You should continue to read one of these documentations:

It features the development stack we use at https://nixcloud.io.

Continuous integration at https://hydra.nixcloud.io/project/nixcloud-webservices

Using nixcloud-webservices

Depending on which NixOS version you're on you can get different channels of nixcloud-webservices which are tested against different NixOS releases:

For NixOS 18.03

# nix-channel --add https://hydra.nixcloud.io/channel/custom/nixcloud-webservices/release-18.03/nixcloud-webservices
# nix-channel --update

18.03 is obsolete:

  • update to 18.09 by removing the 18.03 with the 18.09 channel and do a nix-channel --update and a nixos-rebuild switch
  • also update the system.stateVersion = "18.09"; when you are at it

For NixOS 18.09

# nix-channel --add https://hydra.nixcloud.io/channel/custom/nixcloud-webservices/release-18.09/nixcloud-webservices
# nix-channel --update

You can find nixcloud-webservices specific options in the release-18.09 manual.

For NixOS Unstable

# nix-channel --add https://hydra.nixcloud.io/channel/custom/nixcloud-webservices/nixos-unstable/nixcloud-webservices
# nix-channel --update

You can find nixcloud-webservices specific options in the nixos-unstable manual.

Adding nixcloud-webservices to your configuration.nix

Simply append <nixcloud-webservices> to your imports list and you're ready to go, for example:

{
  imports = [
    ./hardware-configuration.nix
    <nixcloud-webservices>
  ];
  # ... other options ...
}

Get the source

Alternatively if you want to hack on nixcloud-webservices, you can also Git clone it with:

$ git clone https://github.com/nixcloud/nixcloud-webservices

Importing

Option A: Importing modules in your local system

You import modules into your local system by adding the path to your configuration.nix to the imports list. Like this:

{
  imports = [
    ./hardware-configuration.nix
    /path/to/nixcloud-webservices
  ];
  # ... other options ...
}

Option B: Building a (KVM) VM

If you don't want to clutter your local system you can use a VM:

nix-build '<nixpkgs/nixos>' --arg configuration '{ imports = [ ./modules ./config.nix ]; services.mingetty.autologinUser = "root"; }' -A vm

Note: You have to create config.nix manually, it contains basically the lines we put in /etc/nixos/configuration.nix in previous examples.

Note: This is for advanced users who know how VMs on NixOS work.

License

The license can be found in LICENSE.

For inquiries, please contact:

Thanks

Many thanks to:

Among all who didn't make it into this list! Thanks for helping with writing this!