69 lines
2.2 KiB
Nix

{ config, lib, pkgs, user, ... }:
let cfg1 = config.modules.desktop;
cfg2 = config.modules.programs.chrome;
in {
options.modules.programs.chrome = with lib; {
enable = lib.mkOption {
type = types.bool;
default = true;
};
};
config = lib.mkIf (cfg1.enable && cfg2.enable) {
environment.systemPackages = with pkgs; [
google-chrome # Web browser developed by Google.
];
programs.chromium = {
enable = true;
extraOpts = {
# Disable all manner of account-related things.
"BrowserSignin" = 0; # disable
"BrowserAddPersonEnabled" = false;
"BrowserGuestModeEnabled" = false;
"UserDisplayName" = "PolicyUser";
"UserFeedbackAllowed" = false;
"BackgroundModeEnabled" = false;
"MetricsReportingEnabled" = false;
"BlockExternalExtensions" = true;
"AutofillAddressEnabled" = false;
"AutofillCreditCardEnabled" = false;
"PasswordManagerEnabled" = false;
"PromptForDownloadLocation" = true;
"SyncDisabled" = true;
"SpellcheckEnabled" = true;
"SpellcheckLanguage" = [ "en-US" ];
"CloudPrintSubmitEnabled" = false;
"EnableMediaRouter" = false;
"ShowCastIconInToolbar" = false;
# Install extensions
"ExtensionInstallForcelist" = [
"ihennfdbghdiflogeancnalflhgmanop" # Gruvbox theme
"fkeaekngjflipcockcnpobkpbbfbhmdn" # Copy as Markdown
"pcmpcfapbekmbjjkdalcgopdkipoggdi" # MarkDownload
"nngceckbapebfimnlniiiahkandclblb" # Bitwarden
"icpgjfneehieebagbmdbhnlpiopdcmna" # New Tab Redirect
"oahiolknhkbpcolgnpljehalnhblolkm" # Shorts Blocker
"hkgfoiooedgoejojocmhlaklaeopbecg" # Picture-in-Picture (by Google)
"dbepggeogbaibhgnhhndojpepiihcmeb" # Vimium
];
# Setup bookmarks
"BookmarkBarEnabled" = true;
"ShowAppsShortcutInBookmarkBar" = false;
"ManagedBookmarks" = import ./bookmarks.nix;
};
};
# Host blank webpage for default new-tab
networking.firewall.allowedTCPPorts = [ 8080 ];
services.static-web-server = {
enable = true;
listen = "[::]:8080";
root = ../../../../resources/blank;
};
};
}