Syndicated Nix Actor
Go to file
Emery Hemingway cb885ef642 Do the right stuff 2023-06-10 01:01:14 +01:00
src Do the right stuff 2023-06-10 01:01:14 +01:00
.envrc Better build-system 2023-06-07 18:06:11 +01:00
.gitignore Initial commit 2023-03-26 17:14:13 -05:00
README.md Add instantiate and narinfo 2023-05-30 23:42:50 +01:00
Tuprules.tup Add realise and eval 2023-05-30 13:38:48 +01:00
nix_actor.nimble Better stuff 2023-06-07 13:14:47 +01:00
protocol.prs Do the right stuff 2023-06-10 01:01:14 +01:00
shell.nix Better build-system 2023-06-07 18:06:11 +01:00

README.md

Syndicated Nix Actor

An actor for interacting with the Nix daemon via the Syndicated Actor Model.

This is only a proof-of-concept and is not yet useful.

Example configuration

? <nixspace ?nixspace> $nixspace [

  ? <instantiate "let pkgs = import <nixpkgs> {}; in pkgs.hello" { } ?drv> [
    ? <realise $drv ?outputs> [ ]
  ]

  ? <eval "3 * 4" {} _> []
  ? <eval "builtins.getEnv \"PATH\"" {impure: ""} _> []

  ? ?any [
    $log ! <log "-" { nix: $any }>
  ]

  $config [
    <require-service <daemon nix_actor>>
    ? <service-object <daemon nix_actor> ?cap> [
      $cap {
        dataspace: $nixspace
      }
    ]
    <daemon nix_actor {
      argv: "/usr/local/nix_actor"
      protocol: application/syndicate
    }>
  ]
]