summaryrefslogtreecommitdiff
path: root/hosts/fscusat/modules/mirror/debian/ftpsync.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/fscusat/modules/mirror/debian/ftpsync.nix')
-rw-r--r--hosts/fscusat/modules/mirror/debian/ftpsync.nix65
1 files changed, 0 insertions, 65 deletions
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";
- };
- };
- };
- };
-}