Compare commits
No commits in common. "8f9599cf150e9041686f7860419a05dacbebfd43" and "297f1bfa325f69e26ac3f582c1033a72a56f05a2" have entirely different histories.
8f9599cf15
...
297f1bfa32
3 changed files with 3 additions and 140 deletions
|
|
@ -12,9 +12,10 @@
|
||||||
inputs.zen-browser.packages."${pkgs.stdenv.hostPlatform.system}".default
|
inputs.zen-browser.packages."${pkgs.stdenv.hostPlatform.system}".default
|
||||||
beeper
|
beeper
|
||||||
bitwarden-desktop
|
bitwarden-desktop
|
||||||
brave
|
|
||||||
qbittorrent
|
qbittorrent
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
|
tor-browser
|
||||||
|
ungoogled-chromium
|
||||||
vesktop
|
vesktop
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,134 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
perSystem =
|
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
# Managed policy (enforced, user cannot override)
|
|
||||||
brave-policy = pkgs.writeTextFile {
|
|
||||||
name = "brave-managed-policy.json";
|
|
||||||
destination = "/etc/brave/policies/managed/policy.json";
|
|
||||||
text = builtins.toJSON {
|
|
||||||
# ── Startup / UI ────────────────────────────────────────────────
|
|
||||||
DefaultBrowserSettingEnabled = false; # Never ask to set as default
|
|
||||||
PromotionalTabsEnabled = false; # No welcome/promo pages
|
|
||||||
RestoreOnStartup = 5; # Open new tab on startup
|
|
||||||
NewTabPageLocation = "about:blank"; # New tab = blank page
|
|
||||||
BookmarkBarEnabled = false; # Never show bookmarks bar
|
|
||||||
# ── Search engine ───────────────────────────────────────────────
|
|
||||||
DefaultSearchProviderEnabled = true;
|
|
||||||
DefaultSearchProviderName = "Google";
|
|
||||||
DefaultSearchProviderSearchURL = "https://www.google.com/search?q={searchTerms}";
|
|
||||||
DefaultSearchProviderSuggestURL = "https://www.google.com/complete/search?client=chrome&q={searchTerms}";
|
|
||||||
# ── HTTPS ────────────────────────────────────────────────────────
|
|
||||||
HttpsOnlyMode = "force_enabled"; # Strict HTTPS upgrade
|
|
||||||
# ── Cookies ──────────────────────────────────────────────────────
|
|
||||||
DefaultCookiesSetting = 1; # Allow all cookies
|
|
||||||
# ── Passwords / Autofill ─────────────────────────────────────────
|
|
||||||
PasswordManagerEnabled = false;
|
|
||||||
AutofillAddressEnabled = false;
|
|
||||||
AutofillCreditCardEnabled = false;
|
|
||||||
PaymentMethodQueryEnabled = false;
|
|
||||||
# ── Background running ───────────────────────────────────────────
|
|
||||||
BackgroundModeEnabled = false;
|
|
||||||
# ── Clear data on exit ───────────────────────────────────────────
|
|
||||||
ClearBrowsingDataOnExitList = [
|
|
||||||
"browsing_history"
|
|
||||||
"download_history"
|
|
||||||
"cookies_and_other_site_data"
|
|
||||||
"cached_images_and_files"
|
|
||||||
"password_signin"
|
|
||||||
"autofill"
|
|
||||||
"site_settings"
|
|
||||||
"hosted_app_data"
|
|
||||||
];
|
|
||||||
# ── Brave data collection / telemetry ────────────────────────────
|
|
||||||
BraveP3AEnabled = false; # Product analytics
|
|
||||||
BraveStatsPingEnabled = false; # Usage ping
|
|
||||||
BraveWebDiscoveryEnabled = false; # Web discovery project
|
|
||||||
MetricsReportingEnabled = false; # Chromium UMA metrics
|
|
||||||
SafeBrowsingEnabled = false;
|
|
||||||
SafeBrowsingExtendedReportingEnabled = false;
|
|
||||||
SafeBrowsingDeepScanningEnabled = false;
|
|
||||||
SearchSuggestEnabled = false;
|
|
||||||
# ── Web3 / Crypto ────────────────────────────────────────────────
|
|
||||||
BraveWalletDisabled = true;
|
|
||||||
BraveRewardsDisabled = true;
|
|
||||||
BraveVPNDisabled = true;
|
|
||||||
TorDisabled = true;
|
|
||||||
# ── Leo / AI ─────────────────────────────────────────────────────
|
|
||||||
BraveAIChatEnabled = false;
|
|
||||||
# ── Other Brave features ─────────────────────────────────────────
|
|
||||||
BraveTalkDisabled = true;
|
|
||||||
# ── Privacy Sandbox (Chromium) ───────────────────────────────────
|
|
||||||
PrivacySandboxPromptEnabled = false;
|
|
||||||
PrivacySandboxAdTopicsEnabled = false;
|
|
||||||
PrivacySandboxSiteEnabledAdsEnabled = false;
|
|
||||||
PrivacySandboxAdMeasurementEnabled = false;
|
|
||||||
# ── Misc Chromium ────────────────────────────────────────────────
|
|
||||||
WebRtcEventLogCollectionAllowed = false;
|
|
||||||
EnableMediaRouter = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Seeded Preferences (first-run defaults, user can override)
|
|
||||||
# These keys have no policy or CLI equivalent. Brave writes over this
|
|
||||||
# file at runtime so this only sets the initial state on a fresh profile.
|
|
||||||
brave-prefs = pkgs.writeText "brave-initial-prefs.json" (
|
|
||||||
builtins.toJSON {
|
|
||||||
brave = {
|
|
||||||
tabs.vertical_tabs_enabled = true;
|
|
||||||
sidebar.sidebar_show_option = 3;
|
|
||||||
window_closing_confirm = false;
|
|
||||||
};
|
|
||||||
browser.custom_chrome_frame = true;
|
|
||||||
tab_hover_cards.tab_hover_card_images_enabled = true;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
brave-launcher = pkgs.writeShellScriptBin "brave" ''
|
|
||||||
RUNTIME_DIR="/tmp/brave-$$"
|
|
||||||
CONFIG_DIR="$RUNTIME_DIR/config/BraveSoftware"
|
|
||||||
CACHE_DIR="$RUNTIME_DIR/cache/BraveSoftware"
|
|
||||||
POLICY="${brave-policy}/etc/brave/policies/managed/policy.json"
|
|
||||||
|
|
||||||
mkdir -p "$CONFIG_DIR/Brave-Browser/Default"
|
|
||||||
mkdir -p "$CACHE_DIR"
|
|
||||||
cp ${brave-prefs} "$CONFIG_DIR/Brave-Browser/Default/Preferences"
|
|
||||||
chmod 600 "$CONFIG_DIR/Brave-Browser/Default/Preferences"
|
|
||||||
|
|
||||||
trap 'rm -rf "$RUNTIME_DIR"' EXIT
|
|
||||||
|
|
||||||
${pkgs.bubblewrap}/bin/bwrap \
|
|
||||||
--ro-bind /nix/store /nix/store \
|
|
||||||
--ro-bind /etc/fonts /etc/fonts \
|
|
||||||
--bind "$CONFIG_DIR" "$HOME/.config/BraveSoftware" \
|
|
||||||
--bind "$CACHE_DIR" "$HOME/.cache/BraveSoftware" \
|
|
||||||
--ro-bind "$POLICY" /etc/brave/policies/managed/policy.json \
|
|
||||||
--dev /dev \
|
|
||||||
--proc /proc \
|
|
||||||
--tmpfs /tmp \
|
|
||||||
--bind /run /run \
|
|
||||||
--die-with-parent \
|
|
||||||
-- ${pkgs.brave}/bin/brave --no-first-run "$@"
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
|
||||||
packages.brave = pkgs.symlinkJoin {
|
|
||||||
name = "brave";
|
|
||||||
paths = [
|
|
||||||
brave-launcher
|
|
||||||
brave-policy
|
|
||||||
pkgs.brave
|
|
||||||
];
|
|
||||||
postBuild = ''
|
|
||||||
sed -i \
|
|
||||||
"s|Exec=brave-browser|Exec=$out/bin/brave|g" \
|
|
||||||
$out/share/applications/brave-browser.desktop 2>/dev/null || true
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -36,10 +36,6 @@
|
||||||
type = "cpu";
|
type = "cpu";
|
||||||
keyWidth = 11;
|
keyWidth = 11;
|
||||||
}
|
}
|
||||||
{
|
|
||||||
type = "gpu";
|
|
||||||
keyWidth = 11;
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
type = "memory";
|
type = "memory";
|
||||||
keyWidth = 11;
|
keyWidth = 11;
|
||||||
|
|
@ -83,6 +79,6 @@
|
||||||
);
|
);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages.fastfetch = pkgs.writeShellScriptBin "fastfetch" ''exec ${lib.getExe pkgs.fastfetch} --config ${fastfetch-config} --logo-type auto --logo ${fastfetch-logo} --logo-padding-right 1 --logo-width 36 "$@" '';
|
packages.fastfetch = pkgs.writeShellScriptBin "fastfetch" ''exec ${lib.getExe pkgs.fastfetch} --config ${fastfetch-config} --logo-type kitty --logo ${fastfetch-logo} --logo-padding-right 1 --logo-width 36 "$@" '';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue