lass: add firefoxPatched + firefoxPlugins
This commit is contained in:
parent
895971f214
commit
0d806f61d2
58
lass/2configs/firefoxPatched.nix
Normal file
58
lass/2configs/firefoxPatched.nix
Normal file
@ -0,0 +1,58 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
lpkgs = import ../5pkgs { inherit pkgs; };
|
||||
|
||||
inherit (lib)
|
||||
concatMapStrings
|
||||
;
|
||||
|
||||
plugins = with lpkgs.firefoxPlugins; [
|
||||
noscript
|
||||
ublock
|
||||
vimperator
|
||||
];
|
||||
|
||||
copyXpi = plugin:
|
||||
"cp ${plugin}/*.xpi $out/usr/lib/firefox-*/browser/extensions/";
|
||||
|
||||
preferences = pkgs.writeText "autoload.js" ''
|
||||
pref('general.config.filename', 'firefox.cfg');
|
||||
pref('general.config.obscure_value', 0);
|
||||
'';
|
||||
|
||||
config = pkgs.writeText "firefox.cfg" ''
|
||||
//
|
||||
lockPref("app.update.enabled", false);
|
||||
lockPref("extensions.update.enabled", false);
|
||||
lockPref("autoadmin.global_config_url", "");
|
||||
lockPref("extensions.checkUpdateSecurity", false);
|
||||
lockPref("services.sync.enabled", false);
|
||||
lockPref("browser.shell.checkDefaultBrowser", false);
|
||||
lockPref("layout.spellcheckDefault", 0);
|
||||
lockPref("app.update.auto", false);
|
||||
lockPref("browser.newtabpage.enabled", false);
|
||||
lockPref("noscript.firstRunRedirection", false);
|
||||
lockPref("noscript.hoverUI", false);
|
||||
lockPref("noscript.notify", false);
|
||||
defaultPref("extensions.newAddons", false);
|
||||
defaultPref("extensions.autoDisableScopes", 0);
|
||||
defaultPref("plugin.scan.plid.all", false);
|
||||
'';
|
||||
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
(pkgs.lib.overrideDerivation pkgs.firefox-bin (original : {
|
||||
installPhase = ''
|
||||
${original.installPhase}
|
||||
find $out/usr/lib
|
||||
${concatMapStrings copyXpi plugins}
|
||||
cd $out/usr/lib/firefox-*/
|
||||
mkdir -p browser/defaults/preferences
|
||||
cp ${preferences} browser/defaults/preferences/autoload.js
|
||||
cp ${config} ./firefox.cfg
|
||||
'';
|
||||
}))
|
||||
];
|
||||
}
|
||||
|
@ -8,4 +8,9 @@ rec {
|
||||
bitlbee-dev = callPackage ./bitlbee-dev.nix {};
|
||||
bitlbee-steam = callPackage ./bitlbee-steam.nix { inherit bitlbee-dev; };
|
||||
bitlbee = callPackage ./bitlbee.nix { inherit bitlbee-steam; };
|
||||
firefoxPlugins = {
|
||||
noscript = callPackage ./firefoxPlugins/noscript.nix {};
|
||||
ublock = callPackage ./firefoxPlugins/ublock.nix {};
|
||||
vimperator = callPackage ./firefoxPlugins/vimperator.nix {};
|
||||
};
|
||||
}
|
||||
|
28
lass/5pkgs/firefoxPlugins/noscript.nix
Normal file
28
lass/5pkgs/firefoxPlugins/noscript.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ fetchgit, stdenv, bash, zip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "noscript";
|
||||
id = "{73a6fe31-595d-460b-a920-fcc0f8843232}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/avian2/noscript";
|
||||
rev = "c900a079793868bb080ab1e23522d29dc121b4c6";
|
||||
sha256 = "1y06gh5a622yrsx0h7v92qnvdi97i54ln09zc1lvk8x430z5bdly";
|
||||
};
|
||||
|
||||
buildInputs = [ zip ];
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace "version.sh" \
|
||||
--replace "/bin/bash" "${bash}/bin/bash"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
./makexpi.sh
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/
|
||||
cp *.xpi $out/${id}.xpi
|
||||
'';
|
||||
}
|
1
lass/5pkgs/firefoxPlugins/result
Symbolic link
1
lass/5pkgs/firefoxPlugins/result
Symbolic link
@ -0,0 +1 @@
|
||||
/nix/store/gxr152p1bbgqcd839b0rckdd1h5cr886-vimperator
|
31
lass/5pkgs/firefoxPlugins/ublock.nix
Normal file
31
lass/5pkgs/firefoxPlugins/ublock.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ fetchgit, stdenv, bash, python, zip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ublock";
|
||||
id = "{2b10c1c8-a11f-4bad-fe9c-1c11e82cac42}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/chrisaljoudi/uBlock";
|
||||
rev = "a70a50052a7914cbf86d46a725812b98434d8c70";
|
||||
sha256 = "1qfzy79f8x01i33x0m95k833z1jgxjwb8wvlr6fj6id1kxfvzh77";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
zip
|
||||
python
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace "tools/make-firefox.sh" \
|
||||
--replace "/bin/bash" "${bash}/bin/bash"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
tools/make-firefox.sh all
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/
|
||||
cp dist/build/uBlock.firefox.xpi $out/${id}.xpi
|
||||
'';
|
||||
}
|
19
lass/5pkgs/firefoxPlugins/vimperator.nix
Normal file
19
lass/5pkgs/firefoxPlugins/vimperator.nix
Normal file
@ -0,0 +1,19 @@
|
||||
{ fetchgit, stdenv, zip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "vimperator";
|
||||
id = "vimperator@mozdev.org";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/vimperator/vimperator-labs.git";
|
||||
rev = "ba7d8e72516fdc22246748c8183d7bc90f6fb073";
|
||||
sha256 = "0drz67qm5hxxzw699rswlpjkg4p2lfipx119pk1nyixrqblcsvq2";
|
||||
};
|
||||
|
||||
buildInputs = [ zip ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/
|
||||
cp downloads/vimperator*.xpi $out/${id}.xpi
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue
Block a user