mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 00:33:00 +00:00
firefox:
This commit is contained in:
parent
28797f148f
commit
d59329969d
10 changed files with 227 additions and 55 deletions
79
nixcfgs/flake.lock
generated
79
nixcfgs/flake.lock
generated
|
|
@ -137,6 +137,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"firefox-addons": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763254583,
|
||||||
|
"narHash": "sha256-qOCvJgLGKahIG9DWcLUMjadAR/0KZeEypIqw3ASj2sA=",
|
||||||
|
"owner": "petrkozorezov",
|
||||||
|
"repo": "firefox-addons-nix",
|
||||||
|
"rev": "7a779c26bd1e6caf1fe45f905253c41e5b03c2b7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "petrkozorezov",
|
||||||
|
"repo": "firefox-addons-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -213,6 +234,23 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731533236,
|
||||||
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "flake-utils",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -350,7 +388,7 @@
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs_7",
|
"nixpkgs": "nixpkgs_7",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"systems": "systems_2",
|
"systems": "systems_3",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -944,6 +982,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"betterfox-nix": "betterfox-nix",
|
"betterfox-nix": "betterfox-nix",
|
||||||
"caelestia-shell": "caelestia-shell",
|
"caelestia-shell": "caelestia-shell",
|
||||||
|
"firefox-addons": "firefox-addons",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"niri-flake": "niri-flake",
|
"niri-flake": "niri-flake",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
|
|
@ -953,7 +992,8 @@
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"plasma-manager": "plasma-manager",
|
"plasma-manager": "plasma-manager",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"xremap-flake": "xremap-flake"
|
"xremap-flake": "xremap-flake",
|
||||||
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
|
|
@ -992,6 +1032,21 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1689347949,
|
"lastModified": 1689347949,
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
|
@ -1145,6 +1200,26 @@
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"zen-browser": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1762827415,
|
||||||
|
"narHash": "sha256-YxPQbafcd09foVFn5yHggTZDbXsrtHVae+iwo2wGn0w=",
|
||||||
|
"owner": "youwen5",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"rev": "6e0ad935d9caad128d2c58b2a1ba31524c0fe7f1",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "youwen5",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,14 @@
|
||||||
xremap-flake.url = "github:xremap/nix-flake";
|
xremap-flake.url = "github:xremap/nix-flake";
|
||||||
# betterfox - preconfigured firefox user.js
|
# betterfox - preconfigured firefox user.js
|
||||||
betterfox-nix.url = "github:HeitorAugustoLN/betterfox-nix";
|
betterfox-nix.url = "github:HeitorAugustoLN/betterfox-nix";
|
||||||
|
firefox-addons = {
|
||||||
|
url = "github:petrkozorezov/firefox-addons-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
zen-browser = {
|
||||||
|
url = "github:youwen5/zen-browser-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
|
@ -53,13 +61,19 @@
|
||||||
niri-flake,
|
niri-flake,
|
||||||
xremap-flake,
|
xremap-flake,
|
||||||
betterfox-nix,
|
betterfox-nix,
|
||||||
|
firefox-addons,
|
||||||
|
zen-browser,
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
overlays = [
|
overlays = [
|
||||||
nur.overlays.default
|
nur.overlays.default
|
||||||
|
firefox-addons.overlays.default
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
caelestia-shell = caelestia-shell.packages.x86_64-linux.caelestia-shell;
|
caelestia-shell = caelestia-shell.packages.x86_64-linux.caelestia-shell;
|
||||||
})
|
})
|
||||||
|
(final: pref: {
|
||||||
|
zen-browser = zen-browser.packages.x86_64-linux.zen-browser;
|
||||||
|
})
|
||||||
];
|
];
|
||||||
forSystem = system:
|
forSystem = system:
|
||||||
import nixpkgs {
|
import nixpkgs {
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,13 @@
|
||||||
{
|
{
|
||||||
name = "IM Navigator - Alt-Up/Down";
|
name = "IM Navigator - Alt-Up/Down";
|
||||||
application = {
|
application = {
|
||||||
only = ["org.telegram.desktop" "telegram-desktop" "wechat"];
|
only = [
|
||||||
|
"org.telegram.desktop"
|
||||||
|
"telegram-desktop"
|
||||||
|
"io.github.kukuruzka165.materialgram"
|
||||||
|
"materialgram"
|
||||||
|
"wechat"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
remap = {
|
remap = {
|
||||||
"M-j" = "M-down";
|
"M-j" = "M-down";
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
languagePacks = ["zh-CN"];
|
languagePacks = ["zh-CN"];
|
||||||
|
|
||||||
preferences = {
|
preferences = {
|
||||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
# "widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||||
"widget.use-xdg-desktop-portal.mime-handler" = 1;
|
# "widget.use-xdg-desktop-portal.mime-handler" = 1;
|
||||||
"screenshots.browser.component.enabled" = false;
|
"screenshots.browser.component.enabled" = false;
|
||||||
"toolkit.telemetry.enabled" = false;
|
"toolkit.telemetry.enabled" = false;
|
||||||
"toolkit.telemetry.archive.enabled" = false;
|
"toolkit.telemetry.archive.enabled" = false;
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
rose-pine-cursor
|
rose-pine-cursor
|
||||||
|
|
||||||
pcloud
|
pcloud
|
||||||
telegram-desktop
|
materialgram
|
||||||
steam
|
steam
|
||||||
signal-desktop
|
signal-desktop
|
||||||
# Use Wayland for Jetbrains
|
# Use Wayland for Jetbrains
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
{pkgs, ...}: {
|
{...}: {
|
||||||
programs.chromium = {
|
programs.chromium = {
|
||||||
enable = true;
|
enable = true;
|
||||||
commandLineArgs = [
|
commandLineArgs = [
|
||||||
"--enable-wayland-ime"
|
# Done by NIXOS_OZONE_WL=1
|
||||||
"--enable-features=WaylandWindowDecorations"
|
# "--enable-wayland-ime"
|
||||||
"--enable-features=UseOzonePlatform"
|
# "--enable-features=WaylandWindowDecorations"
|
||||||
"--ozone-platform-hint=auto"
|
# "--enable-features=UseOzonePlatform"
|
||||||
|
# "--ozone-platform-hint=auto"
|
||||||
|
# See: https://wiki.archlinux.org/title/Chromium#Touchpad_gestures_for_navigation
|
||||||
|
"--enable-features=TouchpadOverscrollHistoryNavigation"
|
||||||
];
|
];
|
||||||
extensions = [
|
extensions = [
|
||||||
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
|
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,75 @@
|
||||||
{pkgs, ...}: let
|
{pkgs, ...}: let
|
||||||
addons = pkgs.nur.repos.rycee.firefox-addons;
|
addons = pkgs.firefox-addons;
|
||||||
in {
|
in {
|
||||||
# imports = [./lib.nix]; # TODO: Declarative extension permissions
|
# imports = [./lib.nix]; # TODO: Declarative extension permissions
|
||||||
programs.firefox.profiles.default = {
|
programs.firefox.profiles.default = {
|
||||||
extensions.packages = with addons; [
|
extensions.packages = with addons; [
|
||||||
ublock-origin
|
# Keybindings & Gestures & User Scripts
|
||||||
|
foxy-gestures
|
||||||
|
shortkeys
|
||||||
|
surfingkeys_ff
|
||||||
|
violentmonkey
|
||||||
|
|
||||||
|
# Theming
|
||||||
|
material-icons-for-github
|
||||||
|
|
||||||
|
# Browsing Enhancement
|
||||||
darkreader
|
darkreader
|
||||||
|
bionic-reader
|
||||||
|
ublock-origin
|
||||||
|
refined-github-
|
||||||
|
global-speed
|
||||||
|
buster-captcha-solver
|
||||||
|
sidebery
|
||||||
|
|
||||||
|
# Cookies
|
||||||
|
cookie-quick-manager
|
||||||
|
cookie-autodelete
|
||||||
|
consent-o-matic # istilldontcareaboutcookies alt
|
||||||
|
|
||||||
|
# Privacy
|
||||||
|
google-container
|
||||||
|
facebook-container
|
||||||
|
|
||||||
|
### Site Specific
|
||||||
|
# Steam
|
||||||
|
steam-database
|
||||||
|
protondb-for-steam
|
||||||
|
# YouTube
|
||||||
|
return-youtube-dislikes
|
||||||
|
sponsorblock
|
||||||
|
# Bilibili
|
||||||
|
bilisponsorblock
|
||||||
|
|
||||||
|
# Misc
|
||||||
rsshub-radar
|
rsshub-radar
|
||||||
proton-pass
|
proton-pass
|
||||||
proton-vpn
|
proton-vpn
|
||||||
surfingkeys
|
styl-us
|
||||||
web-archives
|
kiss-translator
|
||||||
tampermonkey
|
|
||||||
stylus
|
# Disabled
|
||||||
foxy-gestures
|
# view-page-archive # Web Archives
|
||||||
google-container
|
# single-file
|
||||||
refined-github
|
# downthemall
|
||||||
downthemall
|
|
||||||
material-icons-for-github
|
# Install globally by policies: see modules/nixos/programs/firefox.nix
|
||||||
single-file
|
# clearurls
|
||||||
return-youtube-dislikes
|
# multi-account-container
|
||||||
steam-database
|
|
||||||
bilisponsorblock
|
|
||||||
sponsorblock
|
|
||||||
buster-captcha-solver
|
|
||||||
protondb-for-steam
|
|
||||||
i-dont-care-about-cookies
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
programs.firefox = {
|
||||||
|
policies = {
|
||||||
|
ExtensionSettings = [
|
||||||
|
{
|
||||||
|
name = "zotero@chnm.gmu.edu";
|
||||||
|
value = {
|
||||||
|
install_url = "https://download.zotero.org/connector/firefox/release/Zotero_Connector-5.0.189.xpi";
|
||||||
|
installation_mode = "allow";
|
||||||
|
private_browsing = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,16 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles.default = {
|
profiles.default = {
|
||||||
settings = {
|
settings = {
|
||||||
|
"browser.toolbars.bookmarks.visibility" = "never";
|
||||||
"extensions.update.enabled" = true;
|
"extensions.update.enabled" = true;
|
||||||
"sidebar.expandOnHover" = true;
|
"sidebar.expandOnHover" = true;
|
||||||
"sidebar.visibility" = "expand-on-hover";
|
"sidebar.visibility" = "expand-on-hover";
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||||
|
"toolkit.tabbox.switchByScrolling" = true;
|
||||||
|
"browser.uidensity" = 1;
|
||||||
|
# Disable Menu when pressing <Alt>
|
||||||
|
"ui.key.menuAccessKey" = -1;
|
||||||
|
"ui.key.menuAccessKeyFocuses" = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,30 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
a = pkgs.firefox-addons;
|
||||||
|
in {
|
||||||
|
home.file.".floorp/profiles.ini".force = lib.mkForce true;
|
||||||
|
home.file.".floorp/js0ny/search.json.mozlz4".force = lib.mkForce true;
|
||||||
programs.floorp = {
|
programs.floorp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.floorp;
|
|
||||||
policies = {
|
policies = {
|
||||||
DisableTelemetry = true;
|
DisableTelemetry = true;
|
||||||
BlockAboutConfig = false;
|
BlockAboutConfig = false;
|
||||||
DisableFirefoxScreenshots = true;
|
DisableFirefoxScreenshots = true;
|
||||||
DontCheckDefaultBrowser = true;
|
DontCheckDefaultBrowser = true;
|
||||||
|
|
||||||
|
Preferences = {
|
||||||
|
};
|
||||||
|
|
||||||
ExtensionSettings = with builtins; let
|
ExtensionSettings = with builtins; let
|
||||||
extension = short: uuid: {
|
extension = short: uuid: {
|
||||||
name = uuid;
|
name = uuid;
|
||||||
value = {
|
value = {
|
||||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi";
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi";
|
||||||
installation_mode = "force_installed";
|
updates_disabled = true;
|
||||||
|
private_browsing = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
|
|
@ -54,7 +65,7 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
profiles.default = {
|
profiles.js0ny = {
|
||||||
search.engines = {
|
search.engines = {
|
||||||
archwiki = {
|
archwiki = {
|
||||||
name = "ArchWiki";
|
name = "ArchWiki";
|
||||||
|
|
@ -113,27 +124,36 @@
|
||||||
definedAliases = ["@gh"];
|
definedAliases = ["@gh"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
extensions = {
|
||||||
darkreader
|
packages = with pkgs.firefox-addons; [
|
||||||
rsshub-radar
|
ublock-origin
|
||||||
proton-pass
|
darkreader
|
||||||
surfingkeys
|
rsshub-radar
|
||||||
web-archives
|
proton-pass
|
||||||
# immersive-translate
|
proton-vpn
|
||||||
tampermonkey
|
surfingkeys_ff
|
||||||
stylus
|
view-page-archive # Web Archives
|
||||||
foxy-gestures
|
tampermonkey
|
||||||
google-container
|
styl-us
|
||||||
refined-github
|
foxy-gestures
|
||||||
downthemall
|
google-container
|
||||||
material-icons-for-github
|
refined-github-
|
||||||
single-file
|
downthemall
|
||||||
return-youtube-dislikes
|
material-icons-for-github
|
||||||
steam-database
|
single-file
|
||||||
bilisponsorblock
|
return-youtube-dislikes
|
||||||
sponsorblock
|
steam-database
|
||||||
buster-captcha-solver
|
bilisponsorblock
|
||||||
];
|
sponsorblock
|
||||||
|
buster-captcha-solver
|
||||||
|
protondb-for-steam
|
||||||
|
i-dont-care-about-cookies
|
||||||
|
global-speed
|
||||||
|
kiss-translator
|
||||||
|
# sidebery
|
||||||
|
];
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
{...}: let
|
{...}: let
|
||||||
|
# Why using nvim gui:
|
||||||
|
# * when `rga-fzf`: nvim wrapper failed to launch
|
||||||
|
# * nvim wrapper reports error on parsing filename with spaces
|
||||||
gvim = "nvim-qt.desktop";
|
gvim = "nvim-qt.desktop";
|
||||||
in {
|
in {
|
||||||
xdg.configFile."mimeapps.list".force = true;
|
xdg.configFile."mimeapps.list".force = true;
|
||||||
|
|
@ -14,6 +17,7 @@ in {
|
||||||
# Source Code - C
|
# Source Code - C
|
||||||
"text/x-csrc" = gvim; # .c
|
"text/x-csrc" = gvim; # .c
|
||||||
"text/x-chdr" = gvim; # .h
|
"text/x-chdr" = gvim; # .h
|
||||||
|
"text/javascript" = gvim;
|
||||||
# CSV
|
# CSV
|
||||||
"text/csv" = gvim;
|
"text/csv" = gvim;
|
||||||
# File Explorer
|
# File Explorer
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue