From da8c55506982c4fa281784b8e4ccfcf3487336bb Mon Sep 17 00:00:00 2001 From: Julian Sutter Date: Tue, 24 Jan 2023 14:34:53 -0800 Subject: [PATCH] firefox --- user-jsutter.nix | 300 ++++++++++++++++++++++++++++------------------- 1 file changed, 182 insertions(+), 118 deletions(-) diff --git a/user-jsutter.nix b/user-jsutter.nix index dc89a7a..7a4a23d 100644 --- a/user-jsutter.nix +++ b/user-jsutter.nix @@ -1,12 +1,20 @@ { config, pkgs, home-manager, ... }: + let home-manager = builtins.fetchTarball { url = "https://github.com/nix-community/home-manager/archive/master.tar.gz"; sha256 = "05msmzfa45l9sr9ngd2cfxw66kw0x76d68gp29v5ilrakf8nc90w"; }; - in + { + # Nix User Repository https://github.com/nix-community/NUR + nixpkgs.config.packageOverrides = pkgs: { + nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") { + inherit pkgs; + }; + }; + imports = [ (import "${home-manager}/nixos") ]; @@ -33,20 +41,20 @@ in ]; }; - # Options for Steam + # Steam programs.steam = { enable = true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server }; - + # Zerotier + services.zerotierone.joinNetworks = [ "b15644912e748585" ]; + services.zerotierone.enable= true; home-manager.users.jsutter = { - home.username = "jsutter"; home.homeDirectory = "/home/jsutter"; programs.home-manager.enable = true; - home.stateVersion = "22.11"; # Git Configuration @@ -55,127 +63,183 @@ in userName = "Julian Sutter"; userEmail = "jsutter@symbiotip.com"; }; - dconf.settings = { "org/gnome/mutter" = { experimental-features = [ "scale-monitor-framebuffer" ]; }; }; - # GTK Stuff - gtk = { - enable = true; - - iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; + # Gnome Stuff + gtk = { + enable = true; + iconTheme = { + name = "Papirus-Dark"; + package = pkgs.papirus-icon-theme; + }; + theme = { + name = "palenight"; + package = pkgs.palenight-theme; + }; + cursorTheme = { + name = "Numix-Cursor"; + package = pkgs.numix-cursor-theme; + }; + gtk3.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + gtk4.extraConfig = { + Settings = '' + gtk-application-prefer-dark-theme=1 + ''; + }; + }; + dconf.settings = { + "org/gnome/shell" = { + favorite-apps = [ + "org.gnome.Console.desktop" + "firefox.desktop" + "slack.desktop" + "codium.desktop" + "com.nextcloud.desktopclient.nextcloud.desktop" + "Zoom.desktop" + "steam.desktop" + "vmware-view.desktop" ]; + }; + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + enable-hot-corners = false; + }; + "org/gnome/desktop/wm/preferences" = { + workspace-names = [ "Main" ]; + }; + "org/gnome/desktop/background" = { + picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; + picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; + }; + "org/gnome/desktop/screensaver" = { + picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; + primary-color = "#3465a4"; + secondary-color = "#000000"; + }; + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = [ # "gnome-extensions list" to get a list. + "user-theme@gnome-shell-extensions.gcampax.github.com" + "trayIconsReloaded@selfmade.pl" + "Vitals@CoreCoding.com" + "dash-to-panel@jderose9.github.com" + "sound-output-device-chooser@kgshank.net" + "space-bar@luchrioh" + ]; + }; + }; + home.packages = with pkgs; [ + gnomeExtensions.user-themes + gnomeExtensions.tray-icons-reloaded + gnomeExtensions.vitals + gnomeExtensions.dash-to-panel + gnomeExtensions.sound-output-device-chooser + gnomeExtensions.space-bar + ]; + home.sessionVariables.GTK_THEME = "palenight"; + home.file."firefox-gnome-theme" = { + target = ".mozilla/firefox/default/chrome/firefox-gnome-theme"; + source = fetchTarball { + url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/master.tar.gz"; + sha256 = "1k7w7drq5xvxccxijjl6spf4w02ghil9jya35crysa3hi0mvyn29"; + }; }; - theme = { - name = "palenight"; - package = pkgs.palenight-theme; - }; - - cursorTheme = { - name = "Numix-Cursor"; - package = pkgs.numix-cursor-theme; - }; - - gtk3.extraConfig = { - Settings = '' - gtk-application-prefer-dark-theme=1 - ''; - }; - - gtk4.extraConfig = { - Settings = '' - gtk-application-prefer-dark-theme=1 - ''; - }; - }; - # dconf Stuff - use "sudo dconf watch /" to observe changes and write them here. - dconf.settings = { - - "org/gnome/shell" = { - favorite-apps = [ - "org.gnome.Console.desktop" - "firefox.desktop" - "slack.desktop" - "codium.desktop" - "com.nextcloud.desktopclient.nextcloud.desktop" - "Zoom.desktop" - "steam.desktop" - "vmware-view.desktop" ]; - }; - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - enable-hot-corners = false; - }; - "org/gnome/desktop/wm/preferences" = { - workspace-names = [ "Main" ]; - }; - "org/gnome/desktop/background" = { - picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; - picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; - }; - "org/gnome/desktop/screensaver" = { - picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; - primary-color = "#3465a4"; - secondary-color = "#000000"; - }; - "org/gnome/shell" = { - disable-user-extensions = false; - enabled-extensions = [ # "gnome-extensions list" to get a list. - "user-theme@gnome-shell-extensions.gcampax.github.com" - "trayIconsReloaded@selfmade.pl" - "Vitals@CoreCoding.com" - "dash-to-panel@jderose9.github.com" - "sound-output-device-chooser@kgshank.net" - "space-bar@luchrioh" - ]; - }; - }; - home.packages = with pkgs; [ - gnomeExtensions.user-themes - gnomeExtensions.tray-icons-reloaded - gnomeExtensions.vitals - gnomeExtensions.dash-to-panel - gnomeExtensions.sound-output-device-chooser - gnomeExtensions.space-bar - ]; - - home.sessionVariables.GTK_THEME = "palenight"; - -# Add Firefox GNOME theme directory - home.file."firefox-gnome-theme" = { - target = ".mozilla/firefox/default/chrome/firefox-gnome-theme"; - source = fetchTarball { - url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/master.tar.gz"; - sha256 = "1k7w7drq5xvxccxijjl6spf4w02ghil9jya35crysa3hi0mvyn29"; - }; - }; - - programs.firefox = { - enable = true; - profiles.default = { - name = "Default"; - settings = { - "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; - - # For Firefox GNOME theme: - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "browser.tabs.drawInTitlebar" = false; - "svg.context-properties.content.enabled" = true; - }; - userChrome = '' - @import "firefox-gnome-theme/userChrome.css"; - @import "firefox-gnome-theme/theme/colors/dark.css"; - ''; + programs.firefox = { + enable = true; + package = pkgs.wrapFirefox pkgs.firefox-unwrapped { + extraPolicies = { + CaptivePortal = false; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + DisableFirefoxAccounts = false; + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + FirefoxHome = { + Search = true; + Pocket = false; + Snippets = false; + TopSites = false; + Highlights = false; + }; + UserMessaging = { + ExtensionRecommendations = false; + SkipOnboarding = true; + }; + }; + }; + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + ublock-origin + privacy-badger + bitwarden + clearurls + decentraleyes + duckduckgo-privacy-essentials + floccus + ghostery + privacy-redirect + privacy-badger + languagetool + disconnect + react-devtools + ]; + profiles = { + jsutter = { + id = 0; + name = "jsutter"; + search = { + force = true; + default = "Kagi"; + engines = { + "Nix Packages" = { + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { name = "type"; value = "packages"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + "NixOS Wiki" = { + urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; + iconUpdateURL = "https://nixos.wiki/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "@nw" ]; + }; + "Wikipedia (en)".metaData.alias = "@wiki"; + "Google".metaData.hidden = true; + "Amazon.com".metaData.hidden = true; + "Bing".metaData.hidden = true; + "eBay".metaData.hidden = true; + }; + }; + settings = { + "general.smoothScroll" = true; + }; + extraConfig = '' + user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); + user_pref("full-screen-api.ignore-widgets", true); + user_pref("media.ffmpeg.vaapi.enabled", true); + user_pref("media.rdd-vpx.enabled", true); + ''; + userChrome = '' + @import "firefox-gnome-theme/userChrome.css"; + @import "firefox-gnome-theme/theme/colors/dark.css"; + ''; }; - }; + }; + }; }; - - # Zerotier - services.zerotierone.joinNetworks = [ "b15644912e748585" ]; - services.zerotierone.enable= true; }