Refactor the whole configuration

Reviewed-on: #1
This commit is contained in:
caem 2025-02-01 14:05:15 +01:00
parent fb5d4d46f8
commit 6cb66d86d2
153 changed files with 2078 additions and 3094 deletions

View file

@ -0,0 +1,5 @@
{ lib, ... }:
{
imports = lib.getModuleImports ./.;
}

View file

@ -0,0 +1,14 @@
{ username, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
tor-browser
firefox-esr
];
environment.persistence."/nix/persist" = {
users."${username}".directories = [
".config/mozilla"
];
};
}

View file

@ -0,0 +1,72 @@
{
EnableTrackingProtection = {
Value = true;
Cryptomining = true;
Fingerprinting = true;
EmailTracking = true;
Level = "strict";
};
DisableTelemetry = true;
DisablePocket = true;
DisableFirefoxStudies = true;
DisableFirefoxAccounts = false;
DisableAccounts = false;
DontCheckDefaultBrowser = true;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
NoDefaultBookmarks = true;
Cookies = {
Behaviour = "reject-foreign";
BehaviourPrivateBrowsing = "reject-foreign";
};
UserMessaging = {
WhatsNew = false;
ExtensionRecommendations = false;
FeatureRecommendations = false;
UrlbarInterventions = false;
UrlbarTopSitesEnabled = false;
SkipOnboarding = true;
MoreFromMozilla = false;
};
FirefoxHome = {
Search = false;
TopSites = false;
SponsoredTopSites = false;
Highlights = false;
Pocket = false;
SponsoredPocket = false;
Snippets = false;
Locked = true;
};
SearchSuggestEnabled = false;
NewTabPage = false;
SearchEngines = { # ESR only
Default = "Kagi";
PreventInstalls = true;
DisableSearchEngineUpdate = true;
Remove = ["Google" "Bing" "Amazon.com" "DuckDuckGo"
"eBay" "Twitter" "Wikipedia (en)"];
Add = [
{
Name = "Kagi";
URLTemplate = "https://kagi.com/search?q={searchTerms}";
Method = "GET";
IconURL = "https://kagi.com/favicon.ico";
Alias = "@k";
Default = true;
}
];
};
FirefoxSuggest = {
WebSuggestions = false;
SponsoredSuggestions = false;
ImproveSuggest = false;
Locked = true;
};
}

View file

@ -0,0 +1,23 @@
let
prefToString = value:
if builtins.isBool value then
if value then "true" else "false"
else if (builtins.isInt value) || (builtins.isNull value) then
builtins.toString value
else if builtins.isString value then
''"${value}"''
else
builtins.throw
"Pref expected one of (Bool, String, Int, Null) got instead ${builtins.typeOf value}";
mkPrefs = prefs: builtins.concatStringsSep
"\n"
(builtins.attrValues
(builtins.mapAttrs
(n: v: ''pref("${n}", ${prefToString v});'') prefs));
in
mkPrefs {
"browser.urlbar.suggest.topsites" = false;
"browser.startup.homepage" = "about:blank";
"browser.download.useDownloadDir" = false;
}