mirror of
https://github.com/hyprspace/hyprspace.git
synced 2026-09-13 18:46:29 +05:00
44 lines
1.3 KiB
Nix
44 lines
1.3 KiB
Nix
{ lib, ... }:
|
|
|
|
{
|
|
perSystem = { pkgs, ... }: {
|
|
process-compose.dev-run = { config, ... }: let
|
|
scripts = import ./scripts.nix {
|
|
inherit pkgs;
|
|
};
|
|
replicas = 2;
|
|
forReplicas = f: lib.listToAttrs (map f (lib.range 0 (replicas - 1)));
|
|
in {
|
|
settings.processes = {
|
|
write-configs = {
|
|
command = "${scripts.writeConfigs} ${toString replicas}";
|
|
namespace = "init";
|
|
};
|
|
}
|
|
// forReplicas (n: {
|
|
name = "hyprspace-dev${toString n}";
|
|
value = {
|
|
command = "${scripts.runHyprspaceDevProcess} ${toString n}";
|
|
depends_on.write-configs.condition = "process_completed_successfully";
|
|
};
|
|
})
|
|
// forReplicas (n: {
|
|
name = "hyprspace-status-dev${toString n}";
|
|
value = {
|
|
command = "${scripts.repeat} ./hyprspace status -i hsdev${toString n}";
|
|
namespace = "monitor";
|
|
depends_on.write-configs.condition = "process_completed_successfully";
|
|
};
|
|
})
|
|
// forReplicas (n: {
|
|
name = "hyprspace-route-show-dev${toString n}";
|
|
value = {
|
|
command = "${scripts.repeat} ./hyprspace route show -i hsdev${toString n}";
|
|
namespace = "monitor";
|
|
depends_on.write-configs.condition = "process_completed_successfully";
|
|
};
|
|
});
|
|
};
|
|
};
|
|
}
|