zaphyra's git: nixfiles

zaphyra and void's nixfiles

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 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
{

  system = "x86_64-linux";
  nixpkgsStable = true;

  domain = "home.infra.zaphyra.eu";

  sshPubKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA2bluHGMcdKEremjLq3aUEeJlWHlGSjL8nuAhkeEl1f";

  hardware = {
    cpuVendor = "intel";
    allowHibernation = false;
  };

  networking = {
    ip4IsPrivate = true;
    ip4Address = "10.0.0.1";
    ip4PrefixLength = 8;

    ip6IsPrivate = false;
    ip6Address = "2a03:4000:4d:5e:acab::1";
    ip6PrefixLength = 112;
  };

  configuration =
    {
      inputs,
      hostConfig,
      config,
      lib,
      pkgs,
      ...
    }:
    {

      boot = {
        kernelModules = [ "wireguard" ];

        # seems to make realtek ethernet faster?
        kernelParams = [ "pcie_aspm=off" ];

        initrd.systemd.emergencyAccess = true;
      };

      sops.secrets = {
        "resticEnv/novus" = {
          sopsFile = inputs.self.sopsSecrets.common;
        };
      };

      modules = {
        security.kernel = false;
        filesystem = {
          impermanence.system.enable = true;
          impermanence.home.enable = true;
          rootDisk = {
            enable = true;
            encrypt = true;
            type = "zfs";
            path = "/dev/disk/by-id/nvme-INTEL_SSDPEKNW010T8_PHNH9210020X1P0B";
            reservedSpace = "3G";
            parts = {
              nix = true;
            };
            swap = {
              enable = true;
              size = "8G";
            };
          };
        };

        presets = {
          base.enable = true;
          zaphyra = {
            enable = true;
            router.enable = true;
            smarthome.enable = true;
            syncthing.enable = false;
          };
        };

        websites = {
          "fedi.home.ctu.cx".enable = true;
        };

        users.zaphyra.enable = true;
      };

      system.stateVersion = "25.05";
      home-manager.users.zaphyra.home.stateVersion = "25.05";
    };

}