voyager: add time machine, cleanup

This commit is contained in:
Felix Albrigtsen 2023-11-16 15:54:54 +01:00
parent fc1aa2468f
commit c3e09c0b7c
3 changed files with 51 additions and 9 deletions

View File

@ -48,7 +48,6 @@
./hosts/voyager/configuration.nix
voyager-addons.nixosModules.default
sops-nix.nixosModules.sops
matrix-synapse-next.nixosModules.synapse
];
};
edison = nixpkgs.lib.nixosSystem {

View File

@ -13,17 +13,18 @@
./services/snappymail.nix
#./vms.nix
./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/fancontrol.nix
./services/gitea.nix
./services/jellyfin.nix
./services/jupyter.nix
./services/kanidm.nix
./services/metrics
./services/nginx
./services/postgres.nix
./services/timemachine.nix
./services/transmission.nix
./services/vaultwarden.nix
# ./services/searx.nix
# ./services/code-server.nix

View File

@ -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 ];
}