106 lines
2.8 KiB
Nix
Executable file
106 lines
2.8 KiB
Nix
Executable file
{ 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
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|