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/arr.nix
26 ../modules/services/caddy/atproto-did.nix
27 ../modules/services/caddy/bsky-sieve.nix
28 ../modules/services/caddy/cp-certs.nix
29 ../modules/services/caddy/jellyfin.nix
30 ../modules/services/caddy/mumble.nix
31 ../modules/services/caddy/nextcloud.nix
32 ../modules/services/caddy/pds.nix
33 ../modules/services/caddy/soju.nix
34 ../modules/services/caddy/tangled-knot.nix
35 ../modules/services/caddy/websites/org-biotabit.nix
36 ../modules/services/caddy/websites/org-butwho.nix
37 ../modules/services/caddy/websites/pink-lilac.nix
38 ../modules/services/caddy/websites/pink-yem-cobblemon.nix
39 ../modules/services/caddy/websites/pink-yem-link.nix
40 ../modules/services/caddy/websites/pink-yemou.nix
41
42 ../modules/services/minecraft
43 ../modules/services/minecraft/harpy-express.nix
44 ../modules/services/minecraft/yembina
45
46 ../modules/services/arr.nix
47 ../modules/services/jellyfin.nix
48 ../modules/services/murmur.nix
49 ../modules/services/nextcloud.nix
50 ../modules/services/openssh.nix
51 ../modules/services/pds.nix
52 ../modules/services/soju.nix
53 ../modules/services/tangled.nix
54 ];
55
56 cafe = {
57 caddy.package = {
58 plugins = [
59 "github.com/caddy-dns/porkbun@v0.3.1"
60 "github.com/mholt/caddy-events-exec@v0.1.0"
61 "github.com/mholt/caddy-l4@v0.1.0"
62 ];
63 hash = "sha256-H5YpAVeXhwQHeIBXEfcvwMld/CF5+3ObM47S1LnYj2M=";
64 };
65 info.host.server = true;
66 };
67
68 sops = {
69 defaultSopsFile = ../secrets/lily.yaml;
70 defaultSopsFormat = "yaml";
71 age.keyFile = "/data/keys.txt";
72 };
73
74 networking.hostName = "lily";
75 services.thermald.enable = true;
76
77 nix.settings = {
78 cores = 6;
79 max-jobs = 2;
80 };
81
82 # This option defines the first version of NixOS you have installed on this particular machine,
83 # and is used to maintain compatibility with application data (e.g. databases) created on older
84 # NixOS versions. Most users should NEVER change this value after the initial install, for any
85 # reason, even if you've upgraded your system to a new NixOS release. This value does NOT affect
86 # the Nixpkgs version your packages and OS are pulled from, so changing it will NOT upgrade your
87 # system. This value being lower than the current NixOS release does NOT mean your system is out
88 # of date, out of support, or vulnerable. Do NOT change this value unless you have manually
89 # inspected all the changes it would make to your configuration, and migrated your data
90 # accordingly. For more information, see `man configuration.nix` or
91 # https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
92 system.stateVersion = "24.05"; # Did you read the comment?
93}