diff --git a/hosts/alyssum/default.nix b/hosts/alyssum/default.nix index 06c415f..255380a 100644 --- a/hosts/alyssum/default.nix +++ b/hosts/alyssum/default.nix @@ -33,8 +33,9 @@ ./filesystem.nix ./kernel.nix - ./networking.nix ./home.syncthing.nix + ./networking.nix + ./restic.nix ./samba.nix ../../users/hana diff --git a/hosts/alyssum/restic.nix b/hosts/alyssum/restic.nix new file mode 100644 index 0000000..081bf72 --- /dev/null +++ b/hosts/alyssum/restic.nix @@ -0,0 +1,30 @@ +{ config, ... }: { + age.secrets.restic_env.file = ../../secrets/restic_env.age; + age.secrets.restic_pass.file = ../../secrets/restic_pass.age; + age.secrets.restic_url.file = ../../secrets/restic_url.age; + + services.restic.backups."flower" = { + initialize = true; + createWrapper = true; + progressFps = "0.016666"; + + environmentFile = config.age.secrets.restic_env.path; + passwordFile = config.age.secrets.restic_pass.path; + repositoryFile = config.age.secrets.restic_url.path; + + paths = ["/flower"]; + timerConfig = { + # every 30mns + OnCalendar = "*-*-* *:00,30:00"; + Persistent = true; + }; + bleh = [ + "--keep-last 24" + "--keep-hourly 24" + "--keep-daily 7" + "--keep-weekly 5" + "--keep-monthly 12" + "--keep-yearly 75" + ]; + }; +} diff --git a/secrets.nix b/secrets.nix index b1f55e5..d7ac2cc 100644 --- a/secrets.nix +++ b/secrets.nix @@ -12,6 +12,10 @@ in { "secrets/passwd_smbkujira.age".publicKeys = [ alyssum rin ]; "secrets/wpa_conf.age".publicKeys = [ alyssum blossom rin ]; + "secrets/restic_env.age".publicKeys = [ alyssum dandelion rin ]; + "secrets/restic_pass.age".publicKeys = [ alyssum dandelion rin ]; + "secrets/restic_url.age".publicKeys = [ alyssum dandelion rin ]; + "secrets/acme_dns.age".publicKeys = [ alyssum dandelion hazel rin ]; "secrets/navidrome_env.age".publicKeys = [ alyssum dandelion rin ]; "secrets/slskd_env.age".publicKeys = [ anemone dandelion rin ]; diff --git a/secrets/restic_env.age b/secrets/restic_env.age new file mode 100644 index 0000000..1917eef --- /dev/null +++ b/secrets/restic_env.age @@ -0,0 +1,10 @@ +age-encryption.org/v1 +-> ssh-ed25519 kOMSPw CYNG6K56RVMY5KP3vTczaCG9DVL3Ryv7QtqRzrdONh4 +VKH43RjHzP2TcyK8bEO8pZzZZeXqNXEDNq4JCkhMXlQ +-> ssh-ed25519 bRFqeQ AmuEljYrO5qqhaJQONYxQZTlaid2qNt+kktiMRDSKl4 +u+KzYFuEx+UCBfdcpup0fbEp1vGMP24nE3MwvcjhTSc +-> ssh-ed25519 U9FXlg IKN6gdqtD0FDOBk5vXuLD7AYuRtCGsIe5CYMJwyvcG4 +f5lkALvyjz1X94JmnG4u9kZ0S1TgZeBv+uxumFPChzQ +--- 3LBfI6E7NfSK1F42/cQkUzrpry6OWCeW/67YOpZe00k +8ĝg9(<9OT.L_C2XT 1L=3WCoze?4sU.<zIy,bP?(b?7dՃU*-<줯aD֐^,?3 Ebb +vH \ No newline at end of file diff --git a/secrets/restic_pass.age b/secrets/restic_pass.age new file mode 100644 index 0000000..d9a6889 Binary files /dev/null and b/secrets/restic_pass.age differ diff --git a/secrets/restic_url.age b/secrets/restic_url.age new file mode 100644 index 0000000..0d3a2d1 --- /dev/null +++ b/secrets/restic_url.age @@ -0,0 +1,9 @@ +age-encryption.org/v1 +-> ssh-ed25519 kOMSPw l9/BY4rhuzGl/MRKjJ6Hyz2AGpsIZlDojQhSzJ8IxzY +tEGqxZOEWHZvTazrDoC4uTOyuT7fgRKXxumxpjdE89o +-> ssh-ed25519 bRFqeQ XQ1wRRwOP1bIiEX/Dh4tkHB3vF1OdZcLNTtVVM1oWgU +S6qXQsPNY0bGaUz+iLoJ0GBL26FtM4h/sgxqvIwOS3g +-> ssh-ed25519 U9FXlg pmY+R/M38tLi1dq2ll9FDv6uaGv8XlkE99NoAemtlGY +FGZodar5ESxmOZYDZ0F8P1FXNzkEpqT6jyJgzY5wLc0 +--- ig7eZey8XraBclyUEJRv1lJUyiOjqsfGc8Q+jjbAuvQ +eĶ@zYtV4%s29>閇(y8% j|PѨ::-YI)C̹I%yٸ:LCfq_ \ No newline at end of file