aboutsummaryrefslogtreecommitdiff
path: root/hosts/eden/default.nix
blob: bb39dbe1af8600acf2f28f18f1ff5acb7cc8edf8 (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
{ lib, inputs, ... }:
{
  system.stateVersion = "24.05";

  imports = [ ./hardware.nix ];

  home-manager = {
    useGlobalPkgs = true;
    useUserPackages = true;
    users = import "${inputs.self}/users";
    extraSpecialArgs = {
      inherit inputs;
      headless = true;
    };
  };

  networking = {
    hostName = "eden";
    hostId = "bd03847d"; # Required for ZFS support.
    nameservers = [ "10.44.0.1" ];
    defaultGateway.address = "10.44.0.1";
    interfaces.eno1 = {
      useDHCP = false;
      ipv4.addresses = [{
        address = "10.44.4.101";
        prefixLength = 16;
      }];
    };
  };

  time.timeZone = "America/Detroit";

  boot = {
    loader = {
      systemd-boot.enable = true;
      efi.canTouchEfiVariables = true;
    };
    zfs.extraPools = [ "tank" ];
  };

  services.zquota = {
    enable = true;
    quotas = {
      "tank/backups" = 512;
      "tank/media" = 1536;
    };
  };

  programs.motd = {
    enable = true;
    networkInterfaces = lib.lists.singleton "eno1";
    servicesToCheck = [
      "caddy"
      "immich-machine-learning"
      "immich-server"
      "postgresql"
      "redis-immich"
      "zfs-zed"
    ];
  };
}