diff --git a/modules/moritz/profiles/base.nix b/modules/moritz/profiles/base.nix index cddef6b..c4674dc 100644 --- a/modules/moritz/profiles/base.nix +++ b/modules/moritz/profiles/base.nix @@ -73,9 +73,14 @@ in { }; }; }; + specialisation.light-theme.configuration = { + stylix = { + base16Scheme = lib.mkOverride 999 ./day.yaml; + }; + }; stylix = { enable = lib.mkDefault true; - base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/da-one-sea.yaml"; + base16Scheme = lib.mkDefault ./night.yaml; fonts = { serif = { package = pkgs.dejavu_fonts; diff --git a/modules/moritz/profiles/day.yaml b/modules/moritz/profiles/day.yaml new file mode 100644 index 0000000..d4c3903 --- /dev/null +++ b/modules/moritz/profiles/day.yaml @@ -0,0 +1,21 @@ +author: https://github.com/catppuccin/catppuccin +name: Catppuccin Latte +palette: + base00: '#eff1f5' + base01: '#cccfd5' + base02: '#aaadb7' + base03: '#898d98' + base04: '#6a6e7b' + base05: '#4c4f69' + base06: '#dc8a78' + base07: '#7287fd' + base08: '#d20f39' + base09: '#fe640b' + base0A: '#df8e1d' + base0B: '#40a02b' + base0C: '#179299' + base0D: '#1e66f5' + base0E: '#8839ef' + base0F: '#dd7878' +system: base16 +variant: light diff --git a/modules/moritz/profiles/night.yaml b/modules/moritz/profiles/night.yaml new file mode 100644 index 0000000..d7080c5 --- /dev/null +++ b/modules/moritz/profiles/night.yaml @@ -0,0 +1,21 @@ +author: https://github.com/catppuccin/catppuccin +name: Catppuccin Macchiato +palette: + base00: '#24273a' + base01: '#434658' + base02: '#62667d' + base03: '#8489a2' + base04: '#a7adc8' + base05: '#cad3f5' + base06: '#f4dbd6' + base07: '#b7bdf8' + base08: '#ed8796' + base09: '#f5a97f' + base0A: '#eed49f' + base0B: '#a6da95' + base0C: '#8bd5ca' + base0D: '#8aadf4' + base0E: '#c6a0f6' + base0F: '#f0c6c6' +system: base16 +variant: dark diff --git a/modules/moritz/programs/firefox.nix b/modules/moritz/programs/firefox.nix index 4944675..b2dee1c 100644 --- a/modules/moritz/programs/firefox.nix +++ b/modules/moritz/programs/firefox.nix @@ -36,139 +36,142 @@ in { }; config = mkIf cfg.enable { - home-manager.users.moritz.programs.firefox = { - enable = true; - policies = let - removeExtensions = ["Google" "Amazon.de" "Bing" "Amazon" "Wikipedia (en)" "Wikipedia (de)"]; - convertName = name: let - lower = toLower name; - escaped = replaceStrings ["."] ["dot"] lower; - sanitized = head (splitString " " escaped); - in "${sanitized}@search.mozilla.org"; - in { - SearchEngines = mkIf (hasInfix "esr" cfg.package) { - Default = "Kagi"; - Remove = removeExtensions; + home-manager.users.moritz = { + stylix.targets.firefox.profileNames = ["default"]; + programs.firefox = { + enable = true; + policies = let + removeExtensions = ["Google" "Amazon.de" "Bing" "Amazon" "Wikipedia (en)" "Wikipedia (de)"]; + convertName = name: let + lower = toLower name; + escaped = replaceStrings ["."] ["dot"] lower; + sanitized = head (splitString " " escaped); + in "${sanitized}@search.mozilla.org"; + in { + SearchEngines = mkIf (hasInfix "esr" cfg.package) { + Default = "Kagi"; + Remove = removeExtensions; + }; + ExtensionSettings = + genAttrs + (map convertName removeExtensions) + (_: {installation_mode = "blocked";}); }; - ExtensionSettings = - genAttrs - (map convertName removeExtensions) - (_: {installation_mode = "blocked";}); - }; - profiles."default" = { - extraConfig = mkIf cfg.arkenfox.enable '' - // Arkenfox user.js - ${arkenfox} + profiles."default" = { + extraConfig = mkIf cfg.arkenfox.enable '' + // Arkenfox user.js + ${arkenfox} - // Overrides - ${cfg.arkenfox.overrides} - ''; - extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ - darkreader - istilldontcareaboutcookies - kagi-search - keepassxc-browser - languagetool - multi-account-containers - sponsorblock - temporary-containers - ublock-origin - vimium - ]; - settings = { - # Disable Pocket - "extensions.pocket.enabled" = false; + // Overrides + ${cfg.arkenfox.overrides} + ''; + extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [ + darkreader + istilldontcareaboutcookies + kagi-search + keepassxc-browser + languagetool + multi-account-containers + sponsorblock + temporary-containers + ublock-origin + vimium + ]; + settings = { + # Disable Pocket + "extensions.pocket.enabled" = false; - # Disable Activity Stream - # https://wiki.mozilla.org/Firefox/Activity_Stream - "browser.newtabpage.activity-stream.enabled" = false; - "browser.newtabpage.activity-stream.telemetry" = false; - "browser.newtabpage.activity-stream.feeds.discoverystreamfeed" = false; - "browser.newtabpage.activity-stream.feeds.section.topstories" = false; - "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; - "browser.newtabpage.activity-stream.showSponsored" = false; - "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = ""; - "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = ""; - "browser.newtabpage.pinned" = "[]"; + # Disable Activity Stream + # https://wiki.mozilla.org/Firefox/Activity_Stream + "browser.newtabpage.activity-stream.enabled" = false; + "browser.newtabpage.activity-stream.telemetry" = false; + "browser.newtabpage.activity-stream.feeds.discoverystreamfeed" = false; + "browser.newtabpage.activity-stream.feeds.section.topstories" = false; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = ""; + "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines" = ""; + "browser.newtabpage.pinned" = "[]"; - # Disable new tab tile ads & preload - # http://www.thewindowsclub.com/disable-remove-ad-tiles-from-firefox - # http://forums.mozillazine.org/viewtopic.php?p=13876331#p13876331 - # https://wiki.mozilla.org/Tiles/Technical_Documentation#Ping - # https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-source - # https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-ping - "browser.newtabpage.enhanced" = false; - "browser.newtabpage.introShown" = true; - "browser.newtab.preload" = false; - "browser.newtabpage.directory.ping" = ""; - "browser.newtabpage.directory.source" = "data:text/plain,{}"; + # Disable new tab tile ads & preload + # http://www.thewindowsclub.com/disable-remove-ad-tiles-from-firefox + # http://forums.mozillazine.org/viewtopic.php?p=13876331#p13876331 + # https://wiki.mozilla.org/Tiles/Technical_Documentation#Ping + # https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-source + # https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-ping + "browser.newtabpage.enhanced" = false; + "browser.newtabpage.introShown" = true; + "browser.newtab.preload" = false; + "browser.newtabpage.directory.ping" = ""; + "browser.newtabpage.directory.source" = "data:text/plain,{}"; - # Disable some not so useful functionality. - "browser.disableResetPrompt" = true; # "Looks like you haven't started Firefox in a while." - "browser.onboarding.enabled" = false; # "New to Firefox? Let's get started!" tour - "browser.aboutConfig.showWarning" = false; # Warning when opening about:config - "extensions.shield-recipe-client.enabled" = false; + # Disable some not so useful functionality. + "browser.disableResetPrompt" = true; # "Looks like you haven't started Firefox in a while." + "browser.onboarding.enabled" = false; # "New to Firefox? Let's get started!" tour + "browser.aboutConfig.showWarning" = false; # Warning when opening about:config + "extensions.shield-recipe-client.enabled" = false; - # do not offer to save passwords = nor allow the user to enable the feature - "signon.rememberSignons" = false; - "signon.rememberSignons.visibilityToggle" = false; + # do not offer to save passwords = nor allow the user to enable the feature + "signon.rememberSignons" = false; + "signon.rememberSignons.visibilityToggle" = false; - # send do not track header - "privacy.donottrackheader.enabled" = true; + # send do not track header + "privacy.donottrackheader.enabled" = true; - # Hide bookmarks - "browser.toolbars.bookmarks.visibility" = "never"; + # Hide bookmarks + "browser.toolbars.bookmarks.visibility" = "never"; - # Smooth scrolling - "general.smoothScroll.lines.durationMaxMS" = 125; - "general.smoothScroll.lines.durationMinMS" = 125; - "general.smoothScroll.mouseWheel.durationMaxMS" = 200; - "general.smoothScroll.mouseWheel.durationMinMS" = 100; - "general.smoothScroll.msdPhysics.enabled" = true; - "general.smoothScroll.other.durationMaxMS" = 125; - "general.smoothScroll.other.durationMinMS" = 125; - "general.smoothScroll.pages.durationMaxMS" = 125; - "general.smoothScroll.pages.durationMinMS" = 125; - "mousewheel.min_line_scroll_amount" = 40; - "mousewheel.system_scroll_override_on_root_content.enabled" = true; - "mousewheel.system_scroll_override_on_root_content.horizontal.factor" = 175; - "mousewheel.system_scroll_override_on_root_content.vertical.factor" = 175; - "toolkit.scrollbox.horizontalScrollDistance" = 6; - "toolkit.scrollbox.verticalScrollDistance" = 2; + # Smooth scrolling + "general.smoothScroll.lines.durationMaxMS" = 125; + "general.smoothScroll.lines.durationMinMS" = 125; + "general.smoothScroll.mouseWheel.durationMaxMS" = 200; + "general.smoothScroll.mouseWheel.durationMinMS" = 100; + "general.smoothScroll.msdPhysics.enabled" = true; + "general.smoothScroll.other.durationMaxMS" = 125; + "general.smoothScroll.other.durationMinMS" = 125; + "general.smoothScroll.pages.durationMaxMS" = 125; + "general.smoothScroll.pages.durationMinMS" = 125; + "mousewheel.min_line_scroll_amount" = 40; + "mousewheel.system_scroll_override_on_root_content.enabled" = true; + "mousewheel.system_scroll_override_on_root_content.horizontal.factor" = 175; + "mousewheel.system_scroll_override_on_root_content.vertical.factor" = 175; + "toolkit.scrollbox.horizontalScrollDistance" = 6; + "toolkit.scrollbox.verticalScrollDistance" = 2; - # Do not check if Firefox is the default browser - "browser.shell.checkDefaultBrowser" = false; + # Do not check if Firefox is the default browser + "browser.shell.checkDefaultBrowser" = false; - # Reduce search engine noise in the urlbar's completion window. The - # shortcuts and suggestions will still work, but Firefox won't clutter - # its UI with reminders that they exist. - "browser.urlbar.suggest.searches" = false; - "browser.urlbar.shortcuts.bookmarks" = false; - "browser.urlbar.shortcuts.history" = false; - "browser.urlbar.shortcuts.tabs" = false; - "browser.urlbar.showSearchSuggestionsFirst" = false; - "browser.urlbar.speculativeConnect.enabled" = false; + # Reduce search engine noise in the urlbar's completion window. The + # shortcuts and suggestions will still work, but Firefox won't clutter + # its UI with reminders that they exist. + "browser.urlbar.suggest.searches" = false; + "browser.urlbar.shortcuts.bookmarks" = false; + "browser.urlbar.shortcuts.history" = false; + "browser.urlbar.shortcuts.tabs" = false; + "browser.urlbar.showSearchSuggestionsFirst" = false; + "browser.urlbar.speculativeConnect.enabled" = false; - # https://bugzilla.mozilla.org/1642623 - "browser.urlbar.dnsResolveSingleWordsAfterSearch" = 0; - # https://blog.mozilla.org/data/2021/09/15/data-and-firefox-suggest/ - "browser.urlbar.suggest.quicksuggest.nonsponsored" = false; - "browser.urlbar.suggest.quicksuggest.sponsored" = false; + # https://bugzilla.mozilla.org/1642623 + "browser.urlbar.dnsResolveSingleWordsAfterSearch" = 0; + # https://blog.mozilla.org/data/2021/09/15/data-and-firefox-suggest/ + "browser.urlbar.suggest.quicksuggest.nonsponsored" = false; + "browser.urlbar.suggest.quicksuggest.sponsored" = false; - # Show whole URL in address bar - "browser.urlbar.trimURLs" = false; + # Show whole URL in address bar + "browser.urlbar.trimURLs" = false; - # auto enable addons - "extensions.autoDisableScopes" = 0; + # auto enable addons + "extensions.autoDisableScopes" = 0; - # Disable Form autofill - # https://wiki.mozilla.org/Firefox/Features/Form_Autofill - "browser.formfill.enable" = false; - "extensions.formautofill.addresses.enabled" = false; - "extensions.formautofill.available" = "off"; - "extensions.formautofill.creditCards.available" = false; - "extensions.formautofill.creditCards.enabled" = false; - "extensions.formautofill.heuristics.enabled" = false; + # Disable Form autofill + # https://wiki.mozilla.org/Firefox/Features/Form_Autofill + "browser.formfill.enable" = false; + "extensions.formautofill.addresses.enabled" = false; + "extensions.formautofill.available" = "off"; + "extensions.formautofill.creditCards.available" = false; + "extensions.formautofill.creditCards.enabled" = false; + "extensions.formautofill.heuristics.enabled" = false; + }; }; }; };