summaryrefslogtreecommitdiff
path: root/machines.nix
blob: d79d693de115512c93d8185ae33f3e7a405e9a75 (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
{
  lenovo = {
    hostname = "lenovo";
    system = "x86_64-linux";
    users = [
      "andromeda"
      "mtgmonkey"
    ];
    modules = [
    ];
  };
  "109-199-104-83" = {
    hostname = "109-199-104-83";
    system = "x86_64-linux";
    users = [];
    modules = [
      # hardware configuration
      # verbatim as `nixos-generate-config` AND `system.stateVersion`
      ./machines/109-199-104-83.nix

      # boot process
      # grub boot on /dev/sda
      ./modules/nixos/boot/109-199-104-83.nix

      # networking
      ./modules/nixos/networking/domains/galaxious.de.nix
      ./modules/nixos/networking/networks/109-199-104-83.nix

      # ssh through port 5522 among other things
      # andromeda@lenovo is the only user allowed access
      ./modules/nixos/networking/hard-ssh.nix
      ./modules/nixos/networking/ssh-as-root.nix
      ({config, ...}: {users.users.root.openssh.authorizedKeys.keys = [config.pub-keys.ssh.andromeda];})

      # boilerplate settings
      ./modules/nixos/common.nix

      # simple-nixos-mailserver email server
      # mail.domain
      ./modules/nixos/mailserver.nix

      # roundcube webmail client
      # webmail.domain
      ./modules/nixos/roundcube.nix

      # zulip chat client
      # chat.domain
      # zulip chat server
      # zulip.domain
      ./modules/nixos/zulip.nix
      {
      }
    ];
  };
}