From 24e4ca08643099dfaa787edcac1c55c5ca251a6e Mon Sep 17 00:00:00 2001 From: Ali Rizvi Date: Wed, 26 Jun 2024 17:36:54 -0400 Subject: [PATCH] stevenblack-blocklist: split files into separate outputs --- .../st/stevenblack-blocklist/package.nix | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/st/stevenblack-blocklist/package.nix b/pkgs/by-name/st/stevenblack-blocklist/package.nix index 45496f67f8a6..eb77d5936486 100644 --- a/pkgs/by-name/st/stevenblack-blocklist/package.nix +++ b/pkgs/by-name/st/stevenblack-blocklist/package.nix @@ -11,10 +11,51 @@ stdenvNoCC.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "StevenBlack"; repo = "hosts"; - rev = finalAttrs.version; + rev = "refs/tags/${finalAttrs.version}"; hash = "sha256-tahf6mdtmZofwMZfMsuDAqCR/V1qZt6vV+o6t4YTKG0="; }; + outputs = [ + # default src fallback + "out" + + # base hosts file + "ads" + + # extensions only + "fakenews" + "gambling" + "porn" + "social" + ]; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out $ads $fakenews $gambling $porn $social + + # out + find alternates -type f -not -name "hosts" -exec rm {} + + cp -r alternates $out + install -Dm644 hosts $out + + # ads + install -Dm644 hosts $ads + + # extensions + install -Dm644 alternates/fakenews-only/hosts $fakenews + install -Dm644 alternates/gambling-only/hosts $gambling + install -Dm644 alternates/porn-only/hosts $porn + install -Dm644 alternates/social-only/hosts $social + + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Unified hosts file with base extensions"; homepage = "https://github.com/StevenBlack/hosts";