{ pkgs, lib, ... }: { environment.systemPackages = lib.mkAfter ( with pkgs; [ backrest ] ); users.groups.backrest = { }; users.users.backrest = { isSystemUser = true; group = "backrest"; home = "/var/lib/backrest"; createHome = true; description = "Backrest service user"; }; systemd.services.backrest = { enable = true; description = "Restic GUI"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; environment = { BACKREST_PORT = "9004"; BACKREST_RESTIC_COMMAND = "${pkgs.restic}/bin/restic"; BACKREST_CONFIG = "/var/lib/backrest/config"; BACKREST_DATA = "/var/lib/backrest/data"; }; serviceConfig = { Type = "simple"; User = "backrest"; Group = "backrest"; ExecStart = "${pkgs.backrest}/bin/backrest"; Restart = "on-failure"; RestartSec = "5s"; }; }; }