{ config, lib, pkgs, ... }: { services.acpid.enable = true; services.apcupsd = { enable = config.device == "AMD-Workstation"; }; services.earlyoom = { enable = config.devices.${config.device}.ram < 16; freeMemThreshold = 5; freeSwapThreshold = 100; }; services.printing = { enable = true; drivers = [ pkgs.gutenprint ]; }; programs.dconf.enable = true; services.tor = { enable = true; client.enable = true; client.privoxy.enable = true; torsocks.enable = true; client.socksListenAddressFaster = "127.0.0.1:9063"; }; programs.mosh.enable = true; services.fwupd.enable = true; services.avahi.enable = true; systemd.services.systemd-udev-settle.enable = false; services.nix-serve.enable = config.device == "AMD-Workstation"; services.pcscd.enable = true; services.keybase.enable = true; services.upower.enable = true; virtualisation.docker.enable = config.deviceSpecific.isHost; virtualisation.libvirtd = { enable = config.deviceSpecific.isHost; }; services.vsftpd = { enable = true; anonymousUser = true; }; networking.firewall.trustedInterfaces = [ "eth0" ]; services.nextcloud = { enable = true; nginx.enable = true; hostName = "nextcloud.balsoft.ru"; config.adminpassFile = "/home/balsoft/nextcloud-admin"; package = pkgs.nextcloud19; https = true; }; services.nginx.virtualHosts."nextcloud.balsoft.ru" = { enableACME = true; forceSSL = true; locations."/".proxyWebsockets = true; locations."~ ^\\/(?:build|tests|config|lib|3rdparty|templates|data)\\/".proxyWebsockets = true; locations."~ ^\\/(?:index|remote|public|cron|core/ajax\\/update|status|ocs\\/v[12]|updater\\/.+|ocs-provider\\/.+|ocm-provider\\/.+)\\.php(?:$|\\/)".proxyWebsockets = true; }; }