{ options, lib, config, pkgs, ... }: let serverName = "anish.lakhwara.com"; webRoot = "/var/www/${serverName}"; serviceConfig = config.services."${serverName}"; options = { enable = lib.mkEnableOption "${serverName} service"; }; in { options.services.${serverName} = options; config = lib.mkIf serviceConfig.enable { systemd.services."source-${serverName}" = { description = '' https://${serverName} source ''; serviceConfig = { Type = "oneshot"; }; startAt = "*:0/5"; path = with pkgs; [ nix gnutar gzip curl jq ]; script = '' set -ex rev=$(curl https://git.sealight.xyz/repos/aynish/basant/git/ref/heads/main | jq -r .object.sha) result=$(nix-build https://git.sealight.xyz/aynish/basant/archive/$rev.tar.gz -A anish-lakhwara) # TODO: need to define this file ln -sfT $result${webRoot} ${webRoot} ''; }; }; }