{ config, ... }: # This module defines common default settings that all OS builds should include. let ports = import ../Cloud/Ports.nix; in { boot.tmp.cleanOnBoot = true; networking.firewall.allowPing = true; nix.settings.substituters = [ "https://cache.nixos.org" ]; # "ssh://dev.simatime.com" ]; nix.gc.automatic = true; nix.gc.dates = "Sunday 02:15"; nix.optimise.automatic = true; nix.optimise.dates = [ "Sunday 02:30" ]; nix.settings.extra-sandbox-paths = [ config.programs.ccache.cacheDir ]; nix.settings.trusted-users = [ "ben" ]; programs.ccache.enable = true; programs.mosh.enable = true; programs.mosh.withUtempter = true; security.acme.defaults.email = "ben@bsima.me"; security.acme.acceptTerms = true; security.sudo.wheelNeedsPassword = false; services.clamav.daemon.enable = true; # security services.clamav.updater.enable = true; # security services.fail2ban.enable = true; # security services.fail2ban.ignoreIP = [ ports.bensIp ]; # my home IP services.fail2ban.maxretry = 10; services.openssh.enable = true; services.openssh.openFirewall = true; services.openssh.settings.X11Forwarding = true; services.openssh.settings.PasswordAuthentication = false; services.openssh.settings.PermitRootLogin = "prohibit-password"; system.autoUpgrade.enable = false; # 'true' breaks our nixpkgs pin zramSwap.enable = true; }