From 1cbae3f1fb0dd9044328e1690958b6b43b5f9364 Mon Sep 17 00:00:00 2001 From: osbm Date: Tue, 29 Apr 2025 02:18:37 +0300 Subject: [PATCH] use options in home managers --- home/firefox.nix | 173 ++++++++++++++++++++++++----------------------- home/gtk.nix | 41 +++++++---- home/home.nix | 4 +- 3 files changed, 116 insertions(+), 102 deletions(-) diff --git a/home/firefox.nix b/home/firefox.nix index bf577a8..b8a2eb7 100644 --- a/home/firefox.nix +++ b/home/firefox.nix @@ -1,90 +1,93 @@ -{ - programs.firefox = { - enable = true; - languagePacks = [ - "ja" - "tr" - "en-US" - ]; - policies = { - DisableTelemetry = true; - DisableFirefoxStudies = true; - EnableTrackingProtection = { - Value = true; - Locked = true; - Cryptomining = true; - Fingerprinting = true; - }; - # DisablePocket = true; - DisableFirefoxAccounts = true; - DisableAccounts = true; - DisableFirefoxScreenshots = true; - StartPage = "previous-session"; - # OverrideFirstRunPage = ""; - # OverridePostUpdatePage = ""; - # DontCheckDefaultBrowser = true; - DisplayBookmarksToolbar = "always"; # alternatives: "never" or "newtab" - # DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on" - # SearchBar = "unified"; # alternat - ExtensionSettings = with builtins; let - extension = shortId: uuid: { - name = uuid; - value = { - install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi"; - installation_mode = "normal_installed"; - }; +{lib, ...}: { + options.enableFirefox = lib.mkEnableOption "enableFirefox"; + config = { + programs.firefox = { + enable = true; + languagePacks = [ + "ja" + "tr" + "en-US" + ]; + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; }; - in - listToAttrs [ - (extension "tree-style-tab" "treestyletab@piro.sakura.ne.jp") - (extension "ublock-origin" "uBlock0@raymondhill.net") - (extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}") - (extension "motivation-new-tab" "") - (extension "return-youtube-dislikes" "{762f9885-5a13-4abd-9c77-433dcd38b8fd}") - (extension "violentmonkey" "{aecec67f-0d10-4fa7-b7c7-609a2db280cf}") - # (extension "tabliss" "extension@tabliss.io") - # (extension "umatrix" "uMatrix@raymondhill.net") - # (extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me") - (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") - ]; - # To add additional extensions, find it on addons.mozilla.org, find - # the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/) - # Then, download the XPI by filling it in to the install_url template, unzip it, - # run `jq .browser_specific_settings.gecko.id manifest.json` or - # `jq .applications.gecko.id manifest.json` to get the UUID - }; - profiles.default = { - id = 0; - name = "osbm"; + # DisablePocket = true; + DisableFirefoxAccounts = true; + DisableAccounts = true; + DisableFirefoxScreenshots = true; + StartPage = "previous-session"; + # OverrideFirstRunPage = ""; + # OverridePostUpdatePage = ""; + # DontCheckDefaultBrowser = true; + DisplayBookmarksToolbar = "always"; # alternatives: "never" or "newtab" + # DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on" + # SearchBar = "unified"; # alternat + ExtensionSettings = with builtins; let + extension = shortId: uuid: { + name = uuid; + value = { + install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${shortId}/latest.xpi"; + installation_mode = "normal_installed"; + }; + }; + in + listToAttrs [ + (extension "tree-style-tab" "treestyletab@piro.sakura.ne.jp") + (extension "ublock-origin" "uBlock0@raymondhill.net") + (extension "bitwarden-password-manager" "{446900e4-71c2-419f-a6a7-df9c091e268b}") + (extension "motivation-new-tab" "") + (extension "return-youtube-dislikes" "{762f9885-5a13-4abd-9c77-433dcd38b8fd}") + (extension "violentmonkey" "{aecec67f-0d10-4fa7-b7c7-609a2db280cf}") + # (extension "tabliss" "extension@tabliss.io") + # (extension "umatrix" "uMatrix@raymondhill.net") + # (extension "libredirect" "7esoorv3@alefvanoon.anonaddy.me") + (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") + ]; + # To add additional extensions, find it on addons.mozilla.org, find + # the short ID in the url (like https://addons.mozilla.org/en-US/firefox/addon/!SHORT_ID!/) + # Then, download the XPI by filling it in to the install_url template, unzip it, + # run `jq .browser_specific_settings.gecko.id manifest.json` or + # `jq .applications.gecko.id manifest.json` to get the UUID + }; + profiles.default = { + id = 0; + name = "osbm"; - userChrome = '' - #tabbrowser-tabs { - visibility: collapse; - } - ''; - settings = { - # "Open previous windows and tabs" - "browser.startup.page" = 3; - "browser.contentblocking.category" = true; - "extensions.pocket.enabled" = false; - "extensions.screenshots.disabled" = true; - "browser.topsites.contile.enabled" = false; - "browser.formfill.enable" = false; - "browser.search.suggest.enabled" = false; - "browser.search.suggest.enabled.private" = false; - "browser.urlbar.suggest.searches" = false; - "browser.urlbar.showSearchSuggestionsFirst" = false; - "browser.newtabpage.activity-stream.feeds.section.topstories" = false; - "browser.newtabpage.activity-stream.feeds.snippets" = false; - "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; - "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false; - "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false; - "browser.newtabpage.activity-stream.section.highlights.includeVisited" = false; - "browser.newtabpage.activity-stream.showSponsored" = false; - "browser.newtabpage.activity-stream.system.showSponsored" = false; - "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "ui.key.menuAccessKeyFocuses" = false; + userChrome = '' + #tabbrowser-tabs { + visibility: collapse; + } + ''; + settings = { + # "Open previous windows and tabs" + "browser.startup.page" = 3; + "browser.contentblocking.category" = true; + "extensions.pocket.enabled" = false; + "extensions.screenshots.disabled" = true; + "browser.topsites.contile.enabled" = false; + "browser.formfill.enable" = false; + "browser.search.suggest.enabled" = false; + "browser.search.suggest.enabled.private" = false; + "browser.urlbar.suggest.searches" = false; + "browser.urlbar.showSearchSuggestionsFirst" = false; + "browser.newtabpage.activity-stream.feeds.section.topstories" = false; + "browser.newtabpage.activity-stream.feeds.snippets" = false; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; + "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false; + "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false; + "browser.newtabpage.activity-stream.section.highlights.includeVisited" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.system.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "ui.key.menuAccessKeyFocuses" = false; + }; }; }; }; diff --git a/home/gtk.nix b/home/gtk.nix index 4194a1d..cb5c0e8 100644 --- a/home/gtk.nix +++ b/home/gtk.nix @@ -1,22 +1,33 @@ -{pkgs, ...}: { - home.pointerCursor = { - name = "Dracula"; - package = pkgs.dracula-theme; - gtk.enable = true; +{ + pkgs, + lib, + ... +}: { + options = { + # Enable the GTK theme + enableGTK = lib.mkEnableOption "enableGTK"; }; - gtk = { - enable = true; - theme = { + + config = { + home.pointerCursor = { name = "Dracula"; package = pkgs.dracula-theme; + gtk.enable = true; }; - gtk3.extraConfig = { - gtk-application-prefer-dark-theme = 1; - gtk-cursor-theme-size=8; - }; - gtk4.extraConfig = { - gtk-application-prefer-dark-theme = 1; - gtk-cursor-theme-size=8; + gtk = { + enable = true; + theme = { + name = "Dracula"; + package = pkgs.dracula-theme; + }; + gtk3.extraConfig = { + gtk-application-prefer-dark-theme = 1; + gtk-cursor-theme-size = 8; + }; + gtk4.extraConfig = { + gtk-application-prefer-dark-theme = 1; + gtk-cursor-theme-size = 8; + }; }; }; } diff --git a/home/home.nix b/home/home.nix index b52bb15..5c92228 100644 --- a/home/home.nix +++ b/home/home.nix @@ -27,6 +27,6 @@ home.stateVersion = config.system.stateVersion; - programs.home-manager.enable = true; - + enableGTK = config.myModules.enableKDE; + enableFirefox = config.myModules.enableKDE; }