diff options
Diffstat (limited to 'Urbit')
-rw-r--r-- | Urbit/Harbor.nix | 66 | ||||
-rw-r--r-- | Urbit/Ship.nix | 27 |
2 files changed, 48 insertions, 45 deletions
diff --git a/Urbit/Harbor.nix b/Urbit/Harbor.nix index 6098163..fb18d0a 100644 --- a/Urbit/Harbor.nix +++ b/Urbit/Harbor.nix @@ -1,31 +1,37 @@ -{ options, lib, config, pkgs, ... }: - -/* Urbit Harbor is a supervisor for Urbit ships on the local machine. It does no - orchestration, it just manages systemd services. - - Setup process: - - <running as user "urbit-harbor"> - dir=/var/urbit/harbor - urbit -c $dir/zod -k $dir/zod.key -x # one-time setup - <create $dir/zod.service from some template> - systemctl --user enable $dir/zod.service # nees fullpath - systemctl --user start zod.service - - Service Template: - - [Service] - ExecStart=urbit -tq /var/urbit/harbor/zod # maybe want -d? - ExecStartPre=mkdir -p /var/urbit/harbor/zod - - [Unit] - Description=zod - - [Install] - WantedBy=multi-user.target +{ + options, + lib, + config, + pkgs, + ... +}: +/* +Urbit Harbor is a supervisor for Urbit ships on the local machine. It does no +orchestration, it just manages systemd services. + +Setup process: + + <running as user "urbit-harbor"> + dir=/var/urbit/harbor + urbit -c $dir/zod -k $dir/zod.key -x # one-time setup + <create $dir/zod.service from some template> + systemctl --user enable $dir/zod.service # nees fullpath + systemctl --user start zod.service + +Service Template: + + [Service] + ExecStart=urbit -tq /var/urbit/harbor/zod # maybe want -d? + ExecStartPre=mkdir -p /var/urbit/harbor/zod + + [Unit] + Description=zod + + [Install] + WantedBy=multi-user.target */ - -let cfg = config.services.urbit-harbor; +let + cfg = config.services.urbit-harbor; in { options.services.urbitharbor = { enable = lib.mkEnableOption "Enable urbit-harbor"; @@ -62,8 +68,8 @@ in { config = lib.mkIf cfg.enable { systemd.services.urbit-harbor = { - path = [ cfg.package cfg.urbitPackage ]; - wantedBy = [ "multi-user.target" ]; + path = [cfg.package cfg.urbitPackage]; + wantedBy = ["multi-user.target"]; preStart = '' mkdir -p ${cfg.dataDir} ''; @@ -76,7 +82,5 @@ in { RestartSec = "3"; }; }; - }; - } diff --git a/Urbit/Ship.nix b/Urbit/Ship.nix index bde6b20..a82d880 100644 --- a/Urbit/Ship.nix +++ b/Urbit/Ship.nix @@ -1,7 +1,5 @@ -{ bild }: - +{bild}: # This represents a single ship running in a container. - let # bootstrap & startup process, expects two files: # - /ship.name: containing a ship name like 'sampel-palnet' @@ -23,17 +21,18 @@ let /bin/urbit -tq "$pier" ''; -in bild.image { - name = "urbit-ship"; - tag = "latest"; +in + bild.image { + name = "urbit-ship"; + tag = "latest"; - fromImage = null; # scratch + fromImage = null; # scratch - contents = bild.pkgs.urbit; + contents = bild.pkgs.urbit; - config = { - Cmd = [ "${urbit-start}" ]; - WorkingDir = "/"; - Volumes = { "/" = { }; }; - }; -} + config = { + Cmd = ["${urbit-start}"]; + WorkingDir = "/"; + Volumes = {"/" = {};}; + }; + } |