diff --git a/flake.lock b/flake.lock index 8ced902..42071bb 100644 --- a/flake.lock +++ b/flake.lock @@ -140,12 +140,28 @@ "type": "github" } }, + "nur": { + "locked": { + "lastModified": 1699163564, + "narHash": "sha256-Jxb/JkUJhXKalVRlhnh2B+lkGASxQ5vrymcHtU71qyI=", + "owner": "nix-community", + "repo": "nur", + "rev": "88abb29a4bfbd84a2f20380c2595db77d36c3635", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nur", + "type": "github" + } + }, "root": { "inputs": { "helix": "helix", "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nur": "nur" } }, "rust-overlay": { diff --git a/flake.nix b/flake.nix index 9181478..3b4c780 100644 --- a/flake.nix +++ b/flake.nix @@ -23,20 +23,25 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nixos-hardware.url = "github:NixOs/nixos-hardware/master"; + nur.url = "github:nix-community/nur"; }; # pass in the urls defined above # the @ syntax stores the arguments in the inputs variable - outputs = inputs @ { + outputs = { self, nixpkgs, home-manager, helix, nixos-hardware, + nur, ... - }: let + } @ inputs: let system = "x86_64-linux"; pkgs = inputs.nixpkgs.legacyPackages.${system}; + overlays = [ + nur.overlay + ]; in { formatter.${system} = pkgs.alejandra; @@ -76,6 +81,7 @@ inherit pkgs; extraSpecialArgs = {inherit inputs;}; # Pass flake inputs to our config modules = [ + { nixpkgs.overlays = overlays; } ./users/tacocat/home.nix ]; }; diff --git a/users/tacocat/programs/default.nix b/users/tacocat/programs/default.nix index c24d056..6a683dd 100644 --- a/users/tacocat/programs/default.nix +++ b/users/tacocat/programs/default.nix @@ -3,6 +3,7 @@ ./kitty.nix ./git.nix ./taskwarrior.nix + ./firefox.nix ]; programs.eza = { @@ -14,5 +15,4 @@ programs.bat = { enable = true; }; - } diff --git a/users/tacocat/programs/firefox.nix b/users/tacocat/programs/firefox.nix new file mode 100644 index 0000000..9e91783 --- /dev/null +++ b/users/tacocat/programs/firefox.nix @@ -0,0 +1,102 @@ +{pkgs, ...}: { + programs.firefox = { + enable = true; + package = pkgs.firefox.override { + extraPolicies = { + DisableAppUpdate = true; + DisableFirefoxAccounts = false; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + DontCheckDefaultBrowser = true; + EnableTrackingProtection = true; + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + FirefoxHome = { + Search = true; + Pocket = false; + Snippets = false; + TopSites = false; + Highlights = false; + }; + UserMessaging = { + ExtensionRecommendations = false; + SkipOnboarding = true; + }; + Cookies = { + ExpireAtSessionEnd = true; + RejectTracker = true; + }; + }; + }; + profiles = { + "aria" = { + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + ublock-origin + bitwarden + canvasblocker + aria2-integration + sponsorblock + xbrowsersync + ]; + settings = { + "browser.aboutConfig.showWarning" = false; + "browser.startup.page" = 1; + "geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"; + "intl.accept_languages" = "en-US, en"; + "app.update.auto" = false; + "browser.download.useDownloadDir" = false; + "browser.download.manager.addToRecentDocs" = false; + }; + search = { + default = "Celtic Lite"; + engines = { + "Nix Packages" = { + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "channel"; + value = "unstable"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = ["@np"]; + }; + "Celtic Lite" = { + urls = [ + { + template = "https://search.celticlite.com/search"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + definedAliases = ["@cl"]; + }; + "Google".metaData.hidden = true; + "Amazon.com".metaData.hidden = true; + "Bing".metaData.hidden = true; + "eBay".metaData.hidden = true; + }; + }; + }; + }; + }; +}