{ self, ... }: { modulesPath, pkgs, config, lib, ... }: { imports = [ (modulesPath + "/virtualisation/lxc-container.nix") ../../users/root ../../users/erwin ./searxng.nix # ./backup.nix ]; eboskma = { users.erwin = { enable = true; server = true; }; nix-common = { enable = true; remote-builders = true; }; rust-motd.enable = true; tailscale.enable = true; }; boot = { isContainer = true; }; time.timeZone = "Europe/Amsterdam"; system.configurationRevision = self.inputs.nixpkgs.lib.mkIf (self ? rev) self.rev; networking = { hostName = "search"; useDHCP = false; useHostResolvConf = false; networkmanager.enable = false; useNetworkd = true; nftables.enable = true; firewall.trustedInterfaces = [ "tailscale0" ]; }; systemd = { services.logrotate-checkconf.enable = false; network = { enable = true; wait-online.anyInterface = true; networks = { "40-eth0" = { matchConfig = { Name = "eth0"; }; networkConfig = { Address = "10.0.0.214/24"; Gateway = "10.0.0.1"; DNS = "10.0.0.206"; DHCP = "no"; }; }; }; }; }; services.caddy = { enable = true; package = pkgs.caddy.withPlugins { plugins = [ "github.com/caddy-dns/cloudflare@89f16b99c18ef49c8bb470a82f895bce01cbaece" ]; hash = "sha256-Aqu2st8blQr/Ekia2KrH1AP/2BVZIN4jOJpdLc1Rr4g="; }; virtualHosts = { "search.datarift.nl" = { extraConfig = '' reverse_proxy 127.0.0.1:${config.services.searx.settings.server.port or "8888"} tls { dns cloudflare {env.CF_API_TOKEN} resolvers 1.1.1.1 } ''; }; }; }; systemd.services.caddy.serviceConfig.EnvironmentFile = [ config.sops.secrets.caddy-env.path ]; security = { sudo-rs = { enable = true; execWheelOnly = true; wheelNeedsPassword = false; }; sudo.enable = false; }; sops.defaultSopsFile = ./secrets.yaml; sops.secrets = { caddy-env = { }; searxng-env = { }; search-backup-ssh-key = { }; search-backup-pass = { }; }; system.stateVersion = "25.05"; }