From 8bf83d7a27c08599820f145c073d979744b81c63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 13 Feb 2020 13:07:06 +0100 Subject: Add rsync backup via dilion --- modules/private/system/dilion.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'modules/private/system/dilion.nix') diff --git a/modules/private/system/dilion.nix b/modules/private/system/dilion.nix index 258506b..dbfd38f 100644 --- a/modules/private/system/dilion.nix +++ b/modules/private/system/dilion.nix @@ -41,6 +41,31 @@ programs.zsh.enable = true; + users.users.backup = { + home = "/var/lib/backup"; + createHome = true; + hashedPassword = "!"; + isSystemUser = true; + shell = pkgs.bashInteractive; + openssh.authorizedKeys.keys = let + in + ["command=\"${pkgs.rrsync_sudo}/bin/rrsync /var/lib/backup/eldiron/\" ${config.myEnv.rsync_backup.ssh_key.public}"]; + }; + security.sudo.extraRules = [ + { + commands = [ + { command = "${pkgs.rsync}/bin/rsync"; options = [ "NOPASSWD" ]; } + ]; + users = [ "backup" ]; + runAs = "root"; + } + ]; + + system.activationScripts.backup_home = '' + chown root:root /var/lib/backup + install -m 0750 -o backup -g root -d /var/lib/backup/eldiron + ''; + time.timeZone = "Europe/Paris"; nix = { useSandbox = "relaxed"; -- cgit v1.2.3