summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorMatthew Justin Bauer <mjbauer95@gmail.com>2018-04-08 21:49:48 -0500
committerGitHub <noreply@github.com>2018-04-08 21:49:48 -0500
commit1381606b8ecfdce3c4491b6df70814e07c58ed82 (patch)
treeb16d91cb8ce8b93162addbdf43cdef576f2d5157 /nixos
parent842278d6752bfdaefdc204bfdeddc162db7cdbbc (diff)
parentb3aa9ecdf8963e38d2e0a7ea0cb90b44da7de9a8 (diff)
downloadnixpkgs-1381606b8ecfdce3c4491b6df70814e07c58ed82.tar
nixpkgs-1381606b8ecfdce3c4491b6df70814e07c58ed82.tar.gz
nixpkgs-1381606b8ecfdce3c4491b6df70814e07c58ed82.tar.bz2
nixpkgs-1381606b8ecfdce3c4491b6df70814e07c58ed82.tar.lz
nixpkgs-1381606b8ecfdce3c4491b6df70814e07c58ed82.tar.xz
nixpkgs-1381606b8ecfdce3c4491b6df70814e07c58ed82.tar.zst
nixpkgs-1381606b8ecfdce3c4491b6df70814e07c58ed82.zip
Merge pull request #38533 from nyanloutre/duplicati-package
duplicati: init at 2.0.3.3
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/backup/duplicati.nix40
3 files changed, 43 insertions, 0 deletions
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index c5dee2ca97a..3594f57595c 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -305,6 +305,7 @@
       hass = 286;
       monero = 287;
       ceph = 288;
+      duplicati = 289;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -578,6 +579,7 @@
       hass = 286;
       monero = 287;
       ceph = 288;
+      duplicati = 289;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 46ec2022195..2f9b1083ef1 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -160,6 +160,7 @@
   ./services/audio/ympd.nix
   ./services/backup/bacula.nix
   ./services/backup/borgbackup.nix
+  ./services/backup/duplicati.nix
   ./services/backup/crashplan.nix
   ./services/backup/crashplan-small-business.nix
   ./services/backup/mysql-backup.nix
diff --git a/nixos/modules/services/backup/duplicati.nix b/nixos/modules/services/backup/duplicati.nix
new file mode 100644
index 00000000000..9772ca4d20a
--- /dev/null
+++ b/nixos/modules/services/backup/duplicati.nix
@@ -0,0 +1,40 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.duplicati;
+in
+{
+  options = {
+    services.duplicati = {
+      enable = mkEnableOption "Duplicati";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.duplicati ];
+
+    systemd.services.duplicati = {
+      description = "Duplicati backup";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        User = "duplicati";
+        Group = "duplicati";
+        ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=any --webservice-port=8200 --server-datafolder=/var/lib/duplicati";
+        Restart = "on-failure";
+      };
+    };
+
+    users.extraUsers.duplicati = {
+      uid = config.ids.uids.duplicati;
+      home = "/var/lib/duplicati";
+      createHome = true;
+      group = "duplicati";
+    };
+    users.extraGroups.duplicati.gid = config.ids.gids.duplicati;
+
+  };
+}
+