blob: 676fac8ced00cb1c925120d1c086908192dfff3a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#!/usr/bin/env run.sh
# nunya
#
# To build the NixOS system:
# 1. First build packages: nix-build Biz/Packages.nix
# 2. Then build OS with packages: nix-build Biz.nix --arg packages "import ./Biz/Packages.nix {}"
#
# Or use the wrapper: Omni/Ide/run.sh Biz.nix
{
bild,
packages ? import ./Biz/Packages.nix {inherit bild;},
...
}:
# This is the biz hosting service. Currently it defines a base OS similar to
# Omni/Cloud.nix et al and starts each Biz/* thing as a systemd service. A
# better solution might be to define each Biz/* thing as a container, and then
# wire them together as necessary here, but I don't know how that works so I'll
# just stick to this method for now.
bild.os {
imports = [
./Omni/Cloud/Hardware.nix
./Omni/Os/Base.nix
./Omni/Packages.nix
./Omni/Users.nix
./Omni/Deploy/Deployer.nix
];
networking.hostName = "biz";
networking.domain = "podcastitlater.bensima.com";
time.timeZone = "America/New_York";
# Mini-PaaS deployer service manages all application services
# via manifest.json in S3. Services like podcastitlater-web,
# podcastitlater-worker are deployed dynamically without NixOS rebuild.
services.biz-deployer = {
enable = true;
package = packages.biz-deployer;
manifestPackage = packages.deploy-manifest;
};
}
|