[HomeManager] Add global home-manager configuration, mainly used to configure firefox

This commit is contained in:
Antoine Viallon 2022-01-25 12:13:07 +01:00
parent 6322c89fb6
commit 26d812779f
Signed by: aviallon
GPG key ID: 186FC35EDEB25716
3 changed files with 207 additions and 2 deletions

View file

@ -4,7 +4,7 @@
./general.nix
./boot.nix
./desktop.nix
# ./home-manager.nix
./home-manager.nix
./network.nix
./packages.nix
./services.nix

View file

@ -160,7 +160,7 @@ in {
programs.gnupg.agent.pinentryFlavor = "qt";
environment.systemPackages = with pkgs; with libsForQt5; [
firefox
# firefox
konsole
kate
yakuake

205
home-manager.nix Normal file
View file

@ -0,0 +1,205 @@
{config, pkgs, lib, ...}:
with lib;
let
cfg = config.aviallon.home-manager;
in
{
imports = [
<home-manager/nixos>
];
options.aviallon.home-manager = {
enable = mkOption {
default = true;
example = false;
description = "Global switch for home-manager config";
type = types.bool;
};
users = mkOption {
default = [ "aviallon" ];
example = [ ];
description = "Users to add the default home-manager config to.";
type = types.listOf types.str;
};
};
config = mkIf cfg.enable {
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
home-manager.backupFileExtension = "hmbackup";
home-manager.users = genAttrs cfg.users (u: {
home.packages = [ pkgs.home-manager ];
home.stateVersion = config.system.stateVersion;
#xdg.desktopEntries.firefox = {
# name = "Firefox";
# genericName = "Web Browser";
# exec = "firefox %u";
# terminal = false;
# categories = [ "Application" ];
#};
programs.firefox.enable = true;
programs.firefox.package = pkgs.firefox.override {
cfg = {
enablePlasmaBrowserIntegration = true;
};
};
programs.firefox.extensions = with pkgs.nur.repos.rycee.firefox-addons; [
bypass-paywalls-clean
clearurls
darkreader
decentraleyes
facebook-container
french-language-pack
i-dont-care-about-cookies
https-everywhere
plasma-integration
return-youtube-dislikes
terms-of-service-didnt-read
ublock-origin
];
programs.firefox.profiles = {
default = {
isDefault = true;
settings = {
# Do not save passwords to Firefox...
#"security.ask_for_password" = 0;
# i18n
"intl.accept_languages" = "";
# Don't disable silently installed extensions
"extensions.autoDisableScopes" = 0;
# We handle this elsewhere
"browser.shell.checkDefaultBrowser" = false;
# Don't allow websites to prevent use of right-click, or otherwise
# messing with the context menu.
"dom.event.contextmenu.enabled" = true;
# Don't allow websites to prevent copy and paste. Disable
# notifications of copy, paste, or cut functions. Stop webpage
# knowing which part of the page had been selected.
"dom.event.clipboardevents.enabled" = true;
# Do not track from battery status.
"dom.battery.enabled" = false;
# Show punycode. Help protect from character 'spoofing'.
"network.IDN_show_punycode" = true;
# Disable site reading installed plugins.
"plugins.enumerable_names" = "";
# Use Mozilla instead of Google here.
"geo.provider.network.url" =
"https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
# No speculative content when searching.
"browser.urlbar.speculativeConnect.enabled" = false;
# Sends data to servers when leaving pages.
"beacon.enabled" = false;
# Informs servers about links that get clicked on by the user.
"browser.send_pings" = false;
"browser.tabs.closeWindowWithLastTab" = false;
# DuckDuckGo please
"browser.urlbar.placeholderName" = "duckduckgo";
"browser.search.defaultenginename" = "duckduckgo";
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = "duckduckgo";
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = "duckduckgo";
# Safe browsing
"browser.safebrowsing.enabled" = false;
"browser.safebrowsing.phishing.enabled" = false;
"browser.safebrowsing.malware.enabled" = false;
"browser.safebrowsing.downloads.enabled" = false;
"browser.safebrowsing.provider.google4.updateURL" = "";
"browser.safebrowsing.provider.google4.reportURL" = "";
"browser.safebrowsing.provider.google4.reportPhishMistakeURL" = "";
"browser.safebrowsing.provider.google4.reportMalwareMistakeURL" =
"";
"browser.safebrowsing.provider.google4.lists" = "";
"browser.safebrowsing.provider.google4.gethashURL" = "";
"browser.safebrowsing.provider.google4.dataSharingURL" = "";
"browser.safebrowsing.provider.google4.dataSharing.enabled" = false;
"browser.safebrowsing.provider.google4.advisoryURL" = "";
"browser.safebrowsing.provider.google4.advisoryName" = "";
"browser.safebrowsing.provider.google.updateURL" = "";
"browser.safebrowsing.provider.google.reportURL" = "";
"browser.safebrowsing.provider.google.reportPhishMistakeURL" = "";
"browser.safebrowsing.provider.google.reportMalwareMistakeURL" = "";
"browser.safebrowsing.provider.google.pver" = "";
"browser.safebrowsing.provider.google.lists" = "";
"browser.safebrowsing.provider.google.gethashURL" = "";
"browser.safebrowsing.provider.google.advisoryURL" = "";
"browser.safebrowsing.downloads.remote.url" = "";
# Don't call home on new tabs
"browser.selfsupport.url" = "";
"browser.aboutHomeSnippets.updateUrL" = "";
"browser.startup.homepage_override.mstone" = "ignore";
"browser.startup.homepage_override.buildID" = "";
"startup.homepage_welcome_url" = "";
"startup.homepage_welcome_url.additional" = "";
"startup.homepage_override_url" = "";
# Firefox experiments...
"experiments.activeExperiment" = false;
"experiments.enabled" = false;
"experiments.supported" = false;
"extensions.pocket.enabled" = false;
# Firefox Sync
"identity.fxaccounts.enabled" = true;
# Privacy
"privacy.donottrackheader.enabled" = true;
"privacy.donottrackheader.value" = 1;
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
"privacy.firstparty.isolate" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.archive.enabled" = false;
"browser.toolbars.bookmarks.visibility" = "never";
# Cookies
"network.cookie.cookieBehavior" = 1;
# Perf
"gfx.webrender.all" = true;
"media.ffmpeg.vaapi.enabled" = true;
"media.ffvpx.enabled" = false;
"media.rdd-vpx.enabled" = false;
"gfx.webrender.compositor.force-enabled" = true;
"media.navigator.mediadatadecoder_vpx_enabled" = true;
"webgl.force-enabled" = true;
"layers.acceleration.force-enabled" = true;
"layers.offmainthreadcomposition.enabled" = true;
"layers.offmainthreadcomposition.async-animations" = true;
"layers.async-video.enabled" = true;
"html5.offmainthread" = true;
# Remove those extra empty spaces in both sides
"browser.uiCustomization.state" = ''
{"placements":{"widget-overflow-fixed-list":[],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","fxa-toolbar-menu-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["import-button","personal-bookmarks"]},"seen":["developer-button"],"dirtyAreaCache":["nav-bar","PersonalToolbar"],"currentVersion":17,"newElementCount":4}
'';
};
};
};
});
};
}