From 147aec1692acf550d16640757941b3ec5440c310 Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 20 Sep 2025 17:13:53 -0500 Subject: [PATCH] Create allowedHosts to let specific hosts through blocklist --- modules/system/security/blocklist/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/system/security/blocklist/default.nix b/modules/system/security/blocklist/default.nix index ee9b216e..e8334860 100644 --- a/modules/system/security/blocklist/default.nix +++ b/modules/system/security/blocklist/default.nix @@ -1,12 +1,18 @@ { config, lib, inputs, ... }: let - blocklist = builtins.readFile "${inputs.blocklist-hosts}/alternates/gambling-porn/hosts"; + allowedHosts = config.systemSettings.security.blocklist.allowedHosts; + hostsFileDeletions = builtins.genList (x: "0.0.0.0 " + (builtins.elemAt allowedHosts x)) (builtins.length allowedHosts); + blocklist = builtins.replaceStrings hostsFileDeletions (builtins.genList (x: "") (builtins.length hostsFileDeletions)) (builtins.readFile "${inputs.blocklist-hosts}/alternates/gambling-porn/hosts"); cfg = config.systemSettings.security.blocklist; in { options = { systemSettings.security.blocklist = { enable = lib.mkEnableOption "Enable basic host blocking for bad websites"; + allowedHosts = lib.mkOption { + description = "List of hosts to allow (remove from blocklist)"; + type = lib.types.listOf lib.types.str; + }; }; };