From e26fe2df8d5adc42881f7e4761de4e39ddb5d9cd Mon Sep 17 00:00:00 2001 From: joy Date: Wed, 24 Jul 2024 19:31:25 +0200 Subject: [PATCH] firefox --- flake.lock | 18 +- home/firefox/default.nix | 383 +------------------------------------ home/firefox/user.nix | 384 ++++++++++++++++++++++++++++++++++++++ home/hyprland/default.nix | 4 +- 4 files changed, 399 insertions(+), 390 deletions(-) create mode 100644 home/firefox/user.nix diff --git a/flake.lock b/flake.lock index 2a1e7b7..8156bf3 100644 --- a/flake.lock +++ b/flake.lock @@ -142,11 +142,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1721707400, - "narHash": "sha256-09jb7g2M7wC7RyVih98lIer+wylgcWabCxCgILepGAw=", + "lastModified": 1721793798, + "narHash": "sha256-HfdWMR5qC2GOeBMv+UxzVgzlJ6+f5vI9YSW/tTIvB/c=", "owner": "rycee", "repo": "nur-expressions", - "rev": "67153a545bb69b86b8b4c80ac7fbf8eca644462e", + "rev": "2687da27b1f740e281305fc95b76c076e7ca31b2", "type": "gitlab" }, "original": { @@ -227,11 +227,11 @@ ] }, "locked": { - "lastModified": 1721714663, - "narHash": "sha256-ZDW5+rlROxaOuoEfIQM7Gqhoa+WALEYdYIiZhyJjAu0=", + "lastModified": 1721804110, + "narHash": "sha256-i4jINRazBKPqlaS+qhlP+kV/UHEq3vs5itfpblqu4ZM=", "owner": "nix-community", "repo": "home-manager", - "rev": "7560dc942a6fbd37ebd1310b3dbda513de2d4b82", + "rev": "af70fc502a15d7e1e4c5a4c4fc8e06c2ec561e0c", "type": "github" }, "original": { @@ -333,11 +333,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1721573849, - "narHash": "sha256-pHfzFzjADtCqMswGwrfC5klBWJZ6h94bxVrVObJLrEM=", + "lastModified": 1721816671, + "narHash": "sha256-gk+ktb6smoyYmjM5Je2EYxyVLDrFNmRHDzf3iUoElJU=", "owner": "danth", "repo": "stylix", - "rev": "0ef70039a6435446472182c8f8106947abfc523d", + "rev": "c974c17cd089dcbfb16fbde028dd00bcc05e3f73", "type": "github" }, "original": { diff --git a/home/firefox/default.nix b/home/firefox/default.nix index d9f51ae..b75630a 100644 --- a/home/firefox/default.nix +++ b/home/firefox/default.nix @@ -2,6 +2,11 @@ inputs, ... }: { + + imports = [ + user.nix + ]; + programs.firefox = { enable = true; profiles.joy = { @@ -110,384 +115,6 @@ ''; }; - - - userChrome = '' - -/*================== Gruvbox Theme for Firefox ================== -Author: kmason -Based on the color scheme of calvinchd's Gruvbox Dark Firefox Theme - https://gitlab.com/calvinchd/gruvbox-dark-firefox-theme -*/ -@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; - -:root { ---background: #1d2021; ---secondary: #282828; ---foreground: #EBDBB2; - ---orange-highlight: #fe8019; ---sound-border: #68217A; - ---separator: #665e54; - ---toolbar-bgcolor: var(--secondary) !important; - ---tab: var(--background); ---tab-btn: var(--tab-inactive); ---tab-inactive: var(--secondary); ---tab-btn-inactive: var(--tab-inactive); ---tab-hover: #32302f; ---tab-btn-hover: #3C3836; ---toolbar-btn-hover: #49463f; - ---url-bar: #3C3836; ---url-focus: #504945; ---url-bar-item-hover: #6a6257; - ---sidebar: #3C3836; ---sidebar-button-hover: #5A544B; ---sidebar-highlight: #458588; -} - -/* -SEARCH AND POPUPS/MENUS -*/ - -.panel-arrowcontainer { - background-color: var(--secondary) !important; -} - -#PopupAutoComplete, -#PopupSearchAutoComplete -{ - background-color: var(--url-focus) !important; - color: var(--foreground) !important; -} - -panelview { - background-color: var(--sidebar) !important; - color: var(--foreground) !important; -} - -panelview toolbarbutton.subviewbutton:hover { - background-color: var(--sidebar-button-hover) !important; -} - -panel[type="autocomplete-richlistbox"] { - --panel-background: none !important; - border-radius: 4px !important; - color: var(--foreground) !important; -} - -/* - _____ ___ ___ _ ___ _ ___ -|_ _/ _ \ / _ \| | | _ ) / \ | _ \ - | || (_) | (_) | |__| _ \/ = \| / - |_| \___/ \___/|____|___/_/ \_\_|\_\ - -*/ - -toolbarseparator, -menuseparator -{ - border-color: var(--separator) !important; - border-image: none !important; -} - -toolbar { - background-color: var(--secondary); -} - -toolbar#TabsToolbar { - background-color: var(--background); -} -toolbar#TabsToolbar:-moz-window-inactive { - background-color: var(--toolbar-bgcolor) !important; -} - -#titlebar, -#titlebar-spacer, -#titlebar-buttonbox-container -{ - background-color: var(--background) !important; - border: none !important; -} - -#navigator-toolbox { - --tabs-border-color: var(--orange-highlight) !important; -} - -/* Remove border under navbar */ -#navigator-toolbox::after { - border-bottom: 0px !important; -} - -/* remove some borders */ -#navigator-toolbox { - border: none !important; -} - -/* - _ _ ___ _ ___ _ ___ -| | | | _ \| | | _ ) / \ | _ \ -| |_| | /| |__| _ \/ = \| / - \___/|_|\_\____|___/_/ \_\_|\_\ - -*/ - -#urlbar, -#searchbar -{ - box-shadow: none !important; - border: none !important; - border-radius: 4px; - color : var(--foreground) !important; - background-color: var(--url-bar) !important; - --autocomplete-popup-separator-color: var(--separator) !important; -} - -#urlbar-input, -#urlbar-input-container -{ - color: var(--foreground) !important; - background-color: var(--url-bar) !important; -} - -#urlbar:not([open]) #urlbar-input-container:focus-within, -#searchbar:focus-within -{ - border: 2px solid var(--orange-highlight) !important; -} - -#urlbar:focus-within, -#urlbar[open], -#urlbar[open] #urlbar-input-container, -#urlbar[open] #urlbar-input, -#urlbar-input-container:focus-within, -#urlbar-input:focus, -#urlbar-background, -.urlbarView, -#searchbar:focus-within, -menupop -{ - background-color: var(--url-focus) !important; -} -#searchbar:focus-within { - outline: none !important; -} - -:is(panel, menupopup)::part(content) { - background: none !important; -} - -.urlbarView button:hover, -#searchbar button:hover, -.urlbarView-row:hover .urlbarView-row-inner, -.search-autocomplete-richlistbox-popup .autocomplete-richlistitem:hover -{ - background-color: var(--url-bar-item-hover) !important; -} - -.urlbarView-row[type="switchtab"] > span{ - color: var(--orange-highlight) !important; -} - -#PopupSearchAutoComplete .autocomplete-richlistitem[selected], -.searchbar-engine-one-off-item[selected], -.urlbarView-row[selected], -.urlbarView-row[aria-selected="true"], -.urlbarView-row:not([type="tip"], [type="dynamic"])[selected] > .urlbarView-row-inner, -.urlbarView-row-inner[selected] -{ - color: var(--foreground) !important; - background-color: var(--sidebar-highlight) !important; - border-radius: 4px !important; -} - -/* -BOOKMARKS BAR -*/ - -#PersonalToolbar { - background-color: var(--secondary) !important; -} - -/* - _____ _ ___ ___ - |_ _/ \ | _ ) __| - | |/ = \| _ \__ \ - |_/_/ \_\___/___/ - -*/ -.tab-background[selected="true"] { - background-color: transparent !important; - background-image: none !important; -} -.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected="true"]):not([multiselected]){ - background-color: transparent !important; -} - -.tabbrowser-tab[soundplaying="true"] { - --lwt-tab-line-color: var(--sound-border) !important; -} -.tab-content[selected="true"] { - border-color: var(--orange-highlight) !important; - --sound-border: var(--orange-highlight) !important; -} -.tab-text { - color: var(--foreground); -} - -tab, -#tabbrowser-tabs -{ - background-color: var(--background) !important; - color : var(--foreground) !important; -} -tab:-moz-window-inactive, -#tabbrowser-tabs:-moz-window-inactive, -#nav-bar-customization-target -{ - background-color: var(--secondary) !important; -} - -.tabbrowser-tab[selected]{ - opacity: 1; -} - -.tab-loading-burst { - background-color: inherit; -} - -.tab-content -{ - border-radius: 4px; - margin: 5px 0px 5px 0px !important; - border: 1px solid transparent !important; -} -.tab-content[selected="true"] -{ - background-color: var(--secondary) !important; - color : var(--foreground) !important; - border: 1px solid var(--orange-highlight) !important; -} -.tab-content:not([selected="true"]):hover { - background-color: var(--tab-hover) !important; -} - -/* - ___ _____ ___ _ ___ - | _ )_ _| \| |/ __| - | _ \ | | | |\ | |\__ \ - |___/ |_| |_| \__|/___/ - -*/ - -/* -Toolbar buttons -*/ - -toolbarbutton { - fill: var(--foreground) !important; - background-color: transparent !important; -} - -/* -TAB BAR BUTTONS -*/ - -#TabsToolbar toolbarbutton { - border-radius: 4px; - border: 1px solid transparent !important; -} -#TabsToolbar toolbarbutton:-moz-window-inactive { - opacity: 0.7 !important; -} - -#alltabs-button > .toolbarbutton-badge-stack, -#tabs-newtab-button > .toolbarbutton-icon { - background-image: none; - border-radius: 6px; -} -#alltabs-button:hover > .toolbarbutton-badge-stack, -#tabs-newtab-button:hover > .toolbarbutton-icon { - background-color: var(--tab-btn-hover) !important; -} - -/* Firefox View button */ -#TabsToolbar #firefox-view-button > .toolbarbutton-icon -{ - background-image: none !important; - border-radius: 4px; -} -#TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon -{ - background-color: var(--secondary) !important; - color : var(--foreground) !important; - padding: 9px !important; - border: 1px solid var(--orange-highlight) !important; -} -#TabsToolbar #firefox-view-button:not([open]):hover > .toolbarbutton-icon { - background-color: var(--tab-hover) !important; -} - -/* -MIDDLE BAR (url bar) BUTTONS -*/ - -#nav-bar toolbarbutton > .toolbarbutton-icon, -#nav-bar toolbarbutton > .toolbarbutton-badge-stack { - border-radius: 6px; -} -#nav-bar toolbarbutton:hover > .toolbarbutton-icon, -#nav-bar toolbarbutton:hover > .toolbarbutton-badge-stack { - background-color: var(--toolbar-btn-hover) !important; -} - -#back-button { - padding-right: 2px !important; - padding-left: 2px !important; - margin-left: 6px !important; -} - -/* Hamburger Menu */ -#PanelUI-menu-button { - background-color: var(--secondary) !important; - padding-right: 2px !important; - margin-right: 6px !important; -} - -/* -BOOKMARK BUTTONS -*/ -#PersonalToolbar toolbarbutton { - margin: 3px 0px 3px 3px !important; - border-radius: 4px; -} -#PersonalToolbar toolbarbutton:hover { - background-color: var(--toolbar-btn-hover) !important; -} - ''; - - userContent = '' - -:root { - --background: #1d2021; - --secondary: #282828; - --newtab-body: #32302f; - --foreground: #EBDBB2; -} - -@-moz-document url-prefix("about:"), url-prefix("about:newtab"), url-prefix("about:home") { - html, body { - color: var(--foreground) !important; - background-color: var(--newtab-body) !important; - } -} - ''; - - - }; }; } diff --git a/home/firefox/user.nix b/home/firefox/user.nix new file mode 100644 index 0000000..cd9cf3b --- /dev/null +++ b/home/firefox/user.nix @@ -0,0 +1,384 @@ +{ ... } : +{ + programs.firefox = { + enable = true; + profiles.joy = { + + + + userChrome = '' + +/*================== Gruvbox Theme for Firefox ================== +Author: kmason +Based on the color scheme of calvinchd's Gruvbox Dark Firefox Theme - https://gitlab.com/calvinchd/gruvbox-dark-firefox-theme +*/ +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +:root { +--background: #1d2021; +--secondary: #282828; +--foreground: #EBDBB2; + +--orange-highlight: #fe8019; +--sound-border: #68217A; + +--separator: #665e54; + +--toolbar-bgcolor: var(--secondary) !important; + +--tab: var(--background); +--tab-btn: var(--tab-inactive); +--tab-inactive: var(--secondary); +--tab-btn-inactive: var(--tab-inactive); +--tab-hover: #32302f; +--tab-btn-hover: #3C3836; +--toolbar-btn-hover: #49463f; + +--url-bar: #3C3836; +--url-focus: #504945; +--url-bar-item-hover: #6a6257; + +--sidebar: #3C3836; +--sidebar-button-hover: #5A544B; +--sidebar-highlight: #458588; +} + +/* +SEARCH AND POPUPS/MENUS +*/ + +.panel-arrowcontainer { + background-color: var(--secondary) !important; +} + +#PopupAutoComplete, +#PopupSearchAutoComplete +{ + background-color: var(--url-focus) !important; + color: var(--foreground) !important; +} + +panelview { + background-color: var(--sidebar) !important; + color: var(--foreground) !important; +} + +panelview toolbarbutton.subviewbutton:hover { + background-color: var(--sidebar-button-hover) !important; +} + +panel[type="autocomplete-richlistbox"] { + --panel-background: none !important; + border-radius: 4px !important; + color: var(--foreground) !important; +} + +/* + _____ ___ ___ _ ___ _ ___ +|_ _/ _ \ / _ \| | | _ ) / \ | _ \ + | || (_) | (_) | |__| _ \/ = \| / + |_| \___/ \___/|____|___/_/ \_\_|\_\ + +*/ + +toolbarseparator, +menuseparator +{ + border-color: var(--separator) !important; + border-image: none !important; +} + +toolbar { + background-color: var(--secondary); +} + +toolbar#TabsToolbar { + background-color: var(--background); +} +toolbar#TabsToolbar:-moz-window-inactive { + background-color: var(--toolbar-bgcolor) !important; +} + +#titlebar, +#titlebar-spacer, +#titlebar-buttonbox-container +{ + background-color: var(--background) !important; + border: none !important; +} + +#navigator-toolbox { + --tabs-border-color: var(--orange-highlight) !important; +} + +/* Remove border under navbar */ +#navigator-toolbox::after { + border-bottom: 0px !important; +} + +/* remove some borders */ +#navigator-toolbox { + border: none !important; +} + +/* + _ _ ___ _ ___ _ ___ +| | | | _ \| | | _ ) / \ | _ \ +| |_| | /| |__| _ \/ = \| / + \___/|_|\_\____|___/_/ \_\_|\_\ + +*/ + +#urlbar, +#searchbar +{ + box-shadow: none !important; + border: none !important; + border-radius: 4px; + color : var(--foreground) !important; + background-color: var(--url-bar) !important; + --autocomplete-popup-separator-color: var(--separator) !important; +} + +#urlbar-input, +#urlbar-input-container +{ + color: var(--foreground) !important; + background-color: var(--url-bar) !important; +} + +#urlbar:not([open]) #urlbar-input-container:focus-within, +#searchbar:focus-within +{ + border: 2px solid var(--orange-highlight) !important; +} + +#urlbar:focus-within, +#urlbar[open], +#urlbar[open] #urlbar-input-container, +#urlbar[open] #urlbar-input, +#urlbar-input-container:focus-within, +#urlbar-input:focus, +#urlbar-background, +.urlbarView, +#searchbar:focus-within, +menupop +{ + background-color: var(--url-focus) !important; +} +#searchbar:focus-within { + outline: none !important; +} + +:is(panel, menupopup)::part(content) { + background: none !important; +} + +.urlbarView button:hover, +#searchbar button:hover, +.urlbarView-row:hover .urlbarView-row-inner, +.search-autocomplete-richlistbox-popup .autocomplete-richlistitem:hover +{ + background-color: var(--url-bar-item-hover) !important; +} + +.urlbarView-row[type="switchtab"] > span{ + color: var(--orange-highlight) !important; +} + +#PopupSearchAutoComplete .autocomplete-richlistitem[selected], +.searchbar-engine-one-off-item[selected], +.urlbarView-row[selected], +.urlbarView-row[aria-selected="true"], +.urlbarView-row:not([type="tip"], [type="dynamic"])[selected] > .urlbarView-row-inner, +.urlbarView-row-inner[selected] +{ + color: var(--foreground) !important; + background-color: var(--sidebar-highlight) !important; + border-radius: 4px !important; +} + +/* +BOOKMARKS BAR +*/ + +#PersonalToolbar { + background-color: var(--secondary) !important; +} + +/* + _____ _ ___ ___ + |_ _/ \ | _ ) __| + | |/ = \| _ \__ \ + |_/_/ \_\___/___/ + +*/ +.tab-background[selected="true"] { + background-color: transparent !important; + background-image: none !important; +} +.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected="true"]):not([multiselected]){ + background-color: transparent !important; +} + +.tabbrowser-tab[soundplaying="true"] { + --lwt-tab-line-color: var(--sound-border) !important; +} +.tab-content[selected="true"] { + border-color: var(--orange-highlight) !important; + --sound-border: var(--orange-highlight) !important; +} +.tab-text { + color: var(--foreground); +} + +tab, +#tabbrowser-tabs +{ + background-color: var(--background) !important; + color : var(--foreground) !important; +} +tab:-moz-window-inactive, +#tabbrowser-tabs:-moz-window-inactive, +#nav-bar-customization-target +{ + background-color: var(--secondary) !important; +} + +.tabbrowser-tab[selected]{ + opacity: 1; +} + +.tab-loading-burst { + background-color: inherit; +} + +.tab-content +{ + border-radius: 4px; + margin: 5px 0px 5px 0px !important; + border: 1px solid transparent !important; +} +.tab-content[selected="true"] +{ + background-color: var(--secondary) !important; + color : var(--foreground) !important; + border: 1px solid var(--orange-highlight) !important; +} +.tab-content:not([selected="true"]):hover { + background-color: var(--tab-hover) !important; +} + +/* + ___ _____ ___ _ ___ + | _ )_ _| \| |/ __| + | _ \ | | | |\ | |\__ \ + |___/ |_| |_| \__|/___/ + +*/ + +/* +Toolbar buttons +*/ + +toolbarbutton { + fill: var(--foreground) !important; + background-color: transparent !important; +} + +/* +TAB BAR BUTTONS +*/ + +#TabsToolbar toolbarbutton { + border-radius: 4px; + border: 1px solid transparent !important; +} +#TabsToolbar toolbarbutton:-moz-window-inactive { + opacity: 0.7 !important; +} + +#alltabs-button > .toolbarbutton-badge-stack, +#tabs-newtab-button > .toolbarbutton-icon { + background-image: none; + border-radius: 6px; +} +#alltabs-button:hover > .toolbarbutton-badge-stack, +#tabs-newtab-button:hover > .toolbarbutton-icon { + background-color: var(--tab-btn-hover) !important; +} + +/* Firefox View button */ +#TabsToolbar #firefox-view-button > .toolbarbutton-icon +{ + background-image: none !important; + border-radius: 4px; +} +#TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon +{ + background-color: var(--secondary) !important; + color : var(--foreground) !important; + padding: 9px !important; + border: 1px solid var(--orange-highlight) !important; +} +#TabsToolbar #firefox-view-button:not([open]):hover > .toolbarbutton-icon { + background-color: var(--tab-hover) !important; +} + +/* +MIDDLE BAR (url bar) BUTTONS +*/ + +#nav-bar toolbarbutton > .toolbarbutton-icon, +#nav-bar toolbarbutton > .toolbarbutton-badge-stack { + border-radius: 6px; +} +#nav-bar toolbarbutton:hover > .toolbarbutton-icon, +#nav-bar toolbarbutton:hover > .toolbarbutton-badge-stack { + background-color: var(--toolbar-btn-hover) !important; +} + +#back-button { + padding-right: 2px !important; + padding-left: 2px !important; + margin-left: 6px !important; +} + +/* Hamburger Menu */ +#PanelUI-menu-button { + background-color: var(--secondary) !important; + padding-right: 2px !important; + margin-right: 6px !important; +} + +/* +BOOKMARK BUTTONS +*/ +#PersonalToolbar toolbarbutton { + margin: 3px 0px 3px 3px !important; + border-radius: 4px; +} +#PersonalToolbar toolbarbutton:hover { + background-color: var(--toolbar-btn-hover) !important; +} + ''; + + userContent = '' + +:root { + --background: #1d2021; + --secondary: #282828; + --newtab-body: #32302f; + --foreground: #EBDBB2; +} + +@-moz-document url-prefix("about:"), url-prefix("about:newtab"), url-prefix("about:home") { + html, body { + color: var(--foreground) !important; + background-color: var(--newtab-body) !important; + } +} + ''; +}; +}; +} diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix index 94a5183..b436417 100644 --- a/home/hyprland/default.nix +++ b/home/hyprland/default.nix @@ -23,7 +23,6 @@ }; monitor = [ - "eDP-1,2560x1440@165.00Hz,0x0,1.25" "DP-1,2560x1440@165.00Hz,0x0,1,bitdepth,10" ]; @@ -131,7 +130,7 @@ general = { gaps_in = 5; - gaps_out = 20; + gaps_out = 15; border_size = 2; allow_tearing = false; layout = "master"; @@ -157,4 +156,3 @@ }; } -