diff --git a/flake.nix b/flake.nix index 1159265..ffbe97b 100644 --- a/flake.nix +++ b/flake.nix @@ -44,7 +44,6 @@ ./hosts/voyager/configuration.nix sops-nix.nixosModules.sops - matrix-synapse-next.nixosModules.synapse ]; }; edison = nixpkgs.lib.nixosSystem { diff --git a/hosts/voyager/configuration.nix b/hosts/voyager/configuration.nix index 22354c1..7c9afd2 100644 --- a/hosts/voyager/configuration.nix +++ b/hosts/voyager/configuration.nix @@ -13,18 +13,19 @@ ./services/snappymail.nix #./vms.nix + ./services/calibre.nix + ./services/fancontrol.nix + ./services/gitea.nix + ./services/jellyfin.nix + ./services/jupyter.nix + ./services/kanidm.nix + ./services/metrics ./services/nginx ./services/postgres.nix - ./services/kanidm.nix - ./services/jellyfin.nix - ./services/transmission.nix - ./services/metrics - ./services/gitea.nix - ./services/vaultwarden.nix - ./services/calibre.nix ./services/stash.nix - ./services/fancontrol.nix - ./services/jupyter.nix + ./services/timemachine.nix + ./services/transmission.nix + ./services/vaultwarden.nix # ./services/searx.nix # ./services/code-server.nix diff --git a/hosts/voyager/services/timemachine.nix b/hosts/voyager/services/timemachine.nix new file mode 100644 index 0000000..7661269 --- /dev/null +++ b/hosts/voyager/services/timemachine.nix @@ -0,0 +1,42 @@ +{ config, pkgs, ... }: + let + timeMachineDir = "/tank/backup/worf"; + user = "worf-backup"; + sizeLimit = "800000"; # MiB + allowedIPs = "192.168.10.2 192.168.10.5"; #TODO + in { + services.avahi = { + enable = true; + publish = { + enable = true; + userServices = true; + }; + }; + + services.netatalk = { + enable = true; + + settings = { + Global = { + "mimic model" = "TimeCapsule6,106"; # show the icon for the first gen TC + "hosts allow" = allowedIPs; + }; + + "worf-time-machine" = { + "time machine" = "yes"; + "path" = timeMachineDir; + "valid users" = user; + "vol size limit" = sizeLimit; + }; + }; + }; + + users.extraUsers.worf-backup = { + isSystemUser = true; + name = user; + group = user; + }; + users.groups."${user}" = {}; + + networking.firewall.allowedTCPPorts = [ 548 636 ]; +}