This commit is contained in:
js0ny 2025-11-16 12:22:14 +00:00
parent 28797f148f
commit d59329969d
10 changed files with 227 additions and 55 deletions

View file

@ -27,7 +27,7 @@
rose-pine-cursor
pcloud
telegram-desktop
materialgram
steam
signal-desktop
# Use Wayland for Jetbrains

View file

@ -1,11 +1,14 @@
{pkgs, ...}: {
{...}: {
programs.chromium = {
enable = true;
commandLineArgs = [
"--enable-wayland-ime"
"--enable-features=WaylandWindowDecorations"
"--enable-features=UseOzonePlatform"
"--ozone-platform-hint=auto"
# Done by NIXOS_OZONE_WL=1
# "--enable-wayland-ime"
# "--enable-features=WaylandWindowDecorations"
# "--enable-features=UseOzonePlatform"
# "--ozone-platform-hint=auto"
# See: https://wiki.archlinux.org/title/Chromium#Touchpad_gestures_for_navigation
"--enable-features=TouchpadOverscrollHistoryNavigation"
];
extensions = [
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin

View file

@ -1,31 +1,75 @@
{pkgs, ...}: let
addons = pkgs.nur.repos.rycee.firefox-addons;
addons = pkgs.firefox-addons;
in {
# imports = [./lib.nix]; # TODO: Declarative extension permissions
programs.firefox.profiles.default = {
extensions.packages = with addons; [
ublock-origin
# Keybindings & Gestures & User Scripts
foxy-gestures
shortkeys
surfingkeys_ff
violentmonkey
# Theming
material-icons-for-github
# Browsing Enhancement
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
proton-pass
proton-vpn
surfingkeys
web-archives
tampermonkey
stylus
foxy-gestures
google-container
refined-github
downthemall
material-icons-for-github
single-file
return-youtube-dislikes
steam-database
bilisponsorblock
sponsorblock
buster-captcha-solver
protondb-for-steam
i-dont-care-about-cookies
styl-us
kiss-translator
# Disabled
# view-page-archive # Web Archives
# single-file
# downthemall
# Install globally by policies: see modules/nixos/programs/firefox.nix
# clearurls
# multi-account-container
];
};
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;
};
}
];
};
};
}

View file

@ -10,10 +10,16 @@
enable = true;
profiles.default = {
settings = {
"browser.toolbars.bookmarks.visibility" = "never";
"extensions.update.enabled" = true;
"sidebar.expandOnHover" = true;
"sidebar.visibility" = "expand-on-hover";
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"toolkit.tabbox.switchByScrolling" = true;
"browser.uidensity" = 1;
# Disable Menu when pressing <Alt>
"ui.key.menuAccessKey" = -1;
"ui.key.menuAccessKeyFocuses" = false;
};
};
};

View file

@ -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 = {
enable = true;
package = pkgs.floorp;
policies = {
DisableTelemetry = true;
BlockAboutConfig = false;
DisableFirefoxScreenshots = true;
DontCheckDefaultBrowser = true;
Preferences = {
};
ExtensionSettings = with builtins; let
extension = short: uuid: {
name = uuid;
value = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/${short}/latest.xpi";
installation_mode = "force_installed";
updates_disabled = true;
private_browsing = true;
};
};
in
@ -54,7 +65,7 @@
];
};
};
profiles.default = {
profiles.js0ny = {
search.engines = {
archwiki = {
name = "ArchWiki";
@ -113,27 +124,36 @@
definedAliases = ["@gh"];
};
};
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
darkreader
rsshub-radar
proton-pass
surfingkeys
web-archives
# immersive-translate
tampermonkey
stylus
foxy-gestures
google-container
refined-github
downthemall
material-icons-for-github
single-file
return-youtube-dislikes
steam-database
bilisponsorblock
sponsorblock
buster-captcha-solver
];
extensions = {
packages = with pkgs.firefox-addons; [
ublock-origin
darkreader
rsshub-radar
proton-pass
proton-vpn
surfingkeys_ff
view-page-archive # Web Archives
tampermonkey
styl-us
foxy-gestures
google-container
refined-github-
downthemall
material-icons-for-github
single-file
return-youtube-dislikes
steam-database
bilisponsorblock
sponsorblock
buster-captcha-solver
protondb-for-steam
i-dont-care-about-cookies
global-speed
kiss-translator
# sidebery
];
force = true;
};
};
};
}

View file

@ -1,4 +1,7 @@
{...}: 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";
in {
xdg.configFile."mimeapps.list".force = true;
@ -14,6 +17,7 @@ in {
# Source Code - C
"text/x-csrc" = gvim; # .c
"text/x-chdr" = gvim; # .h
"text/javascript" = gvim;
# CSV
"text/csv" = gvim;
# File Explorer