diff --git a/flake.lock b/flake.lock index 10c6c93..ba3aa40 100644 --- a/flake.lock +++ b/flake.lock @@ -37,10 +37,26 @@ "type": "github" } }, + "nur": { + "locked": { + "lastModified": 1651915527, + "narHash": "sha256-hsbk0qcI/3/VwTV+G/ffAfg0YGZoPZwViM2TSHK4UKc=", + "owner": "nix-community", + "repo": "nur", + "rev": "c8debd303e1e770ae9082f9beb0d039f7e989c8f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nur", + "type": "github" + } + }, "root": { "inputs": { "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "nur": "nur" } } }, diff --git a/flake.nix b/flake.nix index 99a700d..59e1fcc 100644 --- a/flake.nix +++ b/flake.nix @@ -7,10 +7,11 @@ url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs"; }; + nur.url = "github:nix-community/nur"; }; - outputs = { self, nixpkgs, home-manager }: + outputs = { self, nixpkgs, home-manager, nur }: let globals = { user = "noah"; @@ -37,6 +38,7 @@ gui.compositor.enable = true; } home-manager.nixosModules.home-manager + { nixpkgs.overlays = [ nur.overlay ]; } ./hosts/desktop/hardware-configuration.nix ./hosts/common.nix ./modules/hardware diff --git a/modules/applications/firefox.nix b/modules/applications/firefox.nix index d5430e8..b027987 100644 --- a/modules/applications/firefox.nix +++ b/modules/applications/firefox.nix @@ -3,10 +3,85 @@ { config = lib.mkIf config.gui.enable { home-manager.users.${config.user} = { - home.packages = [ pkgs.firefox ]; + + programs.firefox = { + enable = true; + extensions = with pkgs.nur.repos.rycee.firefox-addons; [ + ublock-origin + vimium + multi-account-containers + facebook-container + temporary-containers + onepassword-password-manager + okta-browser-plugin + sponsorblock + reddit-enhancement-suite + bypass-paywalls-clean + markdownload + darkreader + snowflake + don-t-fuck-with-paste + i-dont-care-about-cookies + ]; + profiles.Profile0 = { + id = 0; + name = "default"; + isDefault = true; + settings = { + "browser.aboutConfig.showWarning" = false; + "browser.warnOnQuit" = false; + "browser.theme.dark-private-windows" = true; + "browser.toolbars.bookmarks.visibility" = "newtab"; + "browser.startup.page" = 3; # Restore previous session + "browser.newtabpage.enabled" = false; # Make new tabs blank + "general.autoScroll" = true; # Drag middle-mouse to scroll + "extensions.pocket.enabled" = false; + "toolkit.legacyUserProfileCustomizations.stylesheets" = + true; # Allow userChrome.css + }; + userChrome = '' + @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + /* Background of tab bar */ + .toolbar-items { + background-color: ${config.gui.colorscheme.base00} !important; + } + /* Tabs themselves */ + .tabbrowser-tab .tab-stack { + border-radius: 5px 5px 0 0; + overflow: hidden; + } + .tab-content { + background-color: ${config.gui.colorscheme.base00} !important; + color: ${config.gui.colorscheme.base06} !important; + } + .tab-content[selected=true] { + background-color: ${config.gui.colorscheme.base01} !important; + color: ${config.gui.colorscheme.base07} !important; + } + /* Below tab bar */ + #nav-bar { + background: ${config.gui.colorscheme.base01} !important; + } + /* URL bar in nav bar */ + #urlbar-background { + background: ${config.gui.colorscheme.base02} !important; + } + /* Text in URL bar */ + #urlbar-input, #urlbar-scheme, + .searchbar-textbox { + color: ${config.gui.colorscheme.base07} !important; + } + ''; + userContent = ""; + extraConfig = ""; + }; + + }; + gtk = { enable = true; - theme = { name = config.gui.gtkTheme; }; + theme = + config.services.xserver.displayManager.lightdm.greeters.gtk.theme; }; }; diff --git a/modules/desktop/xorg.nix b/modules/desktop/xorg.nix index 4c7bd21..0e8e4d0 100644 --- a/modules/desktop/xorg.nix +++ b/modules/desktop/xorg.nix @@ -15,7 +15,7 @@ enable = config.services.xserver.enable; # Make the login screen dark - greeters.gtk.theme.name = config.gui.gtkTheme; + greeters.gtk.theme = { name = config.gui.gtkTheme; }; }; };