/nixcloud-webservices

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

Primary LanguageNixOtherNOASSERTION

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

18.03 is obsolete:

# nix-channel --remove nixcloud-webservices
  • update to 18.09, see instruction below
  • 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!