This nixpkgs extension, called nixcloud-webservices, focuses on ease of deployment of web-related technologies.
Clone or download
aszlig email: Fix workers type option for rspamd_proxy
The option value "proxy" for the type option rspamd proxy workers has
been renamed to "rspamd_proxy" in [1]. I added a condition to check for
the NixOS release in order to make sure we don't use the new value for
NixOS 18.09.

[1]: NixOS/nixpkgs@46ef075

Signed-off-by: aszlig <aszlig@nix.build>
Latest commit edf5084 Nov 20, 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!