auto-update-daily-20260202
  1{
  2  globals,
  3  libx,
  4  pkgs,
  5  ...
  6}:
  7{
  8  imports = [
  9    ../common/services/prometheus-exporters-node.nix
 10    ../common/services/containers.nix
 11    ../common/services/docker.nix
 12    ../common/services/libvirt.nix
 13  ];
 14
 15  age.secrets."aria2RPCSecret" = {
 16    file = ../../secrets/shikoku/aria2rpcsecret.age;
 17    mode = "444";
 18    owner = "aria2";
 19    group = "aria2";
 20  };
 21  nixpkgs.config.permittedInsecurePackages = [
 22    "dotnet-sdk-6.0.428"
 23    "aspnetcore-runtime-6.0.36"
 24  ];
 25
 26  # TODO make it an option ? (otherwise I'll add it for all)
 27  users.users.vincent.linger = true;
 28
 29  services = {
 30    wireguard = {
 31      enable = true;
 32      ips = libx.wg-ips globals.machines.shikoku.net.vpn.ips;
 33      endpoint = "${globals.net.vpn.endpoint}";
 34      endpointPublicKey = "${globals.machines.kerkouane.net.vpn.pubkey}";
 35    };
 36    aria2 = {
 37      enable = true;
 38      openPorts = true;
 39      # extraArguments = "--max-concurrent-downloads=20";
 40      settings = {
 41        max-concurrent-downloads = 20;
 42      };
 43      downloadDir = "/data/downloads";
 44      rpcSecretFile = "${pkgs.writeText "aria" "aria2rpc\n"}";
 45    };
 46    bazarr = {
 47      enable = true;
 48      # Use reverse proxy instead
 49      openFirewall = true;
 50    };
 51    radarr = {
 52      enable = true;
 53      # Use reverse proxy instead
 54      openFirewall = true;
 55    };
 56    sonarr = {
 57      enable = true;
 58      # Use reverse proxy instead
 59      openFirewall = true;
 60    };
 61    prowlarr = {
 62      enable = true;
 63      # Use reverse proxy instead
 64      openFirewall = true;
 65    };
 66    readarr = {
 67      enable = true;
 68      # Use reverse proxy instead
 69      openFirewall = true;
 70    };
 71    lidarr = {
 72      enable = true;
 73      # Use reverse proxy instead
 74      openFirewall = true;
 75    };
 76    smartd = {
 77      enable = true;
 78      devices = [ { device = "/dev/nvme0n1"; } ];
 79    };
 80    ollama = {
 81      enable = true;
 82      package = pkgs.ollama.override {
 83        config.cudaSupport = true;
 84        config.rocmSupport = false;
 85      };
 86      acceleration = "cuda"; # no nivida :D
 87    };
 88  };
 89
 90  # Move this to a "builder" role, or maybe I don't need this anymore ?
 91  users.extraUsers.builder = {
 92    isNormalUser = true;
 93    uid = 1018;
 94    extraGroups = [ ];
 95    openssh.authorizedKeys.keys = [ (builtins.readFile ../../secrets/builder.pub) ];
 96  };
 97  nix.settings.trusted-users = [
 98    "root"
 99    "vincent"
100    "builder"
101  ];
102}