{ config , pkgs , lib , ... }: { home.packages = with pkgs.nodePackages; [ vscode-css-languageserver-bin vscode-html-languageserver-bin csslint stylelint ] ++ (with pkgs; [ flyctl prettierd personal.htmlformat nodePackages.vercel ]); home.shellAliases = { # 0.2.25 current completion command only affects `flyctl`, although `fly` is a link to `flyctl` fly = "flyctl"; }; programs.chromium = lib.mkIf pkgs.stdenv.isLinux { enable = true; package = pkgs.ungoogled-chromium; extensions = [ # # uBlock origin { id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; } { id = "ocaahdebbfolfmndjeplogmgcagdmblk"; updateUrl = "https://raw.githubusercontent.com/NeverDecaf/chromium-web-store/master/updates.xml"; } ]; dictionaries = with pkgs.hunspellDictsChromium; [ en-gb de-de ]; }; programs.firefox = { enable = pkgs.stdenv.isLinux; package = pkgs.firefox-devedition; profiles.dev-edition-default = { search.default = "DuckDuckGo"; extensions = with pkgs.nur.repos.rycee.firefox-addons; [ a11ycss disable-javascript laboratory-by-mozilla side-view ublock-origin ]; settings = { "browser.aboutConfig.showWarning" = false; "browser.theme.content-theme" = 1; "browser.theme.toolbar-theme" = 1; "browser.tabs.firefox-view" = false; "extensions.activeThemeID" = "firefox-compact-light@mozilla.org"; }; }; policies = { AutoFillCreditCardEnabled = false; CaptivePortal = false; Cookies = { Behavior = "reject-foreign"; }; SanitizeOnShutdown = { Cache = true; Cookies = true; FormData = true; }; DisableFirefoxAccounts = true; DisableFirefoxScreenShots = true; DisableFirefoxStudies = true; DisableMasterPasswordCreation = true; DisablePasswordReveal = true; DisablePocket = true; DisableTelemetry = true; DNSOverHTTPS.Enabled = false; DontCheckDefaultBrowser = true; EnableTrackingProtection = true; GoToIntranetSiteForSingleWordEntryInAddressBar = true; Homepage.URL = "http://localhost:7331"; NewTabPage = false; NoDefaultBookmarks = true; OfferToSaveLogins = false; OverrideFirstRunPage = ""; OverridePostUpdatePage = ""; PasswordManagerEnabled = false; PrintingEnabled = false; SearchBar = "separate"; ShowHomeButton = true; UserMessaging = { ExtensionRecommendations = false; FeatureRecommendations = false; UrlbarInterventions = false; SkipOnboarding = true; MoreFromMozilla = false; }; }; }; programs.emacs.extraPackages = epkgs: (with epkgs; [ caddyfile-mode emmet-mode nginx-mode web-mode ]); programs.neovim.plugins = with pkgs.vimPlugins; [ coc-css coc-html ]; }