Newer
Older
# A NixOS expression that evaluates to top-level system derivation for a node.
{
# The gridname this node belongs to. This should correspond to the
# subdirectory of `morph/grid/` this corresponds to.
gridname,
# The hostname of this node.
hostname,
}:
let
branch = {
local = "develop";
testing = "staging";
production = "production";
}.${gridname};
checkout = builtins.fetchTarball {
name = "private.storage";
url = "https://whetstone.privatestorage.io/privatestorage/PrivateStorageio/-/archive/${branch}/privatestorage.tar.bz2";
};
pkgs = import "${checkout}/nixpkgs-2105.nix" {};
morph = (import "${pkgs.morph.lib}/eval-machines.nix") {
networkExpr = "${checkout}/morph/grid/${gridname}/grid.nix";
};
in
morph.nodes.${hostname}.config.system.build.toplevel