{ config, lib, inputs, ... }: { options.sysconfig.opts.virtualization.pihole.enable = lib.options.mkOption { type = lib.types.bool; default = false; }; /*imports = [ "${inputs.nixpkgs-us}/nixos/modules/services/networking/pihole-ftl.nix" "${inputs.nixpkgs-us}/nixos/modules/services/web-apps/pihole-web.nix" "${inputs.nixpkgs-us}/nixos/modules/virtualisation/nixos-containers.nix" ];*/ /*disabledModules = [ "virtualisation/nixos-containers.nix" ];*/ config = lib.mkIf config.sysconfig.opts.virtualization.pihole.enable { /* sops.secrets."pihole/pass" = {}; sops.templates."pihole.env" = { content = '' WEBPASSWORD=${config.sops.placeholder."pihole/pass"} ''; path = "/ssd1/Pihole/.env"; }; */ containers.pihole = { autoStart = true; privateNetwork = true; hostAddress = "192.168.100.10"; localAddress = "192.168.100.28"; config = { imports = [ "${inputs.nixpkgs-us}/nixos/modules/services/networking/pihole-ftl.nix" "${inputs.nixpkgs-us}/nixos/modules/services/web-apps/pihole-web.nix" ]; services = let pkgs-us = import inputs.nixpkgs-us { system = "x86_64-linux"; }; in { pihole-web = { enable = true; package = pkgs-us.pihole-web; ports = [ "80r" ]; }; pihole-ftl = { enable = true; package = pkgs-us.pihole-ftl; openFirewallDNS = true; }; unbound = { enable = true; }; }; networking.firewall.allowedTCPPorts = [ 80 ]; system.stateVersion = "24.05"; }; }; }; }