diff --git a/devshells/default/default.nix b/devshells/default/default.nix index 436e307..8ff2abb 100644 --- a/devshells/default/default.nix +++ b/devshells/default/default.nix @@ -9,6 +9,7 @@ pkgs.mkShell { nixos-anywhere ssh-to-age nvd + nixfmt-tree ; }; diff --git a/flake.lock b/flake.lock index b135821..8a246ab 100644 --- a/flake.lock +++ b/flake.lock @@ -515,7 +515,8 @@ "nixpkgs-unstable": "nixpkgs-unstable", "nvix": "nvix", "quadlet-nix": "quadlet-nix", - "sops-nix": "sops-nix" + "sops-nix": "sops-nix", + "zen-browser": "zen-browser" } }, "sops-nix": { @@ -552,6 +553,29 @@ "repo": "default", "type": "github" } + }, + "zen-browser": { + "inputs": { + "home-manager": [ + "home-manager" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1776144279, + "narHash": "sha256-eX3u6wJ34+qu7ZR1qWOaToGWmudYQSOEStZZm6goP+8=", + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "rev": "727de8a44c85e90f899c540cf3ffa0d5d3344f9c", + "type": "github" + }, + "original": { + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 4042b58..1ac9153 100644 --- a/flake.nix +++ b/flake.nix @@ -119,6 +119,13 @@ url = "github:AvengeMedia/DankMaterialShell/stable"; inputs.nixpkgs.follows = "nixpkgs"; }; + zen-browser = { + url = "github:0xc000022070/zen-browser-flake"; + inputs = { + nixpkgs.follows = "nixpkgs"; + home-manager.follows = "home-manager"; + }; + }; # CrOS inputs nix-secrets = { diff --git a/home/crow/common/optional/browsers/default.nix b/home/crow/common/optional/browsers/default.nix index dfc591a..4e5fdb8 100644 --- a/home/crow/common/optional/browsers/default.nix +++ b/home/crow/common/optional/browsers/default.nix @@ -1,5 +1,68 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: +let + mkPluginUrl = id: "https://addons.mozilla.org/firefox/downloads/latest/${id}/latest.xpi"; + + mkExtensionEntry = + { + id, + pinned ? false, + }: + let + base = { + install_url = mkPluginUrl id; + installation_mode = "force_installed"; + }; + in + if pinned then base // { default_area = "navbar"; } else base; + + mkExtensionSettings = builtins.mapAttrs ( + _: entry: if builtins.isAttrs entry then entry else mkExtensionEntry { id = entry; } + ); +in { + imports = [ + inputs.zen-browser.homeModules.beta + ]; + + # Personal Browser + programs.zen-browser = { + enable = true; + nativeMessagingHosts = [ + pkgs.firefoxpwa + ]; + profiles.default = { + search = { + force = true; + default = "ddg"; + }; + + }; + policies = { + AutofillAddressEnabled = false; + AutofillCreditCardEnabled = false; + DisableAppUpdate = true; + DisableFeedbackCommands = true; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + DontCheckDefaultBrowser = true; + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + ExtensionSettings = mkExtensionSettings { + "uBlock0@raymondhill.net" = "ublock-origin"; + "{d7742d87-e61d-4b78-b8a1-b469842139fa}" = "vimium"; + "sponsorBlocker@ajay.app" = "sponsor-block"; + }; + }; + }; + + # Work Browser programs.firefox = { enable = true; policies = { @@ -24,12 +87,6 @@ PasswordManagerEnabled = false; # You can find extension settings by installing the extension in firefox and then going to about:debugging#/runtime/this-firefox to get the extension ID ExtensionSettings = { - # Bitwarden - "{446900e4-71c2-419f-a6a7-df9c091e268b}" = { - installation_mode = "force_installed"; - install_url = "https://addons.mozilla.org/firefox/downloads/latest/{446900e4-71c2-419f-a6a7-df9c091e268b}/latest.xpl"; - default_area = "navbar"; - }; "uBlock0@raymondhill.net" = { installation_mode = "force_installed"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/uBlock0@raymondhill.net/latest.xpl"; diff --git a/home/crow/common/optional/desktops/awww/default.nix b/home/crow/common/optional/desktops/awww/default.nix index 0fc8e87..f6fc690 100644 --- a/home/crow/common/optional/desktops/awww/default.nix +++ b/home/crow/common/optional/desktops/awww/default.nix @@ -1,6 +1,6 @@ { pkgs, ... }: { - services.swww = { + services.awww = { enable = true; package = pkgs.awww; }; diff --git a/justfile b/justfile index 7eaeed8..55d0a82 100644 --- a/justfile +++ b/justfile @@ -18,6 +18,8 @@ find PACKAGE: rebuild-fast: sudo nixos-rebuild switch --no-reexec --flake . # Update all flake inputs +format: + treefmt update: nix flake update # Update secrets input