aboutsummaryrefslogtreecommitdiff
path: root/modules/default.nix
blob: f94ece51f1e54e18019e0e302dc08f982961b082 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{ config, nixpkgs, pkgs, lib, ... }:

{
  imports = [
    ./users
    ./crypto
    ./wireguard
    ./nix-settings.nix
  ];

  # Time and Locale
  time.timeZone = "UTC";
  i18n.defaultLocale = "en_US.UTF-8";
  console = {
    font = "Lat2-Terminus16";
    keyMap = "us";
  };

  # Default Packages Set
  environment.systemPackages = with pkgs; [ vim htop wget nftables wireguard-tools ];

  # Wireguard
  wireguard = {
    enable = lib.mkDefault false;
    v4 = { network = lib.mkDefault "10.10.0.0"; };
    v6 = {
      ula = lib.mkDefault "fd15:3d8c:d429:beef";
      gua = lib.mkDefault "2a0f:9400:8020:beef";
    };
  };

  # Security
  networking.firewall.enable = false;
  security.sudo.wheelNeedsPassword = false;
  services.openssh = {
    enable = true;
    settings = {
      PasswordAuthentication = false;
      PermitRootLogin = "no";
    };
  };

  # CPU
  powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
  hardware.cpu.amd.updateMicrocode =
    lib.mkDefault config.hardware.enableRedistributableFirmware;
  hardware.cpu.intel.updateMicrocode =
    lib.mkDefault config.hardware.enableRedistributableFirmware;

  # System state version
  system.stateVersion = lib.mkDefault "23.05";
}