Add firefox
This commit is contained in:
parent
2f7a523071
commit
d45c45eba4
11 changed files with 935 additions and 5 deletions
106
modules/user/modules/firefox/default.nix
Executable file
106
modules/user/modules/firefox/default.nix
Executable file
|
|
@ -0,0 +1,106 @@
|
|||
{ lib, pkgs, ... }@inputs:
|
||||
let
|
||||
inherit (import ./prefgroups.nix inputs) modules prefgroups;
|
||||
|
||||
extra-addons = let
|
||||
buildFirefoxXpiAddon = lib.makeOverridable ({
|
||||
stdenv ? pkgs.stdenv,
|
||||
fetchurl ? pkgs.fetchurl,
|
||||
pname,
|
||||
version,
|
||||
addonId,
|
||||
url,
|
||||
sha256,
|
||||
...
|
||||
}: stdenv.mkDerivation {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl { inherit url sha256; };
|
||||
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = true;
|
||||
|
||||
buildCommand = ''
|
||||
dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
||||
mkdir -p "$dst"
|
||||
install -v -m644 "$src" "$dst/${addonId}.xpi"
|
||||
'';
|
||||
});
|
||||
in {
|
||||
github-reposize = buildFirefoxXpiAddon {
|
||||
pname = "github-reposize";
|
||||
version = "1.7.0";
|
||||
addonId = "github-repo-size@mattelrah.com";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3854469/github_repo_size-1.7.0.xpi";
|
||||
sha256 = "2zGY12esYusaw2IzXM+1kP0B/0Urxu0yj7xXlDlutto=";
|
||||
};
|
||||
vencord = buildFirefoxXpiAddon {
|
||||
pname = "vencord";
|
||||
version = "1.2.7";
|
||||
addonId = "vencord-firefox@vendicated.dev";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4123132/vencord_web-1.2.7.xpi";
|
||||
sha256 = "A/XKdT0EuDHsQ7mcK9hsXAoAJYUt4Uvp/rtCf/9dAS0=";
|
||||
};
|
||||
};
|
||||
in {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
package = pkgs.firefox.overrideAttrs (pkg: let
|
||||
imEntry = pkg.desktopItem.override (entry: {
|
||||
name = "discord-firefox";
|
||||
desktopName = "IMs (Firefox)";
|
||||
exec = "${entry.exec} -no-remote -P Im";
|
||||
mimeTypes = [];
|
||||
});
|
||||
in {
|
||||
buildCommand = ''
|
||||
${pkg.buildCommand}
|
||||
cp ${imEntry}/share/applications/* $out/share/applications
|
||||
'';
|
||||
});
|
||||
|
||||
profiles = {
|
||||
base = {
|
||||
id = 1;
|
||||
name = "BaseFF";
|
||||
userChrome = builtins.readFile ./sideberry_chrome.css;
|
||||
};
|
||||
default = {
|
||||
id = 0;
|
||||
name = "Default";
|
||||
userChrome = ''
|
||||
${builtins.readFile ./sideberry_chrome.css}
|
||||
${builtins.readFile ./sideberry_hide_ext_button.css}
|
||||
'';
|
||||
settings = with modules; {}
|
||||
// base
|
||||
// minor-1
|
||||
// annoying;
|
||||
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; with extra-addons; [
|
||||
bitwarden
|
||||
darkreader
|
||||
github-reposize
|
||||
sidebery
|
||||
simplelogin
|
||||
sponsorblock
|
||||
ublock-origin
|
||||
umatrix
|
||||
];
|
||||
};
|
||||
im = {
|
||||
id = 2;
|
||||
name = "Im";
|
||||
userChrome = builtins.readFile ./inline_tabs_chrome.css;
|
||||
settings = modules.base
|
||||
// prefgroups.misc.restore-pages;
|
||||
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; with extra-addons; [
|
||||
ublock-origin
|
||||
vencord
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue