mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 15:11:34 +01:00
Wrap firefox
This commit is contained in:
parent
f3c934467f
commit
f34f95efeb
5 changed files with 129 additions and 1 deletions
58
flake.lock
generated
58
flake.lock
generated
|
|
@ -1,5 +1,21 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"betterfox": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1716574980,
|
||||||
|
"narHash": "sha256-i6fxW6hOOUWjWJ7lhX5qjEh9tyE2JyD6vwPEsfov7fY=",
|
||||||
|
"owner": "yokoffing",
|
||||||
|
"repo": "Betterfox",
|
||||||
|
"rev": "9756922ee951f9c0dd09f1e7037b93089a661963",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "yokoffing",
|
||||||
|
"repo": "Betterfox",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"disko": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -20,6 +36,29 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"firefox-addons": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"dir": "pkgs/firefox-addons",
|
||||||
|
"lastModified": 1717098199,
|
||||||
|
"narHash": "sha256-yYUDGNSjB9F2Nz6/sU7J10Ts5fGXPmRLJam54WbMVsM=",
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nur-expressions",
|
||||||
|
"rev": "968544b6ed405daaf1469de42fd00e4f53ab255e",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"dir": "pkgs/firefox-addons",
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nur-expressions",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -37,6 +76,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1629284811,
|
||||||
|
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
|
|
@ -97,7 +151,7 @@
|
||||||
"nix-vscode-extensions": {
|
"nix-vscode-extensions": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
|
|
@ -150,7 +204,9 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"betterfox": "betterfox",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
|
"firefox-addons": "firefox-addons",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nix-vscode-extensions": "nix-vscode-extensions",
|
"nix-vscode-extensions": "nix-vscode-extensions",
|
||||||
|
|
|
||||||
10
flake.nix
10
flake.nix
|
|
@ -31,6 +31,16 @@
|
||||||
url = "github:nix-community/nix-vscode-extensions";
|
url = "github:nix-community/nix-vscode-extensions";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
firefox-addons = {
|
||||||
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
betterfox = {
|
||||||
|
url = "github:yokoffing/Betterfox";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|
|
||||||
10
wrappers/firefox/default.nix
Normal file
10
wrappers/firefox/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ assembleWrapper, moduleArgs, ... }:
|
||||||
|
let
|
||||||
|
inherit (moduleArgs) pkgs;
|
||||||
|
in
|
||||||
|
assembleWrapper {
|
||||||
|
basePackage = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||||
|
extraPolicies.ExtensionSettings = import ./extensions.nix { inherit moduleArgs; };
|
||||||
|
extraPrefs = import ./preferences.nix { inherit moduleArgs; };
|
||||||
|
};
|
||||||
|
}
|
||||||
26
wrappers/firefox/extensions.nix
Normal file
26
wrappers/firefox/extensions.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ moduleArgs, ... }:
|
||||||
|
let
|
||||||
|
inherit (moduleArgs) lib inputs;
|
||||||
|
|
||||||
|
extension = shortId: uuid: {
|
||||||
|
name = uuid;
|
||||||
|
value = {
|
||||||
|
install_url = "file:///${
|
||||||
|
inputs.firefox-addons.packages.x86_64-linux.${shortId}
|
||||||
|
}/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/${uuid}.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
default_area = "menupanel";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"*".installation_mode = "blocked";
|
||||||
|
}
|
||||||
|
// lib.listToAttrs [
|
||||||
|
(extension "dictionary-german" "de-DE@dictionaries.addons.mozilla.org")
|
||||||
|
(extension "ublock-origin" "uBlock0@raymondhill.net")
|
||||||
|
(extension "bitwarden" "{446900e4-71c2-419f-a6a7-df9c091e268b}")
|
||||||
|
(extension "return-youtube-dislikes" "{762f9885-5a13-4abd-9c77-433dcd38b8fd}")
|
||||||
|
(extension "sponsorblock" "sponsorBlocker@ajay.app")
|
||||||
|
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
|
||||||
|
]
|
||||||
26
wrappers/firefox/preferences.nix
Normal file
26
wrappers/firefox/preferences.nix
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{ moduleArgs, ... }:
|
||||||
|
let
|
||||||
|
inherit (moduleArgs) lib inputs;
|
||||||
|
|
||||||
|
escapedUiState =
|
||||||
|
builtins.replaceStrings [ ''"'' ] [ ''\"'' ]
|
||||||
|
''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","sponsorblocker_ajay_app-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","ublock0_raymondhill_net-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","customizableui-special-spring1","urlbar-container","customizableui-special-spring2","save-to-pocket-button","downloads-button","fxa-toolbar-menu-button","unified-extensions-button","sidebar-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["firefox-view-button","tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"]},"seen":["developer-button","_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action","_74145f27-f039-47ce-a470-a662b129930a_-browser-action","sponsorblocker_ajay_app-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","ublock0_raymondhill_net-browser-action"],"dirtyAreaCache":["nav-bar","unified-extensions-area","PersonalToolbar","toolbar-menubar","TabsToolbar"],"currentVersion":20,"newElementCount":4}'';
|
||||||
|
in
|
||||||
|
lib.concatLines [
|
||||||
|
(builtins.replaceStrings [ "user_pref" ] [ "pref" ] (
|
||||||
|
builtins.readFile "${inputs.betterfox}/user.js"
|
||||||
|
))
|
||||||
|
''
|
||||||
|
pref("intl.accept_languages", "en-us,en,de-de,de");
|
||||||
|
pref("browser.uiCustomization.state", "${escapedUiState}")
|
||||||
|
pref("sidebar.position_start", false);
|
||||||
|
pref("browser.toolbars.bookmarks.visibility", "always");
|
||||||
|
pref("browser.bookmarks.restore_default_bookmarks", false);
|
||||||
|
pref("browser.bookmarks.file", "");
|
||||||
|
pref("media.videocontrols.picture-in-picture.video-toggle.enabled", false);
|
||||||
|
pref("general.autoScroll", true);
|
||||||
|
pref("middlemouse.paste", false);
|
||||||
|
pref("signon.rememberSignons", false);
|
||||||
|
pref("extensions.formautofill.creditCards.enabled", false);
|
||||||
|
''
|
||||||
|
]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue