{ config, pkgs, ... }: { imports = [ ./disko-config.nix ./hardware-configuration.nix ]; system.stateVersion = "24.05"; swapDevices = [ { device = "/swapfile"; size = 2048; # MB } ]; boot.loader.grub = { efiSupport = true; efiInstallAsRemovable = true; }; time.timeZone = "Europe/Kyiv"; i18n.defaultLocale = "en_US.UTF-8"; networking = { hostName = "vps"; useDHCP = true; # Interface names will be auto-detected in hardware-configuration.nix # Using generic DHCP setting interfaces = {}; firewall = { enable = true; allowedTCPPorts = [80 443]; }; }; environment.systemPackages = with pkgs; [ neovim git htop tmux ]; services = { caddy.enable = true; openssh = { enable = true; settings = { PasswordAuthentication = false; PermitRootLogin = "no"; }; }; }; nix = { gc = { automatic = true; dates = "weekly"; options = "--delete-older-than 30d"; }; settings = { auto-optimise-store = true; experimental-features = [ "nix-command" "flakes" ]; }; }; }