diff --git a/.config/nvim/plugin/lsp.lua b/.config/nvim/plugin/lsp.lua index ab37b57d..087193b5 100644 --- a/.config/nvim/plugin/lsp.lua +++ b/.config/nvim/plugin/lsp.lua @@ -24,8 +24,6 @@ local servers = { ["nil"] = { formatting = { command = { "nixfmt" } } }, }, }, - - zls = {}, } vim.diagnostic.config { diff --git a/nix/configurations/vanadium/home/dev.nix b/nix/configurations/vanadium/home/dev.nix index dddef0f0..034946b3 100644 --- a/nix/configurations/vanadium/home/dev.nix +++ b/nix/configurations/vanadium/home/dev.nix @@ -75,7 +75,6 @@ "https://haskell-language-server.cachix.org" "https://helix.cachix.org" "https://cache.iog.io" - "https://ghostty.cachix.org" ]; extra-trusted-public-keys = [ "ghc-nix.cachix.org-1:ziC/I4BPqeA4VbtOFpFpu6D1t6ymFvRWke/lc2+qjcg=" @@ -83,7 +82,6 @@ "haskell-language-server.cachix.org-1:juFfHrwkOxqIOZShtC4YC1uT1bBcq2RSvC7OMKx0Nz8=" "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" - "ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns=" ]; }; }; diff --git a/nix/configurations/vanadium/nixos/connectivity.nix b/nix/configurations/vanadium/nixos/connectivity.nix index 92c3453b..37d8c312 100644 --- a/nix/configurations/vanadium/nixos/connectivity.nix +++ b/nix/configurations/vanadium/nixos/connectivity.nix @@ -84,6 +84,7 @@ hardware.bluetooth.enable = true; + # Printing and auto-discovery of Wi-Fi printers services.avahi = { enable = true; diff --git a/nix/configurations/vanadium/nixos/remote-builders.nix b/nix/configurations/vanadium/nixos/remote-builders.nix index b94c066a..48195f91 100644 --- a/nix/configurations/vanadium/nixos/remote-builders.nix +++ b/nix/configurations/vanadium/nixos/remote-builders.nix @@ -6,7 +6,7 @@ let "kvm" ]; in -{ pkgs, ... }: +{pkgs, ...}: { nix.buildMachines = [ # NOTE: these hosts need to be put in the .ssh/config of root. diff --git a/nix/homeModules/common/firefox.nix b/nix/homeModules/common/firefox.nix index 27d93132..194206bf 100644 --- a/nix/homeModules/common/firefox.nix +++ b/nix/homeModules/common/firefox.nix @@ -53,14 +53,10 @@ in "browser.tabs.loadInBackground" = true; "browser.ctrlTab.sortByRecentlyUsed" = false; "layout.css.devPixelsPerPx" = 1.1; - "browser.startup.page" = 1; - "browser.link.open_newwindow" = 2; # open in new tab - "browser.translations.automaticallyPopup" = false; - "browser.tabs.closeWindowWithLastTab" = true; - "general.smoothScroll" = false; # makes me dizzy - "accessibility.typeaheadfind" = true; # type to find - "layout.css.always_underline_links" = true; - "media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled" = true; + + # open links in new window + # this works a lot better with xmonad where I have a bunch of windows + "browser.link.open_newwindow" = 2; # Sponsored crap # Yes diff --git a/nix/homeModules/common/git.nix b/nix/homeModules/common/git.nix index 920de2a8..9b694bb4 100644 --- a/nix/homeModules/common/git.nix +++ b/nix/homeModules/common/git.nix @@ -20,11 +20,7 @@ in lib.mkIf patdiffCfg.enable { settings = { - git.paging = [ - { - externalDiffCommand = "${lib.getExe' patdiffCfg.package "patdiff-git-wrapper"}"; - } - ]; + git.paging.externalDiffCommand = "${lib.getExe' patdiffCfg.package "patdiff-git-wrapper"}"; }; }; diff --git a/nix/homeModules/common/zen-browser.nix b/nix/homeModules/common/zen-browser.nix index a9cecff2..4b2e2fbc 100644 --- a/nix/homeModules/common/zen-browser.nix +++ b/nix/homeModules/common/zen-browser.nix @@ -1,17 +1,53 @@ { + pkgs, config, lib, ... }: let - cfg = config.programs.zen-browser; + inherit (pkgs) nur; - firefoxCfg = config.programs.firefox; + cfg = config.programs.zen-browser; in { programs.zen-browser = { - policies = firefoxCfg.policies; + # https://mozilla.github.io/policy-templates + # The following have more complex logic, keep them as policies and not profiles + policies = { + RequestedLocales = [ + "fr-FR" # for fuck sake stop showing me translated version of French gov sites + "zh-TW" + "en-US" + ]; + SearchEngines = { + Remove = [ + "Google" + "Bing" + "DuckDuckGo" + "Qwant" + "eBay" + "Perplexity" + ]; + Default = "DuckDuckGo Lite"; + Add = [ + { + Name = "DuckDuckGo Lite"; + URLTemplate = "https://lite.duckduckgo.com/lite/search?q={searchTerms}"; + } + ]; + }; + NoDefaultBookmarks = true; + DisplayMenuBar = "never"; + DisplayBookmarksToolbar = "never"; + DNSOverHTTPS = { + Enabled = false; + }; + }; + + # https://searchfox.org/mozilla-central/source/browser/components/enterprisepolicies/Policies.sys.mjs + # Some policies can be rewritten to profiles configuration + # # "locked" semantic from zen (doesn't seem to be doing anything, attempted for zen-twilight 1.18t) # https://github.com/0xc000022070/zen-browser-flake/tree/main#preferences # @@ -21,20 +57,91 @@ in # - click the buttons # - diff it # diff .zen/default/prefs.js{.bk,} - profiles.default = lib.mkMerge [ - firefoxCfg.profiles.default - { + profiles.default = { + settings = { # Zen specific - settings = { - "zen.theme.content-element-separation" = 0; # Remove "borders" around window - "zen.tabs.show-newtab-vertical" = false; - "zen.view.compact.toolbar-flash-popup" = true; - "zen.view.show-newtab-button-top" = false; - "zen.view.use-single-toolbar" = false; - "zen.tabs.ctrl-tab.ignore-pending-tabs" = true; # ctrl-tab ignore unloaded tabs - }; - } - ]; + "zen.theme.content-element-separation" = 0; # Remove "borders" around window + + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "browser.tabs.loadInBackground" = true; + "browser.ctrlTab.sortByRecentlyUsed" = false; + "layout.css.devPixelsPerPx" = 1.1; + "browser.startup.page" = 1; + "browser.translations.automaticallyPopup" = false; + "browser.tabs.closeWindowWithLastTab" = true; + "general.smoothScroll" = false; + + # open links in new window + # this works a lot better with xmonad where I have a bunch of windows + "browser.link.open_newwindow" = 2; + + # Sponsored crap + # Yes + "browser.newtabpage.activity-stream.showSearch" = true; + "browser.newtabpage.activity-stream.feeds.topsites" = true; + # No + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.feeds.section.highlights" = false; + "browser.newtabpage.activity-stream.feeds.system.topstories" = false; + "browser.newtabpage.activity-stream.feeds.section.topstories" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + + # URL + # Yes + "browser.urlbar.suggest.quicksuggest.nonsponsored" = true; + # No + "browser.urlbar.suggest.quicksuggest.sponsored" = false; + + # Pasword manager + "signon.rememberSignons" = false; + "services.passwordSavingEnabled" = false; + "pref.privacy.disable_button.view_passwords" = false; + + # Hardware acceleration + "layers.acceleration.disabled" = false; + + # Screenshot + "screenshots.browser.component.enabled" = true; + + # Recommendations + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; + "extensions.htmlaboutaddons.recommendations.enabled" = false; # Addons + + # Onboarding + "browser.aboutwelcome.enabled" = false; + + # AI crap + "browser.ml.chat.enabled" = false; + "browser.ml.chat.page" = false; + "browser.ml.chat.shortcuts" = false; + "browser.ml.chat.sidebar" = false; + + # Prevent WebRTC leak + # https://mullvad.net/en/help/webrtc + "media.peerconnection.enabled" = false; + }; + + extensions.packages = + let + addons = nur.repos.rycee.firefox-addons; + in + [ + addons.ublock-origin + addons.privacy-badger + addons.user-agent-string-switcher + + /* + Here's to you who want to remove news feed eradicator because you find it annoying: + It is here to annoy you so it is less likely for you to be on the agency inversion path. + DO NOT REMOVE IT. I repeat, DO NOT REMOVE IT. + + If you think it's annoying, go do some jump rope, sing, live. + */ + addons.news-feed-eradicator # did you read the comment above? + addons.multi-account-containers + ]; + }; }; xdg.mimeApps = diff --git a/nix/nixosModules/common/system-nixconf.nix b/nix/nixosModules/common/system-nixconf.nix index cbce71b6..fdfb8d20 100644 --- a/nix/nixosModules/common/system-nixconf.nix +++ b/nix/nixosModules/common/system-nixconf.nix @@ -8,10 +8,6 @@ package = lib.mkDefault pkgs.nix; settings = { - # it is impossible to anser in nix-direnv, so we force it to off. - # https://github.com/nix-community/nix-direnv/issues/678 - accept-flake-config = lib.mkForce false; - # Try to have at least 10GB of space by default min-free = lib.mkDefault (5 * 1024 * 1024 * 1024); max-free = lib.mkDefault (10 * 1024 * 1024 * 1024);