Giter Site home page Giter Site logo

bhipple / nixops Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nixos/nixops

0.0 2.0 0.0 5.71 MB

NixOps, the NixOS-based cloud deployment tool

Home Page: https://nixos.org/nixops

License: GNU Lesser General Public License v3.0

Python 75.35% Shell 3.59% Nix 21.06%

nixops's Introduction

NixOps

NixOps (formerly known as Charon) is a tool for deploying NixOS machines in a network or cloud.

Developing

To start developing on nixops, you can run:

  $ ./dev-shell --arg p "(p: [ p.plugin1 ])"

Where plugin1 can be any available nixops plugin, and where none or more than one can be specified, including local plugins. An example is:

  $ ./dev-shell --arg p "(p: [ p.aws p.hetzner (p.callPackage ../myplugin/release.nix {})])"

Available plugins, such as "aws" and "hetzner" in the example above, are the plugin attribute names found in the data.nix file.

To update the available nixops plugins found in github repositories, edit the all-plugins.txt file with any new github plugin repositories that are available and then execute the update-all script. This will refresh the data.nix file, providing new plugin attributes to use.

Local nixops plugins, such as the callPackage ../myplugin/release.nix {} example seen above, have no need to be in the all-plugins.txt or data.nix file.

Building from source

The command to build NixOps depends on your platform and which plugins you choose:

  • nix-build release.nix -A build.x86_64-linux --arg p "(p: [ p.plugin1 ])" on 64 bit linux.
  • nix-build release.nix -A build.i686-linux --arg p "(p: [ p.plugin1 ])" on 32 bit linux.
  • nix-build release.nix -A build.x86_64-darwin --arg p "(p: [ p.plugin1 ])" on OSX.

Similarly, using NixOps from another project (for instance a nix-shell) can be done using:

stdenv.mkDerivation {
  name = "my-nixops-env";
  buildInputs = [
    (import /path/to/nixops/release.nix { p = (p: [ p.plugin1 ]); }).build.x86_64-linux
  ];
}

nixops's People

Contributors

edolstra avatar rbvermaa avatar aminechikhaoui avatar phreedom avatar aszlig avatar domenkozar avatar shlevy avatar grahamc avatar thewizardtower avatar psyanticy avatar benhamad avatar mic92 avatar teh avatar nh2 avatar srghma avatar johnalotoski avatar proger avatar teto avatar basvandijk avatar erosennin avatar aske avatar amemni avatar bjornfor avatar moretea avatar tomberek avatar wjlroe avatar deepfire avatar danbst avatar cleverca22 avatar oconnorr avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.