all repos — nixfiles @ a2be03c08c0f6abee661e0484a1c9f353b5e1681

System and user configuration, managed by nix and home-manager

system/hosts/smrk.nix (view raw)

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
{
  pkgs,
  ...
}:
# ../roles/chat.nix
let
  hostname = "smrk";
in
{
  imports = [
    ../roles/remote.nix
    ../roles/server.nix
    ../roles/vpsfree-manager.nix

    ../roles/auth-dns.nix
    ../roles/binary-cache.nix
    ../roles/calendar-anonymiser.nix
    ../roles/ci.nix
    ../roles/exit-node.nix
    ../roles/file-server.nix
    ../roles/go-vanity.nix
    ../roles/goatcounter.nix
    ../roles/reverse-proxy.nix
    ../roles/forgejo-runner.nix
    ../roles/git-server.nix
    ../roles/nix-remote-builder.nix
    ../roles/push-notifications.nix
    ../roles/readeck.nix
    ../roles/redis-website.nix
    ../roles/paperless.nix
    ../roles/searchix.nix
    ../roles/searchix-stable-container.nix
    ../roles/sso.nix
    ../roles/subdomain-redirector.nix
    ../roles/syncthing.nix
    ../roles/video-library.nix

    ../roles/opia/archive.nix
    ../roles/opia/auth.nix
    ../roles/opia/calendar.nix
    ../roles/opia/ci.nix
    ../roles/opia/wiki.nix
  ];
  system.stateVersion = "25.11";

  environment.systemPackages = with pkgs; [
    knot-dns
  ];

  networking.hostName = hostname;

  nix = {
    settings = {
      max-jobs = 2;
    };
  };

  services.searchix.settings.importer = {
    batchSize = 2000;
  };
  systemd.services.searchix.serviceConfig = {
    MemoryHigh = "25%";
    MemoryMax = "30%";
  };
  systemd.services."goaccess@searchix".serviceConfig = {
    MemoryHigh = "40%";
    MemoryMax = "50%";
  };
  systemd.services.laminar.serviceConfig = {
    MemoryHigh = "25%";
    MemoryMax = "30%";
  };
}