diff --git a/home/default.nix b/home/default.nix index a523270..23ec96b 100644 --- a/home/default.nix +++ b/home/default.nix @@ -111,6 +111,22 @@ in Install.WantedBy = [ "multi-user.target" ]; }; + systemd.user.timers."backup-keepassxc-ninurta" = { + Unit.Description = "Backup password DB to ninurta"; + Timer = { + OnBootSec = "15min"; + OnUnitActiveSec = "1d"; + }; + Install.WantedBy = [ "timers.target" ]; + }; + + systemd.user.services."backup-keepassxc-ninurta" = { + Unit.Description = "Backup password DB to ninurta"; + Unit.Type = "oneshot"; + Service.ExecStart = "${pkgs.openssh}/bin/scp -P 22 -i /home/dadada/.ssh/keepassxc-backup /home/dadada/lib/sync/Personal.kdbx backup-keepassxc@ninurta.bs.dadada.li:/mnt/share/backups/backup-keepassxc/Personal.kdbx"; + Install.WantedBy = [ "multi-user.target" ]; + }; + # Let Home Manager install and manage itself. programs.home-manager.enable = true; diff --git a/nixos/ninurta/configuration.nix b/nixos/ninurta/configuration.nix index 16b629f..8bf36de 100644 --- a/nixos/ninurta/configuration.nix +++ b/nixos/ninurta/configuration.nix @@ -459,6 +459,16 @@ in password = "media"; }; + users.users."backup-keepassxc" = { + home = "/mnt/storage/backups/backup-keepassxc"; + isNormalUser = true; + description = "Backup KeepassXC database"; + extraGroups = [ ]; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIirODQlcTJ8e9OcFuMlYlGekrUMtDpD5HhbTmuQ+jDW KeepassXC DB backup " + ]; + }; + virtualisation.libvirtd.enable = true; documentation.enable = true;