added newtabpage to config.nix

This commit is contained in:
kenji
2025-12-24 13:53:02 -06:00
parent 7cd5b88c45
commit a4f41a0371
3 changed files with 69 additions and 31 deletions
+48 -29
View File
@@ -1,4 +1,8 @@
{pkgs, ...}: { {
pkgs,
myConfig,
...
}: {
programs.firefox = { programs.firefox = {
enable = true; enable = true;
languagePacks = ["en-US"]; languagePacks = ["en-US"];
@@ -9,26 +13,35 @@
isDefault = true; isDefault = true;
search.default = "ddg"; search.default = "ddg";
# FIXED: Removed .settings and .force to allow UI interaction # Full declarative mode enabled.
bookmarks = [ # Note: Manual bookmarks added in the UI will be overwritten on next rebuild.
{ bookmarks = {
name = "Toolbar Bookmarks"; force = true;
toolbar = true; settings = [
bookmarks = [ {
{ name = "Toolbar Bookmarks";
name = "Home Manager"; toolbar = true;
url = "https://mynixos.com/home-manager/options/programs"; bookmarks = myConfig.firefox.bookmarks;
} }
{ ];
name = "YouTube"; };
url = "https://youtube.com";
}
];
}
];
settings = { settings = {
# --- Privacy & Hardening ---
"browser.contentblocking.category" = "strict"; "browser.contentblocking.category" = "strict";
"privacy.trackingprotection.enabled" = true;
"privacy.resistFingerprinting" = true; # Note: Spoofs timezone and caps FPS to 60
"geo.enabled" = false;
"media.peerconnection.enabled" = false; # Prevents WebRTC IP leaks
"network.dns.disablePrefetch" = true;
"network.prefetch-next" = false;
# --- NixOS / Hyprland Integration ---
"widget.use-xdg-desktop-portal.file-picker" = 1; # Use native file picker
# --- UI & Behavior ---
"browser.compactmode.show" = true;
"browser.tabs.closeWindowWithLastTab" = false;
"extensions.pocket.enabled" = false; "extensions.pocket.enabled" = false;
"extensions.screenshots.disabled" = true; "extensions.screenshots.disabled" = true;
"browser.topsites.contile.enabled" = false; "browser.topsites.contile.enabled" = false;
@@ -46,13 +59,14 @@
"browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false; "browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
# --- Homepage & Navigation ---
"browser.startup.homepage" = "https://dash.sakamoto.dev"; "browser.startup.homepage" = "https://dash.sakamoto.dev";
"browser.newtabpage.pinned" = [ "browser.newtabpage.pinned" = myConfig.firefox.newtabpage;
{
title = "Dashboard"; # --- DNS over HTTPS (Quad9) ---
url = "https://dash.sakamoto.dev"; "network.trr.mode" = 2; # Use DoH with system fallback
} "network.trr.uri" = "https://dns.quad9.net/dns-query";
];
}; };
}; };
}; };
@@ -62,7 +76,7 @@
DisableFirefoxStudies = true; DisableFirefoxStudies = true;
EnableTrackingProtection = { EnableTrackingProtection = {
Value = true; Value = true;
Locked = false; # Set to false so you can still adjust via UI Locked = false;
Cryptomining = true; Cryptomining = true;
Fingerprinting = true; Fingerprinting = true;
}; };
@@ -76,11 +90,16 @@
DisplayBookmarksToolbar = "always"; DisplayBookmarksToolbar = "always";
SearchBar = "unified"; SearchBar = "unified";
/* # Power User Messaging
---- EXTENSIONS ---- UserMessaging = {
*/ ExtensionRecommendations = false;
SkipOnboarding = true;
FeatureRecommendations = false;
UrlbarInterventions = false;
WhatsNew = false;
};
ExtensionSettings = { ExtensionSettings = {
# Removed the "*" wildcard which was likely locking the Add-on store UI
"uBlock0@raymondhill.net" = { "uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed"; installation_mode = "force_installed";
+1 -1
View File
@@ -1,7 +1,7 @@
{myConfig, ...}: { {myConfig, ...}: {
programs.git = { programs.git = {
enable = true; enable = true;
extraConfig = { settings = {
user.name = "${myConfig.git.username}"; user.name = "${myConfig.git.username}";
user.email = "${myConfig.git.email}"; user.email = "${myConfig.git.email}";
init.defaultBranch = "${myConfig.git.defaultBranch}"; init.defaultBranch = "${myConfig.git.defaultBranch}";
+20 -1
View File
@@ -4,7 +4,7 @@
username = "kenji"; username = "kenji";
hostname = "hakase"; hostname = "hakase";
timezone = "America/Chicago"; timezone = "America/Chicago";
shell = "fish"; shell = "fish"; # FIXME: unassigned variable
}; };
git = { git = {
username = "kenji"; username = "kenji";
@@ -12,6 +12,7 @@
defaultBranch = "master"; defaultBranch = "master";
}; };
ssh = { ssh = {
# FIXME: anonymize
extraConfig = '' extraConfig = ''
Host macair Host macair
User biscuit User biscuit
@@ -32,5 +33,23 @@
hyprland = { hyprland = {
monitors = ["HDMI-A-1, 1920x1080@120, auto, 1"]; monitors = ["HDMI-A-1, 1920x1080@120, auto, 1"];
}; };
firefox = {
bookmarks = [
{
name = "Home Manager";
url = "https://mynixos.com/home-manager/options/programs";
}
{
name = "YouTube";
url = "https://youtube.com";
}
];
newtabpage = [
{
title = "Dashboard";
url = "https://dash.sakamoto.dev";
}
];
};
}; };
} }