summaryrefslogtreecommitdiff
path: root/Com
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2020-03-30 17:18:15 -0700
committerBen Sima <ben@bsima.me>2020-03-30 17:18:15 -0700
commit1d368deec3956d97e2f55c23c1dca89b13f73c5e (patch)
tree4489667abaa364f8ed8492e0a5b274bbf975e90e /Com
parentd17bb903a66c2f551cadda4c51a6747c42440ae3 (diff)
Add nix service declaration for que.run
I'm using serval.simatime.com as a catch-all production app server for now. The 'que.run' domain is pointed at that instance, and the service is just installed as a regular NixOS systemd service. I had to do some troubleshooting because I wasn't getting any DNS names to resolve. I think changing the nameservers fixed it. Don't know why the 127 number was in there. Another issue concerns how to add our packages to the set of nixpkgs in the generated NixOS. I played around with this for a while and landed on using an overlay to put our set of packages under 'pkgs.biz.<name>', and then passing that in to the 'buildOS' function. This isn't really the best solution because it is confusing and rather disconnected. I'm starting to realize that it might be good to separate nix artifacts into "machines" and "programs", but I don't want to do that just yet. I'd like to finish designing my bild program before making any large design decisions or re-organizations.
Diffstat (limited to 'Com')
-rw-r--r--Com/Simatime/Serval/configuration.nix11
-rwxr-xr-xCom/Simatime/Serval/networking.nix5
-rw-r--r--Com/Simatime/buildOS.nix5
3 files changed, 18 insertions, 3 deletions
diff --git a/Com/Simatime/Serval/configuration.nix b/Com/Simatime/Serval/configuration.nix
new file mode 100644
index 0000000..d5ad02f
--- /dev/null
+++ b/Com/Simatime/Serval/configuration.nix
@@ -0,0 +1,11 @@
+{ config, pkgs, ... }:
+{
+ networking.firewall.allowedTCPPorts = [ 22 80 443 ];
+ services.que-server = {
+ enable = true;
+ domain = "que.run";
+ port = 3000;
+ package = pkgs.biz.que-server;
+ };
+ services.nginx.enable = true;
+}
diff --git a/Com/Simatime/Serval/networking.nix b/Com/Simatime/Serval/networking.nix
index e13a6f5..79fbe27 100755
--- a/Com/Simatime/Serval/networking.nix
+++ b/Com/Simatime/Serval/networking.nix
@@ -3,7 +3,8 @@
# details gathered from the active system.
networking = {
nameservers = [
- "127.0.0.53"
+ "67.207.67.2"
+ "67.207.67.3"
];
defaultGateway = "157.245.160.1";
defaultGateway6 = "";
@@ -18,8 +19,6 @@
ipv6.addresses = [
{ address="fe80::242a:8bff:feb7:6afb"; prefixLength=64; }
];
- ipv4.routes = [ { address = "157.245.160.1"; prefixLength = 32; } ];
- ipv6.routes = [ { address = ""; prefixLength = 32; } ];
};
};
};
diff --git a/Com/Simatime/buildOS.nix b/Com/Simatime/buildOS.nix
index c40fc22..52aa51a 100644
--- a/Com/Simatime/buildOS.nix
+++ b/Com/Simatime/buildOS.nix
@@ -4,6 +4,7 @@ nixos:
, vpnConnectTo ? ""
, vpnRsaPrivateKeyFile ? null
, vpnEd25519PrivateKeyFile ? null
+, deps ? {} # added under pkgs.biz
, configuration # see: configuration.nix(5)
}:
assert enableVpn -> builtins.isString ipAddress;
@@ -15,6 +16,9 @@ let
Ed25519PrivateKeyFile = "${vpnEd25519PrivateKeyFile}"
PrivateKeyFile = "${vpnRsaPrivateKeyFile}"
'' else "";
+ bizpkgs = self: super: {
+ biz = deps;
+ };
defaults = {
boot.cleanTmpDir = true;
#networking.interfaces.simatime-vpn = [{ ipv4.address = ipAddress; }];
@@ -24,6 +28,7 @@ let
nix.maxJobs = 1; # "auto";
nix.optimise.automatic = true;
nix.optimise.dates = [ "Sunday 02:30" ];
+ nixpkgs.overlays = [ bizpkgs ];
security.acme.email = "ben@bsima.me";
security.acme.acceptTerms = true;
security.sudo.wheelNeedsPassword = false;