diff options
author | sinanmohd <sinan@sinanmohd.com> | 2024-03-08 10:50:28 +0530 |
---|---|---|
committer | sinanmohd <sinan@sinanmohd.com> | 2024-03-08 10:52:52 +0530 |
commit | cd942d253bda8f511fdb921ea29f69f382a9368e (patch) | |
tree | 2c7aac5f66e5b614ecdd0871df23432bae4dc6db /hosts/fscusat/modules/mirror/debian | |
parent | 2abeb90fbff1d33aadfec37ce80a6bc4d3551661 (diff) |
repo: restructure source tree
Diffstat (limited to 'hosts/fscusat/modules/mirror/debian')
-rw-r--r-- | hosts/fscusat/modules/mirror/debian/default.nix | 22 | ||||
-rw-r--r-- | hosts/fscusat/modules/mirror/debian/ftpsync.nix | 65 |
2 files changed, 0 insertions, 87 deletions
diff --git a/hosts/fscusat/modules/mirror/debian/default.nix b/hosts/fscusat/modules/mirror/debian/default.nix deleted file mode 100644 index da56ade..0000000 --- a/hosts/fscusat/modules/mirror/debian/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ config, ... }: let - name = config.userdata.user; - email = config.userdata.email; -in { - imports = [ ./ftpsync.nix ]; - - services.ftpsync = { - enable = true; - - settings = { - RSYNC_HOST = "ossmirror.mycloud.services"; - RSYNC_PATH = "debian"; - ARCH_INCLUDE = "amd64 riscv64"; - - INFO_MAINTAINER = "${name} <${email}>"; - INFO_COUNTRY = "IN"; - INFO_LOCATION = "Kochi, Kerala"; - INFO_THROUGHPUT = "1Gb"; - MAILTO = email; - }; - }; -} diff --git a/hosts/fscusat/modules/mirror/debian/ftpsync.nix b/hosts/fscusat/modules/mirror/debian/ftpsync.nix deleted file mode 100644 index 29fb55b..0000000 --- a/hosts/fscusat/modules/mirror/debian/ftpsync.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.services.ftpsync; - archvsync = pkgs.callPackage ../../../pkgs/archvsync {}; - - formatKeyValue = k: v: '' ${k}="${v}" ''; - configFormat = pkgs.formats.keyValue { mkKeyValue = formatKeyValue; }; - configFile = configFormat.generate "ftpsync.conf" cfg.settings; -in -{ - meta.maintainers = with lib.maintainers; [ sinanmohd ]; - - options.services.ftpsync = { - enable = lib.mkEnableOption (lib.mdDoc "ftpsync"); - - settings = lib.mkOption { - inherit (configFormat) type; - default = {}; - description = lib.mdDoc '' - Configuration options for ftpsync. - See ftpsync.conf(5) man page for available options. - ''; - }; - }; - - config = lib.mkIf cfg.enable { - environment.etc."ftpsync/ftpsync.conf".source = configFile; - environment.systemPackages = [ archvsync ]; - - services.ftpsync.settings = { - TO = lib.mkDefault "$STATE_DIRECTORY"; - LOGDIR = lib.mkDefault "$LOGS_DIRECTORY"; - }; - - systemd = let - name = "ftpsync"; - meta = { - description = "Mirror Debian repositories of packages"; - documentation = [ "man:ftpsync(1)" ]; - }; - in { - timers.${name} = meta // { - wantedBy = [ "timers.target" ]; - - timerConfig = { - OnCalendar = "*-*-* 00,06,12,18:00:00"; - Unit="%i.service"; - Persistent = true; - FixedRandomDelay = true; - RandomizedDelaySec = "6h"; - }; - }; - - services.${name} = meta // { - serviceConfig = { - LogsDirectory = name; - StateDirectory = name; - - ExecStart = "${archvsync}/bin/ftpsync sync:all"; - }; - }; - }; - }; -} |