Home: Rename home/modules to home/homemodules
This commit is contained in:
113
home/homemodules/firefox/bookmarks.nix
Normal file
113
home/homemodules/firefox/bookmarks.nix
Normal file
@ -0,0 +1,113 @@
|
||||
let
|
||||
mkBm = name: url: {
|
||||
name = name;
|
||||
url = url;
|
||||
};
|
||||
in [
|
||||
{
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
# NixOS
|
||||
|
||||
{
|
||||
name = "NixOS";
|
||||
bookmarks = [
|
||||
(mkBm "Package Search" "https://search.nixos.org/packages")
|
||||
(mkBm "Option Search" "https://search.nixos.org/options?")
|
||||
(mkBm "Function Search" "https://noogle.dev/")
|
||||
(mkBm "HM Search" "https://mipmip.github.io/home-manager-option-search/")
|
||||
(mkBm "NUR Search" "https://nur.nix-community.org/")
|
||||
(mkBm "Nixpkgs Version Search" "https://lazamar.co.uk/nix-versions/")
|
||||
(mkBm "Nixpkgs PR Tracker" "https://nixpk.gs/pr-tracker.html")
|
||||
"separator"
|
||||
(mkBm "NixOS Wiki" "https://wiki.nixos.org/wiki/NixOS_Wiki")
|
||||
(mkBm "Nixpkgs Issues" "https://github.com/NixOS/nixpkgs/issues")
|
||||
(mkBm "Nixpkgs Manual" "https://nixos.org/manual/nixpkgs/unstable/")
|
||||
(mkBm "NixOS Manual" "https://nixos.org/manual/nixos/unstable/")
|
||||
(mkBm "Nix Manual" "https://nix.dev/manual/nix/stable/")
|
||||
];
|
||||
}
|
||||
(mkBm "Searchix" "https://searchix.ovh/")
|
||||
(mkBm "Latest" "https://discourse.nixos.org/latest")
|
||||
"separator"
|
||||
|
||||
# HomeLab
|
||||
|
||||
{
|
||||
name = "Lab";
|
||||
bookmarks = [
|
||||
(mkBm "LAN Smart Switch" "http://192.168.86.2/")
|
||||
(mkBm "WiFi Access Point" "http://192.168.86.3/")
|
||||
(mkBm "OPNsense" "https://192.168.86.5/")
|
||||
(mkBm "Synology DS223j" "https://synology.think.chriphost.de/")
|
||||
(mkBm "PVE Direct" "https://192.168.86.4:8006/#v1:0:18:4:::::::")
|
||||
(mkBm "PVF Direct" "https://192.168.86.13:8006/#v1:0:18:4:::::::")
|
||||
(mkBm "Portainer" "https://portainer.think.chriphost.de/")
|
||||
"separator"
|
||||
(mkBm "Local NGINX" "https://nginx.local.chriphost.de/")
|
||||
(mkBm "Think NGINX" "https://nginx.think.chriphost.de/")
|
||||
(mkBm "VPS NGINX" "http://vps.chriphost.de:51810/")
|
||||
(mkBm "WUD ServeNix" "https://update.local.chriphost.de/")
|
||||
(mkBm "WUD ThinkNix" "https://update.think.chriphost.de/")
|
||||
];
|
||||
}
|
||||
(mkBm "Cloud" "https://nextcloud.local.chriphost.de/apps/files/files")
|
||||
(mkBm "Immich" "https://immich.local.chriphost.de/photos")
|
||||
(mkBm "Jelly" "https://jellyfin.local.chriphost.de/web/#/home.html")
|
||||
(mkBm "HASS" "https://hass.think.chriphost.de/lovelace")
|
||||
(mkBm "Docs" "https://paperless.local.chriphost.de/documents?sort=created&reverse=1&page=1")
|
||||
(mkBm "Gitea" "https://gitea.local.chriphost.de/christoph")
|
||||
# (mkBm "Chat" "http://localhost:11435/") # Local WebUI
|
||||
"separator"
|
||||
|
||||
# Coding
|
||||
|
||||
{
|
||||
name = "Coding";
|
||||
bookmarks = [
|
||||
(mkBm "C++Ref" "https://en.cppreference.com/w/")
|
||||
(mkBm "Rust" "https://doc.rust-lang.org/stable/book/ch03-00-common-programming-concepts.html")
|
||||
(mkBm "RustOS" "https://os.phil-opp.com/")
|
||||
(mkBm "Interpreters" "https://craftinginterpreters.com/contents.html")
|
||||
];
|
||||
}
|
||||
{
|
||||
name = "\"AI\"";
|
||||
bookmarks = [
|
||||
(mkBm "Mistral Chat" "https://chat.mistral.ai/chat")
|
||||
(mkBm "DeepSeek Chat" "https://chat.deepseek.com/")
|
||||
(mkBm "Claude Chat" "https://claude.ai/new")
|
||||
(mkBm "ChatGPT" "https://chatgpt.com/")
|
||||
(mkBm "DeepWiki" "https://deepwiki.com/")
|
||||
"separator"
|
||||
(mkBm "Mistral API" "https://console.mistral.ai/usage")
|
||||
(mkBm "DeepSeek API" "https://platform.deepseek.com/usage")
|
||||
(mkBm "Claude API" "https://console.anthropic.com/usage")
|
||||
(mkBm "OpenRouter API" "https://openrouter.ai/activity")
|
||||
];
|
||||
}
|
||||
(mkBm "GH" "https://github.com/churl")
|
||||
(mkBm "GL" "https://gitlab.com/churl")
|
||||
(mkBm "SO" "https://stackoverflow.com/users/saves/17337508/all")
|
||||
(mkBm "RegEx" "https://regex101.com/")
|
||||
(mkBm "Shell" "https://explainshell.com/")
|
||||
(mkBm "CDecl" "https://cdecl.org/")
|
||||
(mkBm "ECR" "https://gallery.ecr.aws/")
|
||||
(mkBm "Chmod" "https://chmod-calculator.com/")
|
||||
"separator"
|
||||
|
||||
# Stuff
|
||||
|
||||
(mkBm "Spiegel" "https://www.spiegel.de/")
|
||||
(mkBm "Heise" "https://www.heise.de/")
|
||||
(mkBm "HN" "https://news.ycombinator.com/news")
|
||||
(mkBm "Reddit" "https://www.reddit.com/user/FightingMushroom/saved/")
|
||||
(mkBm "F10" "https://f10.local.chriphost.de/race/Everyone")
|
||||
(mkBm "F11" "https://f11.local.chriphost.de/racepicks")
|
||||
(mkBm "F11PB" "https://f11pb.local.chriphost.de/_/#/collections?collection=pbc_1736455494&filter=&sort=-%40rowid")
|
||||
(mkBm "ISBNDB" "https://isbndb.com/")
|
||||
(mkBm "Music" "https://bandcamp.com/chriphost")
|
||||
(mkBm "Albums" "https://www.albumoftheyear.org/user/chriphost/list/307966/2025/")
|
||||
];
|
||||
}
|
||||
]
|
||||
146
home/homemodules/firefox/customizationState.json
Normal file
146
home/homemodules/firefox/customizationState.json
Normal file
@ -0,0 +1,146 @@
|
||||
{
|
||||
"placements": {
|
||||
"widget-overflow-fixed-list": [],
|
||||
"unified-extensions-area": [
|
||||
"jid1-mnnxcxisbpnsxq_jetpack-browser-action",
|
||||
"_74145f27-f039-47ce-a470-a662b129930a_-browser-action",
|
||||
"_b86e4813-687a-43e6-ab65-0bde4ab75758_-browser-action",
|
||||
"cookieautodelete_kennydo_com-browser-action",
|
||||
"skipredirect_sblask-browser-action",
|
||||
"_ublacklist-browser-action",
|
||||
"umatrix_raymondhill_net-browser-action",
|
||||
"_2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c_-browser-action",
|
||||
"_287dcf75-bec6-4eec-b4f6-71948a2eea29_-browser-action",
|
||||
"_d133e097-46d9-4ecc-9903-fa6a722a6e0e_-browser-action",
|
||||
"_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action",
|
||||
"dontfuckwithpaste_raim_ist-browser-action",
|
||||
"sponsorblocker_ajay_app-browser-action",
|
||||
"mogultv_mogultv_org-browser-action",
|
||||
"jid1-tsgsxbhncspbwq_jetpack-browser-action",
|
||||
"sourcegraph-for-firefox_sourcegraph_com-browser-action",
|
||||
"_b11bea1f-a888-4332-8d8a-cec2be7d24b9_-browser-action",
|
||||
"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action",
|
||||
"_34daeb50-c2d2-4f14-886a-7160b24d66a4_-browser-action",
|
||||
"smart-referer_meh_paranoid_pk-browser-action",
|
||||
"jid1-ckhysaadh4nl6q_jetpack-browser-action",
|
||||
"_e737d9cb-82de-4f23-83c6-76f70a82229c_-browser-action",
|
||||
"_a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad_-browser-action",
|
||||
"github-forks-addon_musicallyut_in-browser-action",
|
||||
"_36bdf805-c6f2-4f41-94d2-9b646342c1dc_-browser-action",
|
||||
"_605a075b-09d9-4443-bed6-4baa743f7d79_-browser-action",
|
||||
"enhancerforyoutube_maximerf_addons_mozilla_org-browser-action",
|
||||
"frankerfacez_frankerfacez_com-browser-action",
|
||||
"freedium-browser-extension_wywywywy_com-browser-action",
|
||||
"_076d8ebb-5df6-48e0-a619-99315c395644_-browser-action",
|
||||
"_9350bc42-47fb-4598-ae0f-825e3dd9ceba_-browser-action",
|
||||
"_a7399979-5203-4489-9861-b168187b52e1_-browser-action",
|
||||
"addon_fastforward_team-browser-action",
|
||||
"firefox-extension_steamdb_info-browser-action",
|
||||
"_cb31ec5d-c49a-4e5a-b240-16c767444f62_-browser-action",
|
||||
"_bbb880ce-43c9-47ae-b746-c3e0096c5b76_-browser-action"
|
||||
],
|
||||
"nav-bar": [
|
||||
"back-button",
|
||||
"forward-button",
|
||||
"vertical-spacer",
|
||||
"downloads-button",
|
||||
"urlbar-container",
|
||||
"save-to-pocket-button",
|
||||
"_3c078156-979c-498b-8990-85f7987dd929_-browser-action",
|
||||
"fxa-toolbar-menu-button",
|
||||
"treestyletab_piro_sakura_ne_jp-browser-action",
|
||||
"ublock0_raymondhill_net-browser-action",
|
||||
"_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action",
|
||||
"display-anchors_robwu_nl-browser-action",
|
||||
"tab-session-manager_sienori-browser-action",
|
||||
"_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action",
|
||||
"keepassxc-browser_keepassxc_org-browser-action",
|
||||
"reset-pbm-toolbar-button",
|
||||
"faststream_andrews-browser-action",
|
||||
"_b9db16a4-6edc-47ec-a1f4-b86292ed211d_-browser-action",
|
||||
"clipper_obsidian_md-browser-action",
|
||||
"zotero_chnm_gmu_edu-browser-action",
|
||||
"vpn_proton_ch-browser-action",
|
||||
"jid1-qofqdk4qzufgwq_jetpack-browser-action",
|
||||
"unified-extensions-button"
|
||||
],
|
||||
"toolbar-menubar": [
|
||||
"menubar-items"
|
||||
],
|
||||
"TabsToolbar": [
|
||||
"firefox-view-button",
|
||||
"tabbrowser-tabs",
|
||||
"new-tab-button",
|
||||
"alltabs-button"
|
||||
],
|
||||
"vertical-tabs": [],
|
||||
"PersonalToolbar": [
|
||||
"personal-bookmarks"
|
||||
]
|
||||
},
|
||||
"seen": [
|
||||
"developer-button",
|
||||
"ublock0_raymondhill_net-browser-action",
|
||||
"_287dcf75-bec6-4eec-b4f6-71948a2eea29_-browser-action",
|
||||
"_2e5ff8c8-32fe-46d0-9fc8-6b8986621f3c_-browser-action",
|
||||
"_531906d3-e22f-4a6c-a102-8057b88a1a63_-browser-action",
|
||||
"_74145f27-f039-47ce-a470-a662b129930a_-browser-action",
|
||||
"_b86e4813-687a-43e6-ab65-0bde4ab75758_-browser-action",
|
||||
"_d133e097-46d9-4ecc-9903-fa6a722a6e0e_-browser-action",
|
||||
"_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action",
|
||||
"_f209234a-76f0-4735-9920-eb62507a54cd_-browser-action",
|
||||
"_ublacklist-browser-action",
|
||||
"cookieautodelete_kennydo_com-browser-action",
|
||||
"dontfuckwithpaste_raim_ist-browser-action",
|
||||
"jid1-mnnxcxisbpnsxq_jetpack-browser-action",
|
||||
"keepassxc-browser_keepassxc_org-browser-action",
|
||||
"skipredirect_sblask-browser-action",
|
||||
"sponsorblocker_ajay_app-browser-action",
|
||||
"tab-session-manager_sienori-browser-action",
|
||||
"treestyletab_piro_sakura_ne_jp-browser-action",
|
||||
"umatrix_raymondhill_net-browser-action",
|
||||
"mogultv_mogultv_org-browser-action",
|
||||
"jid1-tsgsxbhncspbwq_jetpack-browser-action",
|
||||
"display-anchors_robwu_nl-browser-action",
|
||||
"github-forks-addon_musicallyut_in-browser-action",
|
||||
"_a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad_-browser-action",
|
||||
"_e737d9cb-82de-4f23-83c6-76f70a82229c_-browser-action",
|
||||
"jid1-ckhysaadh4nl6q_jetpack-browser-action",
|
||||
"smart-referer_meh_paranoid_pk-browser-action",
|
||||
"_34daeb50-c2d2-4f14-886a-7160b24d66a4_-browser-action",
|
||||
"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action",
|
||||
"_b11bea1f-a888-4332-8d8a-cec2be7d24b9_-browser-action",
|
||||
"sourcegraph-for-firefox_sourcegraph_com-browser-action",
|
||||
"_36bdf805-c6f2-4f41-94d2-9b646342c1dc_-browser-action",
|
||||
"_605a075b-09d9-4443-bed6-4baa743f7d79_-browser-action",
|
||||
"enhancerforyoutube_maximerf_addons_mozilla_org-browser-action",
|
||||
"frankerfacez_frankerfacez_com-browser-action",
|
||||
"freedium-browser-extension_wywywywy_com-browser-action",
|
||||
"_076d8ebb-5df6-48e0-a619-99315c395644_-browser-action",
|
||||
"_9350bc42-47fb-4598-ae0f-825e3dd9ceba_-browser-action",
|
||||
"_a7399979-5203-4489-9861-b168187b52e1_-browser-action",
|
||||
"vpn_proton_ch-browser-action",
|
||||
"addon_fastforward_team-browser-action",
|
||||
"faststream_andrews-browser-action",
|
||||
"firefox-extension_steamdb_info-browser-action",
|
||||
"clipper_obsidian_md-browser-action",
|
||||
"zotero_chnm_gmu_edu-browser-action",
|
||||
"_b9db16a4-6edc-47ec-a1f4-b86292ed211d_-browser-action",
|
||||
"_cb31ec5d-c49a-4e5a-b240-16c767444f62_-browser-action",
|
||||
"screenshot-button",
|
||||
"_bbb880ce-43c9-47ae-b746-c3e0096c5b76_-browser-action",
|
||||
"jid1-qofqdk4qzufgwq_jetpack-browser-action",
|
||||
"_3c078156-979c-498b-8990-85f7987dd929_-browser-action"
|
||||
],
|
||||
"dirtyAreaCache": [
|
||||
"nav-bar",
|
||||
"PersonalToolbar",
|
||||
"toolbar-menubar",
|
||||
"TabsToolbar",
|
||||
"widget-overflow-fixed-list",
|
||||
"unified-extensions-area",
|
||||
"vertical-tabs"
|
||||
],
|
||||
"currentVersion": 22,
|
||||
"newElementCount": 9
|
||||
}
|
||||
324
home/homemodules/firefox/default.nix
Normal file
324
home/homemodules/firefox/default.nix
Normal file
@ -0,0 +1,324 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
mylib,
|
||||
pkgs,
|
||||
hostname,
|
||||
...
|
||||
}: let
|
||||
inherit (config.modules) firefox color;
|
||||
in {
|
||||
options.modules.firefox = import ./options.nix {inherit lib mylib;};
|
||||
|
||||
config = lib.mkIf firefox.enable {
|
||||
textfox = {
|
||||
enable = firefox.textfox;
|
||||
useLegacyExtensions = false;
|
||||
profiles = ["default"];
|
||||
|
||||
config = {
|
||||
background = {
|
||||
color = color.hexS.base;
|
||||
};
|
||||
|
||||
border = {
|
||||
color = color.hexS.overlay0;
|
||||
width = "2px";
|
||||
transition = "1.0s ease";
|
||||
radius = "3px";
|
||||
};
|
||||
|
||||
displayWindowControls = true;
|
||||
displayNavButtons = true;
|
||||
displayUrlbarIcons = true;
|
||||
displaySidebarTools = false;
|
||||
displayTitles = false;
|
||||
|
||||
icons = {
|
||||
toolbar.extensions.enable = true;
|
||||
context.extensions.enable = true;
|
||||
context.firefox.enable = true;
|
||||
};
|
||||
|
||||
tabs = {
|
||||
horizontal.enable = !firefox.disableTabBar;
|
||||
vertical.enable = firefox.disableTabBar;
|
||||
# vertical.margin = "1rem";
|
||||
};
|
||||
|
||||
font = {
|
||||
family = color.font;
|
||||
size = "14px";
|
||||
accent = color.hexS.accent;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [vdhcoapp];
|
||||
|
||||
home.sessionVariables = lib.mkMerge [
|
||||
{
|
||||
MOZ_USE_XINPUT2 = 1;
|
||||
}
|
||||
|
||||
(lib.optionalAttrs firefox.wayland {
|
||||
MOZ_ENABLE_WAYLAND = 1;
|
||||
EGL_PLATFORM = "wayland";
|
||||
})
|
||||
|
||||
(lib.optionalAttrs firefox.vaapi {
|
||||
MOZ_DISABLE_RDD_SANDBOX = 1;
|
||||
})
|
||||
];
|
||||
|
||||
# Not required with rofi -drun-show-actions
|
||||
# xdg.desktopEntries.firefox-private = {
|
||||
# name = "Firefox (Incognito)";
|
||||
# genericName = "Private web browser";
|
||||
# icon = "firefox";
|
||||
# exec = "firefox --private-window %U";
|
||||
# terminal = false;
|
||||
# categories = ["Network" "WebBrowser"];
|
||||
# };
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
# firefox-unwrapped is the pure firefox browser, wrapFirefox adds configuration ontop
|
||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||
# About policies: https://github.com/mozilla/policy-templates#enterprisepoliciesenabled
|
||||
# TODO: To separate file
|
||||
extraPolicies = {
|
||||
CaptivePortal = false;
|
||||
DisableAppUpdate = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableFirefoxScreenshots = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableSetDesktopBackground = true;
|
||||
DisableTelemetry = true;
|
||||
DisplayBookmarksToolbar = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
EmailTracking = true;
|
||||
};
|
||||
FirefoxHome = {
|
||||
Highlights = false;
|
||||
Search = true;
|
||||
Snippets = false;
|
||||
SponsoredTopSites = false;
|
||||
TopSites = false;
|
||||
};
|
||||
FirefoxSuggest = {
|
||||
ImproveSuggest = false;
|
||||
SponsoredSuggestions = false;
|
||||
WebSuggestions = false;
|
||||
};
|
||||
HardwareAcceleration = true;
|
||||
# NoDefaultBookmarks = true; # Prevents HM from applying bookmarks
|
||||
OfferToSaveLogins = false;
|
||||
PictureInPicture = true;
|
||||
SanitizeOnShutdown = {
|
||||
Cache = false;
|
||||
Cookies = false;
|
||||
FormData = true;
|
||||
History = false;
|
||||
Sessions = false;
|
||||
SiteSettings = false;
|
||||
};
|
||||
UserMessaging = {
|
||||
ExtensionRecommendations = false;
|
||||
FeatureRecommendations = false;
|
||||
MoreFromMozilla = false;
|
||||
SkipOnboarding = true;
|
||||
UrlbarInteventions = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
profiles = {
|
||||
default = {
|
||||
id = 0; # 0 is default profile
|
||||
|
||||
userChrome = lib.concatStringsSep "\n" [
|
||||
(lib.optionalString firefox.disableTabBar ''
|
||||
#TabsToolbar { display: none; }
|
||||
'')
|
||||
];
|
||||
|
||||
# TODO: To separate file
|
||||
search = {
|
||||
force = true; # Always override search engines
|
||||
default = "kagi";
|
||||
privateDefault = "kagi";
|
||||
order = [
|
||||
"kagi"
|
||||
"wiki"
|
||||
"nixos-packages"
|
||||
"nixos-functions"
|
||||
"nixos-wiki"
|
||||
"google"
|
||||
];
|
||||
|
||||
engines = {
|
||||
kagi = {
|
||||
name = "Kagi";
|
||||
urls = [{template = "https://kagi.com/search?q={searchTerms}";}];
|
||||
iconMapObj."16" = "https://kagi.com/favicon.ico";
|
||||
definedAliases = ["@k"];
|
||||
};
|
||||
|
||||
wiki = {
|
||||
name = "Wikipedia";
|
||||
urls = [{template = "https://en.wikipedia.org/wiki/Special:Search?search={searchTerms}";}];
|
||||
iconMapObj."16" = "https://en.wikipedia.org/favicon.ico";
|
||||
definedAliases = ["@w"];
|
||||
};
|
||||
|
||||
nixos-packages = {
|
||||
name = "NixOS Packages";
|
||||
urls = [{template = "https://searchix.ovh/?query={searchTerms}";}];
|
||||
iconMapObj."16" = "https://nixos.org/favicon.ico";
|
||||
definedAliases = ["@np"];
|
||||
};
|
||||
|
||||
nixos-functions = {
|
||||
name = "NixOS Functions";
|
||||
urls = [{template = "https://noogle.dev/q?term={searchTerms}";}];
|
||||
iconMapObj."16" = "https://nixos.org/favicon.ico";
|
||||
definedAliases = ["@nf"];
|
||||
};
|
||||
|
||||
nixos-wiki = {
|
||||
name = "NixOS Wiki";
|
||||
urls = [{template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";}];
|
||||
iconMapObj."16" = "https://nixos.org/favicon.ico";
|
||||
definedAliases = ["@nw"];
|
||||
};
|
||||
|
||||
arch-wiki = {
|
||||
name = "Arch Wiki";
|
||||
urls = [{template = "https://wiki.archlinux.org/?search={searchTerms}";}];
|
||||
iconMapObj."16" = "https://wiki.archlinux.org/favicon.ico";
|
||||
definedAliases = ["@aw"];
|
||||
};
|
||||
|
||||
nixpkgs-issues = {
|
||||
name = "Nixpkgs Issues";
|
||||
urls = [{template = "https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue%20{searchTerms}";}];
|
||||
iconMapObj."16" = "https://github.com/favicon.ico";
|
||||
definedAliases = ["@i"];
|
||||
};
|
||||
|
||||
github = {
|
||||
name = "GitHub";
|
||||
urls = [{template = "https://github.com/search?q={searchTerms}&type=repositories";}];
|
||||
iconMapObj."16" = "https://github.com/favicon.ico";
|
||||
definedAliases = ["@gh"];
|
||||
};
|
||||
|
||||
google.metaData.alias = "@g";
|
||||
|
||||
# Hide bullshit
|
||||
bing.metaData.hidden = true;
|
||||
ddg.metaData.hidden = true;
|
||||
ecosia.metaData.hidden = true;
|
||||
wikipedia.metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: To separate file
|
||||
extensions = {
|
||||
force = true; # Always override extensions
|
||||
|
||||
packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
absolute-enable-right-click # Force enable right click to copy text
|
||||
amp2html
|
||||
augmented-steam
|
||||
betterttv
|
||||
# bypass-paywalls-clean
|
||||
# c-c-search-extension # Press cc in searchbar and profit
|
||||
catppuccin-mocha-mauve
|
||||
# catppuccin-web-file-icons
|
||||
clearurls
|
||||
# cookie-autodelete
|
||||
dark-background-light-text
|
||||
display-_anchors # Easier linking to specific website parts
|
||||
don-t-fuck-with-paste
|
||||
# enhancer-for-youtube # Discontinued, use tweaks-for-youtube
|
||||
fastforwardteam # skip URL shorteners
|
||||
# faststream # replace video players with a faster one
|
||||
frankerfacez # twitch emotes
|
||||
indie-wiki-buddy
|
||||
keepassxc-browser
|
||||
localcdn
|
||||
lovely-forks # Display notable forks on GitHub repos
|
||||
# move-unloaded-tabs-for-tst # move tst tabs without them becoming active
|
||||
native-mathml # native MathML instead of MathJax/MediaWiki
|
||||
no-pdf-download # open pdf in browser without downloading
|
||||
open-in-freedium
|
||||
# plasma-integration
|
||||
privacy-badger
|
||||
privacy-settings
|
||||
protondb-for-steam
|
||||
proton-vpn
|
||||
purpleadblock # twitch adblocker
|
||||
return-youtube-dislikes
|
||||
# rust-search-extension
|
||||
search-by-image
|
||||
single-file
|
||||
skip-redirect
|
||||
smart-referer # Limit referer link information
|
||||
snowflake # Help users from censored countries access the internet
|
||||
# sourcegraph # Code intelligence for GitHub/GitLap for 20+ languages
|
||||
sponsorblock
|
||||
steam-database
|
||||
# tab-session-manager
|
||||
# to-deepl
|
||||
transparent-standalone-image
|
||||
# tree-style-tab
|
||||
# tst-fade-old-tabs
|
||||
tweaks-for-youtube
|
||||
twitch-auto-points
|
||||
ublacklist
|
||||
ublock-origin
|
||||
unpaywall
|
||||
video-downloadhelper
|
||||
view-image
|
||||
web-clipper-obsidian
|
||||
youtube-shorts-block
|
||||
zotero-connector
|
||||
];
|
||||
};
|
||||
|
||||
bookmarks = {
|
||||
# Always override bookmarks (so we don't forget to add them through here)
|
||||
force = true;
|
||||
settings = import ./bookmarks.nix;
|
||||
};
|
||||
|
||||
settings = lib.mkMerge [
|
||||
(import ./settings.nix)
|
||||
|
||||
{
|
||||
# NOTE: This has to be updated when something is changed inside firefox...
|
||||
"browser.uiCustomization.state" = builtins.readFile ./customizationState.json;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = firefox.disableTabBar;
|
||||
"identity.fxaccounts.account.device.name" = hostname;
|
||||
}
|
||||
|
||||
(lib.optionalAttrs firefox.vaapi {
|
||||
# https://github.com/elFarto/nvidia-vaapi-driver/#firefox=
|
||||
"media.ffmpeg.vaapi.enabled" = true;
|
||||
"media.rdd-ffmpeg.enabled" = true; # Default value
|
||||
"media.av1.enabled" = true;
|
||||
"gfx.x11-egl.force-enabled" = true;
|
||||
"widget.dmabuf.force-enabled" = true;
|
||||
})
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
13
home/homemodules/firefox/options.nix
Normal file
13
home/homemodules/firefox/options.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
lib,
|
||||
mylib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with mylib.modules; {
|
||||
enable = mkEnableOption "Firefox";
|
||||
wayland = mkBoolOption false "Enable firefox wayland support";
|
||||
vaapi = mkBoolOption false "Enable firefox vaapi support";
|
||||
disableTabBar = mkBoolOption false "Disable the firefox tab bar (for TST)";
|
||||
textfox = mkBoolOption false "Enable the TextFox theme";
|
||||
}
|
||||
115
home/homemodules/firefox/settings.nix
Normal file
115
home/homemodules/firefox/settings.nix
Normal file
@ -0,0 +1,115 @@
|
||||
{
|
||||
"accessibility.force_disabled" = 1;
|
||||
"app.normandy.enabled" = false; # https://mozilla.github.io/normandy/
|
||||
"app.normandy.api_url" = "";
|
||||
"app.update.auto" = false;
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
|
||||
"beacon.enabled" = false; # https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon
|
||||
"breakpad.reportURL" = "";
|
||||
"browser.aboutConfig.showWarning" = false; # Warning when opening about:config
|
||||
"browser.contentblocking.category" = "standard";
|
||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = false; # don't submit backlogged reports
|
||||
"browser.disableResetPrompt" = true; # "Looks like you haven't started Firefox in a while."
|
||||
"browser.discovery.enabled" = false;
|
||||
"browser.download.useDownloadDir" = false; # Always ask
|
||||
"browser.fixup.alternate.enabled" = false; # http://www-archive.mozilla.org/docs/end-user/domain-guessing.html
|
||||
"browser.formfill.enable" = false;
|
||||
"browser.newtabpage.enabled" = false;
|
||||
"browser.newtab.url" = "about:blank";
|
||||
"browser.newtab.preload" = false;
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr" = false;
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
||||
"browser.newtabpage.activity-stream.enabled" = false; # https://wiki.mozilla.org/Firefox/Activity_Stream
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"browser.newtabpage.directory.ping" = "";
|
||||
"browser.newtabpage.directory.source" = "data:text/plain,{}";
|
||||
"browser.newtabpage.enhanced" = false;
|
||||
"browser.newtabpage.introShown" = true;
|
||||
"browser.onboarding.enabled" = false; # "New to Firefox? Let's get started!" tour
|
||||
"browser.ping-centre.telemetry" = false;
|
||||
"browser.send_pings" = false; # http://kb.mozillazine.org/Browser.send_pings
|
||||
"browser.sessionstore.interval" = "1800000"; # Reduce File IO / SSD abuse by increasing write interval
|
||||
"browser.shell.checkDefaultBrowser" = false;
|
||||
"browser.startup.couldRestoreSession.count" = 2; # Restore last session
|
||||
"browser.tabs.crashReporting.sendReport" = false;
|
||||
"browser.toolbars.bookmarks.visibility" = "always";
|
||||
"browser.urlbar.dnsResolveSingleWordsAfterSearch" = 0; # https://bugzilla.mozilla.org/1642623
|
||||
"browser.urlbar.shortcuts.bookmarks" = false; # This is only the button to search in bookmarks, bookmark search works anyway if enabled
|
||||
"browser.urlbar.shortcuts.history" = false;
|
||||
"browser.urlbar.shortcuts.tabs" = false;
|
||||
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||
"browser.urlbar.suggest.calculator" = true;
|
||||
"browser.urlbar.suggest.engines" = false;
|
||||
"browser.urlbar.suggest.openpage" = false;
|
||||
"browser.urlbar.suggest.searches" = true;
|
||||
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||
"browser.urlbar.unitConversion.enabled" = true;
|
||||
"browser.urlbar.trimURLs" = false;
|
||||
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"datareporting.healthreport.service.enabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"dom.battery.enabled" = false;
|
||||
"dom.forms.autocomplete.formautofill" = false;
|
||||
"dom.gamepad.enabled" = false; # Disable gamepad API to prevent USB device enumeration
|
||||
"dom.security.https_only_mode" = true;
|
||||
|
||||
"experiments.enabled" = false;
|
||||
"experiments.manifest.uri" = "";
|
||||
"experiments.supported" = false;
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.available" = "off";
|
||||
"extensions.formautofill.creditCards.available" = false;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"extensions.formautofill.heuristics.enabled" = false;
|
||||
"extensions.getAddons.showPane" = false; # uses Google Analytics
|
||||
"extensions.htmlaboutaddons.discover.enabled" = false;
|
||||
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"extensions.shield-recipe-client.enabled" = false;
|
||||
|
||||
"general.autoScroll" = false;
|
||||
"general.smoothScroll" = true;
|
||||
"geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
|
||||
"geo.provider.use_gpsd" = false;
|
||||
|
||||
"media.hardwaremediakeys.enabled" = false; # Do not interfere with spotify
|
||||
"media.videocontrols.picture-in-picture.video-toggle.enabled" = true;
|
||||
|
||||
"narrate.enabled" = false;
|
||||
|
||||
"privacy.donottrackheader.enabled" = true;
|
||||
"privacy.donottrackheader.value" = 1;
|
||||
"privacy.purge_trackers.enabled" = true;
|
||||
"privacy.webrtc.legacyGlobalIndicator" = false;
|
||||
"privacy.webrtc.hideGlobalIndicator" = true;
|
||||
|
||||
"reader.parse-on-load.enabled" = false; # "reader view"
|
||||
|
||||
"security.family_safety.mode" = 0;
|
||||
"security.pki.sha1_enforcement_level" = 1; # https://blog.mozilla.org/security/2016/10/18/phasing-out-sha-1-on-the-public-web/
|
||||
"security.tls.enable_0rtt_data" = false; # https://github.com/tlswg/tls13-spec/issues/1001
|
||||
"signon.autofillForms" = false;
|
||||
"signon.generateion.enabled" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
|
||||
"toolkit.coverage.opt-out" = true;
|
||||
"toolkit.coverage.endpoint.base" = "";
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.server" = "data:,";
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.coverage.opt-out" = true;
|
||||
|
||||
"widget.use-xdg-desktop-portal" = true;
|
||||
"widget.use-xdg-desktop-portal.file-picker" = 1; # 1: always, 2: auto
|
||||
"widget.use-xdg-desktop-portal.location" = 2;
|
||||
"widget.use-xdg-desktop-portal.mime-handler" = 2;
|
||||
"widget.use-xdg-desktop-portal.native-messaging" = 0;
|
||||
"widget.use-xdg-desktop-portal.open-uri" = 2;
|
||||
"widget.use-xdg-desktop-portal.settings" = 2;
|
||||
}
|
||||
Reference in New Issue
Block a user