Skip to main content

Buildout recipe for creating Nix expressions from eggs list

Project description

collective.recipe.nix

This is an experimental buildout recipe for creating nix expression from a buildout eggs list. This is work in progress. Please, contribute.

This only works, for now, when all packages are available at PyPI.

Example of usage

At first, define ./default.nix with buildout:

with import <nixpkgs> {}; {
  myEnv = stdenv.mkDerivation {
    name = "myEnv";
    buildInputs = [
      pythonPackages.readline
      pythonPackages.buildout
    ];
    shellHook = ''
      export SSL_CERT_FILE=~/.nix-profile/etc/ca-bundle.crt
    '';
  };
}

And example ./buildout.cfg:

[buildout]
extends = https://dist.plone.org/release/4-latest/versions.cfg
parts =
    plone
    zest.releaser
develop = .
versions = versions

[instance]
recipe = plone.recipe.zope2instance
eggs =
    Plone
    plone.recipe.zope2instance
user = admin:admin

[plone]
recipe = collective.recipe.nix
eggs = ${instance:eggs}

[zest.releaser]
recipe = collective.recipe.nix
eggs = zest.releaser

[versions]
zc.buildout =
setuptools =

Run the buildout:

$ nix-shell --run buildout

Now you should be able to run zest.releaser with:

$ nix-shell zest.releaser.nix --run fullrelease

And launching python with all Plone dependencies (after removing buildout created site.py) with:

$ rm -f parts/instance/site.py parts/instance/site.pyc
$ nix-shell plone.nix --run python

And Plone could be started by entering the following lines into the interpreter:

import plone.recipe.zope2instance.ctl
plone.recipe.zope2instance.ctl.main(['-C', 'parts/instance/etc/zope.conf', 'fg'])

Changelog

0.1.0 (2015-07-08)

  • Proof of concept release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

collective.recipe.nix-0.1.0.zip (10.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page