Syndicated Nix Actor
Go to file
Emery Hemingway 4e3e77171c Add realise and eval 2023-05-30 13:38:48 +01:00
src Add realise and eval 2023-05-30 13:38:48 +01:00
.envrc Add realise and eval 2023-05-30 13:38:48 +01:00
.gitignore Initial commit 2023-03-26 17:14:13 -05:00
README.md Add realise and eval 2023-05-30 13:38:48 +01:00
Tuprules.tup Add realise and eval 2023-05-30 13:38:48 +01:00
nix_actor.nimble Add realise and eval 2023-05-30 13:38:48 +01:00
protocol.prs Add realise and eval 2023-05-30 13:38:48 +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 useful in any meaningful way.

Example configuration

? <nixspace ?nixspace> $nixspace [

  ? <realise "/nix/store/sv1yikjpf7q8b9w4xszb2ipg0cgcq1xv-imv-4.4.0.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
    }>
  ]
]