Skip to content
Snippets Groups Projects
top-level.nix 812 B
Newer Older
  • Learn to ignore specific revisions
  • Tom Prince's avatar
    Tom Prince committed
    # 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