Nix configurations for my homelab
1{ ... }:
2{
3 imports = [
4 ./hardware.nix
5 ./services/fail2ban.nix
6
7 ../modules/basic.nix
8 ../modules/caddy.nix
9 ../modules/editor.nix
10 ../modules/fail2ban.nix
11 ../modules/fwupd.nix
12 ../modules/machine-id.nix
13 ../modules/machine-info.nix
14 ../modules/netbird.nix
15 ../modules/network-info.nix
16 ../modules/nix.nix
17 ../modules/openrgb.nix
18 ../modules/qbittorrent.nix
19 ../modules/remote-build-machines.nix
20 ../modules/remote-builder.nix
21 ../modules/smartd.nix
22 ../modules/vpn-container.nix
23
24 ../modules/services/caddy
25 ../modules/services/caddy/atproto-did.nix
26 ../modules/services/caddy/bsky-sieve.nix
27 ../modules/services/caddy/cp-certs.nix
28 ../modules/services/caddy/jellyfin.nix
29 ../modules/services/caddy/mumble.nix
30 ../modules/services/caddy/nextcloud.nix
31 ../modules/services/caddy/pds.nix
32 ../modules/services/caddy/soju.nix
33 ../modules/services/caddy/tangled-knot.nix
34 ../modules/services/caddy/websites/boo-b77.nix
35 ../modules/services/caddy/websites/boo-y6d.nix
36 ../modules/services/caddy/websites/org-biotabit.nix
37 ../modules/services/caddy/websites/org-butwho.nix
38 ../modules/services/caddy/websites/pink-lilac.nix
39 ../modules/services/caddy/websites/pink-meyou.nix
40 ../modules/services/caddy/websites/pink-yeem-cobblemon.nix
41 ../modules/services/caddy/websites/pink-yem-link.nix
42 ../modules/services/caddy/websites/pink-yemou.nix
43
44 ../modules/services/minecraft
45 ../modules/services/minecraft/harpy-express.nix
46 ../modules/services/minecraft/yembina
47
48 ../modules/services/arr.nix
49 ../modules/services/jellyfin.nix
50 ../modules/services/murmur.nix
51 ../modules/services/nextcloud.nix
52 ../modules/services/openssh.nix
53 ../modules/services/pds.nix
54 ../modules/services/soju.nix
55 ../modules/services/tangled.nix
56 ];
57
58 garden = {
59 caddy.package = {
60 plugins = [
61 "github.com/mholt/caddy-events-exec@v0.1.0"
62 "github.com/mholt/caddy-l4@v0.1.0"
63 ];
64 hash = "sha256-ojF6LM0mYn4B41qtQP3KQ/5j07DAb8OEec5I8F65H88=";
65 };
66 info.host.server = true;
67 };
68
69 sops = {
70 defaultSopsFile = ../secrets/lily.yaml;
71 defaultSopsFormat = "yaml";
72 age.keyFile = "/data/keys.txt";
73 };
74
75 networking.hostName = "lily";
76 services.thermald.enable = true;
77
78 nix.settings = {
79 cores = 6;
80 max-jobs = 2;
81 };
82
83 # This option defines the first version of NixOS you have installed on this particular machine,
84 # and is used to maintain compatibility with application data (e.g. databases) created on older
85 # NixOS versions. Most users should NEVER change this value after the initial install, for any
86 # reason, even if you've upgraded your system to a new NixOS release. This value does NOT affect
87 # the Nixpkgs version your packages and OS are pulled from, so changing it will NOT upgrade your
88 # system. This value being lower than the current NixOS release does NOT mean your system is out
89 # of date, out of support, or vulnerable. Do NOT change this value unless you have manually
90 # inspected all the changes it would make to your configuration, and migrated your data
91 # accordingly. For more information, see `man configuration.nix` or
92 # https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
93 system.stateVersion = "24.05"; # Did you read the comment?
94}