summaryrefslogtreecommitdiff
path: root/machines/173-249-5-230/configuration.nix
blob: 570d4280b783132a919129a40716169bb4885d84 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{
  config,
  machine,
  ...
}: {
  age.secrets.secret2.file = ../../secrets/secret2.age;
  boot.tmp.cleanOnBoot = true;
  boot.loader.grub.devices = ["nodev"];
  environment.persistence."/nix/persist" = {
    enable = true;
    hideMounts = true;
    directories = [
      "/var/log"
      "/var/lib/nixos"
      "/var/lib/systemd/coredump"
      "/etc/NetworkManager/system-connections"
    ];
    files = [
      "/etc/machine-id"
      "/etc/ly/save.txt"
    ];
    users."mtgmonkey" = {
      directories = [
        ".local/share/zoxide"
        ".ssh"
      ];
      files = [
        ".bash_history"
        ".brush_history"
      ];
    };
  };
  i18n.defaultLocale = "de_DE.UTF-8";
  networking = {
    dhcpcd.enable = true;
    firewall = {
      enable = true;
      allowedTCPPorts = [80 443];
      allowedUDPPorts = [80 443];
    };
    hostName = machine.hostname;
    domain = "";
  };
  nix.settings = {
    experimental-features = [
      "nix-command"
      "flakes"
    ];
    allow-import-from-derivation = true;
  };
  programs.noshell.enable = true;
  services.openssh = {
    enable = true;
    allowSFTP = false;
    ports = [5522];
    settings = {
      PermitRootLogin = "no";
      PasswordAuthentication = false;
      KbdInteractiveAuthentication = true;
    };
    extraConfig = ''
      AllowTcpForwarding no
      AllowAgentForwarding no
      MaxAuthTries 3
      MaxSessions 4
      TCPKeepAlive no
    '';
  };
  system.stateVersion = "26.05";
  time.timeZone = "Europe/Berlin";
  users.users."mtgmonkey" = {
    isNormalUser = true;
    description = "mtgmonkey";
    hashedPasswordFile = builtins.toString config.age.secrets.secret2.path;
    extraGroups = ["wheel"];
    openssh.authorizedKeys.keys = machine.pub-keys.ssh;
  };
}