stevenblack-blocklist: split files into separate outputs
This commit is contained in:
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user