From 591871d878ed2e6b71574e8bf68f364e7c6d5796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20I=C8=99an?= Date: Sat, 29 Mar 2025 15:30:27 +0100 Subject: [PATCH] browser module + theming --- .gitignore | 1 + configuration.nix | 1 + flake.lock | 39 ++++++++++++++++++ flake.nix | 7 +++- home.nix | 24 ++++++++++- modules/browser.nix | 98 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 168 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 modules/browser.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/configuration.nix b/configuration.nix index d7541f7..ac8ca7e 100644 --- a/configuration.nix +++ b/configuration.nix @@ -26,6 +26,7 @@ hash = "sha256-HLn3bas6uHwjGDyiqyxvRKqVA7XBIYVoVqvFvYUBymc="; }; }; + programs.dconf.enable = true; services.xserver.xkb.layout = "ro"; services.xserver.xkb.options = "eurosign:e,caps:escape"; diff --git a/flake.lock b/flake.lock index 893ee8f..fc2d307 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,43 @@ { "nodes": { + "browser-addons": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "dir": "pkgs/firefox-addons", + "lastModified": 1743119709, + "narHash": "sha256-tlJY7MfAena/yi3lmd7y7vQGpLma4Q1BLtO4dvzF/Vs=", + "owner": "rycee", + "repo": "nur-expressions", + "rev": "f8861a4b09a181dd88f6626d0202d9225ae85d65", + "type": "gitlab" + }, + "original": { + "dir": "pkgs/firefox-addons", + "owner": "rycee", + "repo": "nur-expressions", + "type": "gitlab" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1629284811, + "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -39,6 +77,7 @@ }, "root": { "inputs": { + "browser-addons": "browser-addons", "home-manager": "home-manager", "nixpkgs": "nixpkgs" } diff --git a/flake.nix b/flake.nix index 7048bfc..a55d529 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,10 @@ url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; + browser-addons = { + url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, nixpkgs, home-manager, ... }@inputs: @@ -28,7 +32,8 @@ home-manager = { useGlobalPkgs = true; useUserPackages = true; - extraSpecialArgs = { inherit localEnv; }; + extraSpecialArgs = { inherit localEnv; inherit inputs; }; + backupFileExtension = "backup"; users.${localEnv.username} = import ./home.nix; }; } diff --git a/home.nix b/home.nix index 22accc0..3fe1fe6 100644 --- a/home.nix +++ b/home.nix @@ -7,9 +7,31 @@ imports = [ ./modules/xresources.nix ./modules/packages.nix + ./modules/browser.nix ]; - # basic configuration of git, please change to your own + # Theme stuff + dconf.settings = { + "org/gnome/desktop/background" = { + picture-uri-dark = "file://${pkgs.nixos-artwork.wallpapers.nineish-dark-gray.src}"; + }; + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + gtk = { + enable = true; + theme = { + name = "Adwaita-dark"; + package = pkgs.gnome-themes-extra; + }; + }; + qt = { + enable = true; + platformTheme.name = "adwaita"; + style.name = "adwaita-dark"; + }; + programs.git = { enable = true; userName = "Victor Ișan"; diff --git a/modules/browser.nix b/modules/browser.nix new file mode 100644 index 0000000..cca194e --- /dev/null +++ b/modules/browser.nix @@ -0,0 +1,98 @@ +{ pkgs, inputs, localEnv, ...}: +{ + programs.librewolf = { + enable = true; + profiles.${localEnv.username} = { + settings = { + "cookiebanners.service.mode.privateBrowsing" = 2; # Block cookie banners in private browsing + "cookiebanners.service.mode" = 2; # Block cookie banners + "privacy.donottrackheader.enabled" = true; + "privacy.fingerprintingProtection" = true; + "privacy.resistFingerprinting" = true; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.fingerprinting.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; + "general.useragent.compatMode.firefox" = true; + # Theme + "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "browser.tabs.drawInTitlebar" = true; + "svg.context-properties.content.enabled" = true; + }; + + extensions = with inputs.browser-addons.packages.${localEnv.system}; [ + darkreader + awesome-rss + vimium-c + keepassxc-browser + floccus + return-youtube-dislikes + greasemonkey + ]; + + search = { + default = "searx"; + force = true; + order = [ + "searx" + "nix-packages" + "startpage" + "google" + ]; + engines = { + searx = { + name = "Searx"; + urls = [{ + template = "https://searx.isan.ro/search"; + params = [ + { name = "q"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@s" ]; + iconMapObj."16" = "https://searx.isan.ro/favicon.ico"; + }; + nix-packages = { + name = "Nix Packages"; + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { name = "type"; value = "packages"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + iconMapObj."16" = "https://search.nixos.org/favicon.png"; + definedAliases = [ "@np" ]; + }; + startpage = { + name = "Startpage"; + urls = [{ + template = "https://startpage.com/search"; + params = [ + { name = "q"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@sp" ]; + iconMapObj."16" = "https://startpage.com/favicon.ico"; + }; + google = { + name = "Google"; + urls = [{ + template = "https://google.com/search"; + params = [ + { name = "q"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@ggl" ]; + iconMapObj."16" = "https://google.com/favicon.ico"; + }; + }; + }; + + userChrome = '' + @import "firefox-gnome-theme/userChrome.css" + @import "firefox-gnome-theme/theme/colors/dark.css" + ''; + }; + }; +}