diff --git a/flake.nix b/flake.nix index e129e87..2609f30 100644 --- a/flake.nix +++ b/flake.nix @@ -46,6 +46,10 @@ url = "github:makuto/auto-base16-theme"; flake = false; }; + simplefox = { + url = "github:migueravila/SimpleFox"; + flake = false; + }; }; outputs = { self, nixpkgs, ... }@inputs: { @@ -67,7 +71,7 @@ gaming = import ./home-manager/modules/gaming.nix inputs; gamerenv = import ./home-manager/modules/gamerenv.nix; mopidy = import ./home-manager/modules/mopidy.nix; - de2u = import ./home-manager/modules/de2u.nix; + de2u = import ./home-manager/modules/de2u.nix inputs; all = import ./home-manager/modules/default.nix inputs; }; diff --git a/home-manager/modules/de2u.nix b/home-manager/modules/de2u.nix index 997f3cc..5cd5158 100644 --- a/home-manager/modules/de2u.nix +++ b/home-manager/modules/de2u.nix @@ -1,3 +1,4 @@ +inputs: { config, lib, pkgs, ... }: with lib; let @@ -19,6 +20,62 @@ in fonts.enable = lib.mkDefault true; programs.chromium.enable = lib.mkDefault true; + programs.firefox = { + enable = lib.mkDefault true; + + package = lib.mkDefault (if pkgs ? librewolf then pkgs.librewolf else pkgs.firefox); + + extensions = lib.optionals (pkgs ? nur.repos.rycee.firefox-addons) (with pkgs.nur.repos.rycee.firefox-addons; [ + darkreader + bitwarden + violentmonkey + canvasblocker + sponsorblock + stylus + ]); + + profiles.default = + let + base16Ify = lib.replaceStrings + (if config.colors.enable then [ + "#19171a" + "#201e21" + "#dedede" + ] else [ ]) + (if config.colors.enable then [ + "#${config.colors.base16.base00}" + "#${config.colors.base16.base01}" + "#${config.colors.base16.base05}" + ] else [ ]); + in + { + settings = { + "browser.startup.homepage" = "https://wizbos.club"; + + "privacy.resistFingerprinting" = false; + "webgl.disabled" = false; + "privacy.clearOnShutdown.history" = false; + "places.history.enabled" = true; + + "media.setsinkid.enabled" = true; + "privacy.webrtc.legacyGlobalIndicator" = false; + "privacy.webrtc.hideGlobalIndicator" = true; + + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + "layers.acceleration.force-enabled" = true; + "gfx.webrender.all" = true; + "svg.context-properties.content.enabled" = true; + + "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; + + # "general.useragent.override" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"; + "general.useragent.override" = "Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Firefox/91.0"; + }; + + userContent = base16Ify (builtins.readFile "${inputs.simplefox}/chrome/userContent.css"); + userChrome = base16Ify (builtins.readFile "${inputs.simplefox}/chrome/userChrome.css"); + }; + }; programs.kitty = { enable = lib.mkDefault true; @@ -31,6 +88,8 @@ in }; home.packages = with pkgs; [ + rhythmbox + gnomeExtensions.pop-shell gnomeExtensions.blur-me gnomeExtensions.remove-rounded-corners @@ -62,24 +121,37 @@ in xdg.mimeApps = { enable = true; - defaultApplications = { - "inode/directory" = "org.gnome.Nautilus.desktop"; + defaultApplications = + let + browser = + if config.programs.firefox.enable then + ( + if config.programs.firefox.package.pname == "firefox" then + "firefox.desktop" + else + "librewolf.desktop" + ) + else + "chromium-browser.desktop"; + in + { + "inode/directory" = "org.gnome.Nautilus.desktop"; - "image/*" = "org.gnome.eog.desktop"; - "video/*" = "org.gnome.Totem.desktop"; + "image/*" = "org.gnome.eog.desktop"; + "video/*" = "org.gnome.Totem.desktop"; - "text/html" = "chromium-browser.desktop"; - "x-scheme-handler/http" = "chromium-browser.desktop"; - "x-scheme-handler/https" = "chromium-browser.desktop"; - "x-scheme-handler/about" = "chromium-browser.desktop"; + "text/html" = browser; + "x-scheme-handler/http" = browser; + "x-scheme-handler/https" = browser; + "x-scheme-handler/about" = browser; - "x-scheme-handler/mailto" = "org.gnome.Geary.desktop"; + "x-scheme-handler/mailto" = "org.gnome.Geary.desktop"; - "application/zip" = "org.gnome.FileRoller.desktop"; - "application/rar" = "org.gnome.FileRoller.desktop"; - "application/7z" = "org.gnome.FileRoller.desktop"; - "application/*tar" = "org.gnome.FileRoller.desktop"; - }; + "application/zip" = "org.gnome.FileRoller.desktop"; + "application/rar" = "org.gnome.FileRoller.desktop"; + "application/7z" = "org.gnome.FileRoller.desktop"; + "application/*tar" = "org.gnome.FileRoller.desktop"; + }; }; dconf.settings = with lib.hm.gvariant; { @@ -179,8 +251,12 @@ in switch-to-workspace-down = [ "Down" "j" ]; switch-to-workspace-up = [ "Up" "k" ]; toggle-maximized = [ "m" ]; - close = [ "q" "F4" ]; + close = [ "q" ]; + cycle-windows = [ "" ]; + # screw alt keys + cycle-windows-backward = [ "" ]; + activate-window-menu = [ "" ]; }; "org/gnome/mutter/keybindings" = { toggle-tiled-left = [ "" ]; @@ -195,6 +271,13 @@ in toggle-overview = [ "" ]; }; "org/gnome/settings-daemon/plugins/media-keys" = { + play = [ "backslash" ]; + next = [ "bracketright" ]; + previous = [ "bracketleft" ]; + + volume-down = [ "minus" ]; + volume-up = [ "equal" ]; + screensaver = [ "Escape" ]; home = [ "f" ]; email = [ "e" ]; diff --git a/home-manager/modules/default.nix b/home-manager/modules/default.nix index 544bdc8..e260178 100644 --- a/home-manager/modules/default.nix +++ b/home-manager/modules/default.nix @@ -12,6 +12,6 @@ inputs: ./gamerenv.nix ./fonts.nix ./mopidy.nix - ./de2u.nix + (import ./de2u.nix inputs) ]; } diff --git a/modules/de2.nix b/modules/de2.nix index 744fffa..f19eb93 100644 --- a/modules/de2.nix +++ b/modules/de2.nix @@ -8,6 +8,7 @@ in config = mkIf cfg.enable { environment.gnome.excludePackages = with pkgs; [ + gnome.gnome-music gnome.epiphany gnome.gnome-software ];