refactor: change hosts to devices and separate hm modules from nix modules
This commit is contained in:
parent
80eec12883
commit
0e4c446438
127 changed files with 36 additions and 51 deletions
105
home/alacritty.nix
Normal file
105
home/alacritty.nix
Normal file
|
@ -0,0 +1,105 @@
|
|||
{ config, ... }: {
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
env = {
|
||||
POKE = "true";
|
||||
|
||||
# fix wrong colors in tmux
|
||||
TERM = "xterm-256color";
|
||||
};
|
||||
|
||||
key_bindings = [
|
||||
{
|
||||
key = "Return";
|
||||
mods = "Control|Shift";
|
||||
action = "SpawnNewInstance";
|
||||
}
|
||||
];
|
||||
|
||||
window = {
|
||||
padding = {
|
||||
x = 0;
|
||||
y = 10;
|
||||
};
|
||||
|
||||
opacity = 0.8;
|
||||
};
|
||||
|
||||
font = {
|
||||
normal = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
style = "Regular";
|
||||
};
|
||||
bold = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
style = "Bold";
|
||||
};
|
||||
italic = {
|
||||
family = "JetBrainsMono Nerd Font";
|
||||
style = "Italic";
|
||||
};
|
||||
size = config.services.device-vars.fontSize;
|
||||
};
|
||||
|
||||
# https://github.com/dracula/alacritty/blob/05faff15c0158712be87d200081633d9f4850a7d/dracula.yml
|
||||
colors = {
|
||||
primary = {
|
||||
background = "#282a36";
|
||||
foreground = "#f8f8f2";
|
||||
bright_foreground = "#ffffff";
|
||||
};
|
||||
cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
vi_mode_cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
search = {
|
||||
matches = {
|
||||
foreground = "#44475a";
|
||||
background = "#50fa7b";
|
||||
};
|
||||
focused_match = {
|
||||
foreground = "#44475a";
|
||||
background = "#ffb86c";
|
||||
};
|
||||
footer_bar = {
|
||||
background = "#282a36";
|
||||
foreground = "#f8f8f2";
|
||||
};
|
||||
};
|
||||
hints = {
|
||||
start = {
|
||||
foreground = "#282a36";
|
||||
background = "#f1fa8c";
|
||||
};
|
||||
end = {
|
||||
foreground = "#f1fa8c";
|
||||
background = "#282a36";
|
||||
};
|
||||
};
|
||||
line_indicator = {
|
||||
foreground = "None";
|
||||
background = "None";
|
||||
};
|
||||
selection = {
|
||||
text = "CellForeground";
|
||||
background = "#44475a";
|
||||
};
|
||||
normal = {
|
||||
black = "#21222c";
|
||||
red = "#ff5555";
|
||||
green = "#50fa7b";
|
||||
yellow = "#f1fa8c";
|
||||
blue = "#bd93f9";
|
||||
magenta = "#ff79c6";
|
||||
cyan = "#8be9fd";
|
||||
white = "#f8f8f2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
20
home/dconf.nix
Normal file
20
home/dconf.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{ ... }: {
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
|
||||
"apps/seahorse/listing" = {
|
||||
keyrings-selected = [ "gnupg://" ];
|
||||
};
|
||||
|
||||
"org/gtk/settings/file-chooser" = {
|
||||
show-hidden = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
}
|
17
home/firefox/addons/addons.json
Normal file
17
home/firefox/addons/addons.json
Normal file
|
@ -0,0 +1,17 @@
|
|||
[
|
||||
{
|
||||
"slug": "600-sound-volume"
|
||||
},
|
||||
{
|
||||
"slug": "google-container"
|
||||
},
|
||||
{
|
||||
"slug": "checkmarks-web-ext"
|
||||
},
|
||||
{
|
||||
"slug": "ttv-lol-pro"
|
||||
},
|
||||
{
|
||||
"slug": "opera-gx-witchcraft-purple"
|
||||
}
|
||||
]
|
47
home/firefox/addons/default.nix
Normal file
47
home/firefox/addons/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ fetchurl, lib, stdenv }@args:
|
||||
|
||||
let
|
||||
|
||||
buildFirefoxXpiAddon = lib.makeOverridable ({ stdenv ? args.stdenv
|
||||
, fetchurl ? args.fetchurl, pname, version, addonId, url, sha256, meta, ...
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "${pname}-${version}";
|
||||
|
||||
inherit meta;
|
||||
|
||||
src = fetchurl { inherit url sha256; };
|
||||
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = true;
|
||||
|
||||
buildCommand = ''
|
||||
dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
|
||||
mkdir -p "$dst"
|
||||
install -v -m644 "$src" "$dst/${addonId}.xpi"
|
||||
'';
|
||||
});
|
||||
|
||||
packages = import ./generated-firefox-addons.nix {
|
||||
inherit buildFirefoxXpiAddon fetchurl lib stdenv;
|
||||
};
|
||||
|
||||
in packages // {
|
||||
inherit buildFirefoxXpiAddon;
|
||||
|
||||
seventv = let
|
||||
version = "v3.0.10.1000";
|
||||
in buildFirefoxXpiAddon {
|
||||
pname = "seventv";
|
||||
inherit version;
|
||||
addonId = "moz-addon@7tv.app";
|
||||
url = "https://extension.7tv.gg/${version}/ext.xpi";
|
||||
sha256 = "sha256-dZyjFayvnLebSZHjMTTQFjcsxxpmc1aL5q17mLF3kG8=";
|
||||
meta = with lib; {
|
||||
homepage = "https://7tv.app/";
|
||||
description = "The Web Extension for 7TV, bringing new features, emotes, vanity and performance to Twitch, Kick & YouTube";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
105
home/firefox/addons/generated-firefox-addons.nix
Normal file
105
home/firefox/addons/generated-firefox-addons.nix
Normal file
|
@ -0,0 +1,105 @@
|
|||
{ buildFirefoxXpiAddon, fetchurl, lib, stdenv }:
|
||||
{
|
||||
"600-sound-volume" = buildFirefoxXpiAddon {
|
||||
pname = "600-sound-volume";
|
||||
version = "1.5.3";
|
||||
addonId = "{c4b582ec-4343-438c-bda2-2f691c16c262}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4133303/600_sound_volume-1.5.3.xpi";
|
||||
sha256 = "7045a812608338f95181459ae3e518bb51c8dc9a724a4083afb687d14075c304";
|
||||
meta = with lib;
|
||||
{
|
||||
homepage = "http://resourcefulman.net/";
|
||||
description = "Up to 600% volume boost";
|
||||
license = licenses.mpl20;
|
||||
mozPermissions = [ "<all_urls>" "tabs" "activeTab" "storage" ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"checkmarks-web-ext" = buildFirefoxXpiAddon {
|
||||
pname = "checkmarks-web-ext";
|
||||
version = "1.6.1";
|
||||
addonId = "{bd97f89b-17ba-4539-9fec-06852d07f917}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3594420/checkmarks_web_ext-1.6.1.xpi";
|
||||
sha256 = "c3ccf4b302ee96c9b883c4a1f7d26395ab4e276b976cab2d65c9cd898964e4f0";
|
||||
meta = with lib;
|
||||
{
|
||||
homepage = "https://github.com/tanwald/checkmarks";
|
||||
description = "Checks, sorts, formats bookmarks and loads favicons.";
|
||||
license = licenses.gpl3;
|
||||
mozPermissions = [
|
||||
"<all_urls>"
|
||||
"bookmarks"
|
||||
"browsingData"
|
||||
"storage"
|
||||
"tabs"
|
||||
"webNavigation"
|
||||
"webRequest"
|
||||
"webRequestBlocking"
|
||||
];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"google-container" = buildFirefoxXpiAddon {
|
||||
pname = "google-container";
|
||||
version = "1.5.4";
|
||||
addonId = "@contain-google";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3736912/google_container-1.5.4.xpi";
|
||||
sha256 = "47a7c0e85468332a0d949928d8b74376192cde4abaa14280002b3aca4ec814d0";
|
||||
meta = with lib;
|
||||
{
|
||||
homepage = "https://github.com/containers-everywhere/contain-google";
|
||||
description = "THIS IS NOT AN OFFICIAL ADDON FROM MOZILLA!\nIt is a fork of the Facebook Container addon.\n\nPrevent Google from tracking you around the web. The Google Container extension helps you take control and isolate your web activity from Google.";
|
||||
license = licenses.mpl20;
|
||||
mozPermissions = [
|
||||
"<all_urls>"
|
||||
"contextualIdentities"
|
||||
"cookies"
|
||||
"management"
|
||||
"tabs"
|
||||
"webRequestBlocking"
|
||||
"webRequest"
|
||||
"storage"
|
||||
];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"opera-gx-witchcraft-purple" = buildFirefoxXpiAddon {
|
||||
pname = "opera-gx-witchcraft-purple";
|
||||
version = "2.0";
|
||||
addonId = "{bf197856-a3c2-4280-84c5-9b556379b706}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/3522842/opera_gx_witchcraft_purple-2.0.xpi";
|
||||
sha256 = "aa3c6377b8571c42a3988de042694be70ec6a250a9aea7ae1cc262acdc9374eb";
|
||||
meta = with lib;
|
||||
{
|
||||
description = "inspired by Opera GX";
|
||||
license = licenses.cc-by-sa-30;
|
||||
mozPermissions = [];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
"ttv-lol-pro" = buildFirefoxXpiAddon {
|
||||
pname = "ttv-lol-pro";
|
||||
version = "2.2.1";
|
||||
addonId = "{76ef94a4-e3d0-4c6f-961a-d38a429a332b}";
|
||||
url = "https://addons.mozilla.org/firefox/downloads/file/4179399/ttv_lol_pro-2.2.1.xpi";
|
||||
sha256 = "83d012878021fb5fe25bee1101a7a760974ae9e2949b80fd99b73d3da48b1f99";
|
||||
meta = with lib;
|
||||
{
|
||||
homepage = "https://github.com/younesaassila/ttv-lol-pro";
|
||||
description = "TTV LOL PRO removes most livestream ads from Twitch.";
|
||||
license = licenses.gpl3;
|
||||
mozPermissions = [
|
||||
"proxy"
|
||||
"storage"
|
||||
"webRequest"
|
||||
"webRequestBlocking"
|
||||
"https://*.ttvnw.net/*"
|
||||
"https://*.twitch.tv/*"
|
||||
"https://perfprod.com/ttvlolpro/telemetry"
|
||||
"https://www.twitch.tv/*"
|
||||
"https://m.twitch.tv/*"
|
||||
];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
1
home/firefox/addons/seventv_settings.json
Normal file
1
home/firefox/addons/seventv_settings.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"timestamp":1697914605981,"settings":[{"key":"chat.alternating_background","type":"boolean","value":true,"timestamp":1697329498914},{"key":"chat.deleted_messages","type":"number","value":2,"timestamp":1697329507626},{"key":"chat.mod_messages","type":"boolean","value":true,"timestamp":1697329482669},{"key":"chat.timestamp_with_seconds","type":"boolean","value":false,"timestamp":1697329513608},{"key":"general.autoclaim.channel_points","type":"boolean","value":true,"timestamp":1697329532664},{"key":"highlights.basic.mention_title_flash","type":"boolean","value":true,"timestamp":1697329354766},{"key":"highlights.basic.self","type":"boolean","value":true,"timestamp":1697329558832},{"key":"highlights.custom","type":"object","value":[],"timestamp":1697329354321,"constructorName":"Map"},{"key":"layout.hide_bits_buttons","type":"boolean","value":true,"timestamp":1697329436637},{"key":"layout.hide_channel_leaderboard","type":"boolean","value":true,"timestamp":1697329390214},{"key":"layout.hide_community_highlights","type":"boolean","value":false,"timestamp":1697329413217},{"key":"layout.hide_hype_chat_button","type":"boolean","value":true,"timestamp":1697329442683},{"key":"layout.hide_pinned_hype_chats","type":"boolean","value":true,"timestamp":1697329417875},{"key":"layout.hide_prime_offers","type":"boolean","value":true,"timestamp":1697329446012},{"key":"layout.hide_react_buttons","type":"boolean","value":true,"timestamp":1697329433561},{"key":"layout.hide_recommended_channels","type":"boolean","value":true,"timestamp":1697329428437},{"key":"layout.hide_viewers_also_watch","type":"boolean","value":true,"timestamp":1697329425642},{"key":"player.action_onclick","type":"number","value":2,"timestamp":1697329383233},{"key":"player.skip_content_restriction","type":"boolean","value":true,"timestamp":1697329372106},{"key":"player.video_stats","type":"boolean","value":true,"timestamp":1697329375300}]}
|
46
home/firefox/custom.css
Normal file
46
home/firefox/custom.css
Normal file
|
@ -0,0 +1,46 @@
|
|||
.browser-toolbar > * #alltabs-button,
|
||||
#appMenu-fxa-status2,
|
||||
#appMenu-fxa-separator {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* https://github.com/Godiesc/firefox-gx/blob/main/Tricks/README.md */
|
||||
/* Extensions button into the "left-sidebar" - Immovable */
|
||||
|
||||
:root:not([chromehidden~="toolbar"],[sizemode="fullscreen"]) #PersonalToolbar {
|
||||
--padding-top-left-sidebar: 110px !important; /* 182px to one-line config */
|
||||
}
|
||||
|
||||
:root:not([chromehidden~="toolbar"], [sizemode="fullscreen"]) #unified-extensions-button {
|
||||
--toolbarbutton-hover-background: transparent !important;
|
||||
--toolbarbutton-active-background: transparent !important;
|
||||
position: fixed;
|
||||
display: flex;
|
||||
top: 50px !important;
|
||||
left: inherit !important;
|
||||
z-index: 2 !important;
|
||||
fill: var(--general-color) !important;
|
||||
width: calc(var(--uc-vertical-toolbar-width) - 4px) !important;
|
||||
}
|
||||
|
||||
:root:not([chromehidden~="toolbar"], [sizemode="fullscreen"]) #unified-extensions-button:hover,
|
||||
:root:not([chromehidden~="toolbar"], [sizemode="fullscreen"]) #unified-extensions-button[open] {
|
||||
transform: scale(1.12) !important;
|
||||
transition: ease-in-out !important;
|
||||
}
|
||||
|
||||
:root:not([chromehidden~="toolbar"], [sizemode="fullscreen"]) #unified-extensions-button:active {
|
||||
transform: scale(1.0) !important;
|
||||
transition-duration: 0ms !important;
|
||||
}
|
||||
|
||||
#appMenu-addon-installed-notification,
|
||||
#notification-popup {
|
||||
margin-top: -1px !important;
|
||||
margin-inline: -505px !important;
|
||||
}
|
||||
|
||||
#customizationui-widget-panel {
|
||||
margin-top: -1px !important;
|
||||
margin-inline: -200px !important;
|
||||
}
|
179
home/firefox/default.nix
Normal file
179
home/firefox/default.nix
Normal file
|
@ -0,0 +1,179 @@
|
|||
{ config, pkgs, ... }: let
|
||||
firefox-addons = pkgs.recurseIntoAttrs (pkgs.callPackage ./addons { });
|
||||
sound-volume = firefox-addons."600-sound-volume";
|
||||
|
||||
firefox-gx = pkgs.callPackage ./firefox-gx { };
|
||||
in
|
||||
{
|
||||
home.file = {
|
||||
".mozilla/firefox/matt/chrome/components".source = "${firefox-gx}/chrome/components";
|
||||
".mozilla/firefox/matt/chrome/icons".source = "${firefox-gx}/chrome/icons";
|
||||
".mozilla/firefox/matt/chrome/images".source = "${firefox-gx}/chrome/images";
|
||||
".mozilla/firefox/matt/chrome/userContent.css".source = "${firefox-gx}/chrome/userContent.css";
|
||||
};
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
profiles.matt = {
|
||||
isDefault = true;
|
||||
id = 0;
|
||||
|
||||
userChrome = ''
|
||||
${builtins.readFile "${firefox-gx}/chrome/userChrome.css"}
|
||||
${builtins.readFile ./custom.css}
|
||||
'';
|
||||
extraConfig = builtins.readFile "${firefox-gx}/user.js";
|
||||
|
||||
settings = {
|
||||
# Theme
|
||||
"firefoxgx.tab-shapes" = true;
|
||||
"firefoxgx.left-sidebar" = true;
|
||||
"userChrome.tab.bottom_rounded_corner" = true;
|
||||
"userChrome.tab.bottom_rounded_corner.wave" = false;
|
||||
"userChrome.tab.bottom_rounded_corner.australis" = true;
|
||||
|
||||
# Open previous windows and tabs
|
||||
"browser.startup.page" = 3;
|
||||
|
||||
# Prefs
|
||||
"layout.css.devPixelsPerPx" = 1.12;
|
||||
"browser.tabs.firefox-view" = false;
|
||||
"browser.tabs.firefox-view-next" = false;
|
||||
"browser.search.widget.inNavBar" = true;
|
||||
"browser.toolbars.bookmarks.visibility" = "always";
|
||||
"browser.toolbars.bookmarks.showInPrivateBrowsing" = true;
|
||||
|
||||
# remove telemetry
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"datareporting.healthreport.infoURL" = "";
|
||||
"dom.security.https_only_mode" = true;
|
||||
|
||||
# remove first run and warning stuff
|
||||
"datareporting.policy.firstRunURL" = "";
|
||||
"browser.aboutwelcome.enabled" = false;
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
|
||||
# Disable firefox autofill
|
||||
"signon.rememberSignons" = false;
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
|
||||
# remove new tab stuff
|
||||
"extensions.pocket.enabled" = false;
|
||||
"services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
||||
};
|
||||
|
||||
search = {
|
||||
default = "DuckDuckGo";
|
||||
force = true;
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg";
|
||||
definedAliases = [ "@np" ];
|
||||
};
|
||||
|
||||
"NixOS Wiki" = {
|
||||
urls = [{ template =
|
||||
"https://nixos.wiki/index.php?search={searchTerms}";
|
||||
}];
|
||||
iconUpdateURL = "https://nixos.wiki/favicon.png";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@nw" ];
|
||||
};
|
||||
|
||||
"MyNixos" = {
|
||||
urls = [{ template =
|
||||
"https://mynixos.com/search?q={searchTerms}";
|
||||
}];
|
||||
iconUpdateURL = "https://mynixos.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@mn" ];
|
||||
};
|
||||
|
||||
"Firefox Add-ons" = {
|
||||
urls = [{ template =
|
||||
"https://addons.mozilla.org/en-US/firefox/search/?q={searchTerms}";
|
||||
}];
|
||||
iconUpdateURL = "https://addons.mozilla.org/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@fa" ];
|
||||
};
|
||||
|
||||
"ProtonDB" = {
|
||||
urls = [{ template =
|
||||
"https://www.protondb.com/search?q={searchTerms}";
|
||||
}];
|
||||
iconUpdateURL = "https://www.protondb.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@pdb" ];
|
||||
};
|
||||
|
||||
"YouTube" = {
|
||||
urls = [{ template =
|
||||
"https://www.youtube.com/results?search_query={searchTerms}";
|
||||
}];
|
||||
iconUpdateURL = "https://www.youtube.com/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||
definedAliases = [ "@yt" "@youtube" ];
|
||||
};
|
||||
|
||||
"Bing".metaData.hidden = true;
|
||||
"Google".metaData.hidden = true;
|
||||
"eBay".metaData.hidden = true;
|
||||
};
|
||||
order = [
|
||||
"DuckDuckGo"
|
||||
"MyNixos"
|
||||
"NixOS Wiki"
|
||||
"Nix Packages"
|
||||
"Wikipedia (en)"
|
||||
"YouTube"
|
||||
"Firefox Add-ons"
|
||||
"ProtonDB"
|
||||
"Amazon.ca"
|
||||
];
|
||||
};
|
||||
|
||||
extensions = with config.nur.repos;
|
||||
(with bandithedoge.firefoxAddons; [
|
||||
sponsorblock
|
||||
stylus
|
||||
#tridactyl
|
||||
ublock-origin
|
||||
]) ++
|
||||
|
||||
(with rycee.firefox-addons; [
|
||||
bitwarden
|
||||
darkreader
|
||||
floccus
|
||||
istilldontcareaboutcookies
|
||||
image-search-options
|
||||
return-youtube-dislikes
|
||||
undoclosetabbutton
|
||||
]) ++
|
||||
|
||||
(with firefox-addons; [
|
||||
sound-volume
|
||||
google-container
|
||||
checkmarks-web-ext
|
||||
ttv-lol-pro
|
||||
seventv
|
||||
opera-gx-witchcraft-purple
|
||||
]);
|
||||
};
|
||||
};
|
||||
}
|
40
home/firefox/firefox-gx/default.nix
Normal file
40
home/firefox/firefox-gx/default.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
{ lib, stdenvNoCC, fetchFromGitHub, writeText }:
|
||||
let
|
||||
pname = "firefox-gx";
|
||||
version = "8.5";
|
||||
|
||||
custom-menu = writeText "menu" "${builtins.readFile ./ogx_menu.css}";
|
||||
custom-sidebar = writeText "sidebar" "${builtins.readFile ./ogx_left-sidebar.css}";
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Godiesc";
|
||||
repo = pname;
|
||||
rev = "v.${version}";
|
||||
sha256 = "sha256-llffq16PZz5GxkLIJDeWN1d04SCCJFqwCLzOrxgwhYI=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
# Personal changes
|
||||
sed -i 's/var(--fuchsia))/var(--purple))/' ./chrome/components/ogx_root-personal.css
|
||||
|
||||
# Fix new tab background for nix
|
||||
substituteInPlace ./chrome/components/ogx_root-personal.css \
|
||||
--replace '../images/newtab/wallpaper-dark.png' "$out/chrome/images/newtab/private-dark.png"
|
||||
|
||||
# TODO: make patch instead
|
||||
cp -a ${custom-menu} ./chrome/components/ogx_menu.css
|
||||
cp -a ${custom-sidebar} ./chrome/components/ogx_left-sidebar.css
|
||||
|
||||
mkdir -p $out
|
||||
cp -r ./* $out
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Firefox Theme CSS to Opera GX Lovers ";
|
||||
homepage = "https://github.com/Godiesc/firefox-gx";
|
||||
license = licenses.mspl;
|
||||
};
|
||||
}
|
515
home/firefox/firefox-gx/ogx_left-sidebar.css
Normal file
515
home/firefox/firefox-gx/ogx_left-sidebar.css
Normal file
|
@ -0,0 +1,515 @@
|
|||
/* Source file made available under Mozilla Public License v. 2.0 See the main repository for updates as well as full license text.
|
||||
https://github.com/Godiesc/firefox-gx */
|
||||
|
||||
@supports -moz-bool-pref("firefoxgx.left-sidebar") {
|
||||
|
||||
/* ------------------- Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/vertical_bookmarks_toolbar.css ------------------- */
|
||||
|
||||
/* Makes bookmarks toolbar appear vertically at the left side of the window */
|
||||
|
||||
@-moz-document url(chrome://browser/content/browser.xhtml){
|
||||
|
||||
:root:not([inDOMFullscreen]){
|
||||
--uc-vertical-toolbar-width: 60px;
|
||||
}
|
||||
#navigator-toolbox{ position: relative }
|
||||
#PersonalToolbar{
|
||||
position: absolute;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
width: var(--uc-vertical-toolbar-width,0);
|
||||
min-width: unset !important;
|
||||
/* These create a empty area to the bottom of the toolbar, which is to mask a fact that we don't know exactly how high the toolbar should be */
|
||||
height: 100vh;
|
||||
max-height: 100vh !important;
|
||||
padding-bottom: 120px !important;
|
||||
padding-inline: 0px !important; /* Mi edit */
|
||||
}
|
||||
#PersonalToolbar .toolbarbutton-1{
|
||||
max-width: calc(var(--uc-vertical-toolbar-width) - 1px) !important; /* Mi edit - Tamaño horizontal ionos default */
|
||||
/*--toolbarbutton-inner-padding: 8px !important; /* Mi edit */
|
||||
margin: 0px !important;
|
||||
}
|
||||
|
||||
#PersonalToolbar toolbaritem{ /* My new code Tamaño horizontal ionos extensiones y marcadores */
|
||||
max-width: calc(var(--uc-vertical-toolbar-width) - 1px) !important;
|
||||
margin: 0px !important;
|
||||
}
|
||||
|
||||
#OtherBookmarks{ /* My new code - boton OtherBookmarks */
|
||||
margin-inline: 0px !important;
|
||||
}
|
||||
|
||||
#PersonalToolbar #PlacesChevron{
|
||||
display: none;
|
||||
}
|
||||
#PersonalToolbar > #personal-bookmarks{
|
||||
overflow-y: auto;
|
||||
scrollbar-width: none;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
#PlacesToolbar,
|
||||
#PlacesToolbarDropIndicatorHolder{
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#PersonalToolbar #PlacesToolbarItems{
|
||||
display: flex !important;
|
||||
flex-direction: column;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: none;
|
||||
}
|
||||
#PersonalToolbar > toolbaritem{
|
||||
justify-content: center;
|
||||
}
|
||||
#PersonalToolbar #PlacesToolbarItems > toolbarseparator{
|
||||
height: 7px;
|
||||
max-width: var(--my-vertical-toolbar-width) !important; /* My code */
|
||||
margin-inline: 14px !important; /* My code */
|
||||
background-color: var(--general-color) !important; /* My edit */
|
||||
background-clip: padding-box;
|
||||
border-block: 3px solid transparent !important;
|
||||
}
|
||||
|
||||
#PersonalToolbar #PlacesToolbarItems > .bookmark-item{
|
||||
padding-block: 4px !important;
|
||||
margin-inline: 0 !important;
|
||||
}
|
||||
|
||||
#browser,
|
||||
#browser-bottombox,
|
||||
#main-window > body::after, /* This selector is for compatibility with tabs_below_content.css */
|
||||
#customization-container{
|
||||
margin-left: var(--uc-vertical-toolbar-width,0);
|
||||
}
|
||||
:root:is([chromehidden~="toolbar"],[sizemode="fullscreen"]) > body > #browser,
|
||||
:root:is([chromehidden~="toolbar"],[sizemode="fullscreen"]) > body > #browser-bottombox,
|
||||
#main-window:is([chromehidden~="toolbar"],[sizemode="fullscreen"]) > body::after,
|
||||
:root:is([chromehidden~="toolbar"],[sizemode="fullscreen"]) > body > #customization-container{
|
||||
margin-left: 0;
|
||||
}
|
||||
/* You should probably disable this if you have Firefox < 113 */
|
||||
#PersonalToolbar #PlacesToolbarItems{
|
||||
display: -webkit-box !important;
|
||||
-webkit-box-orient: vertical !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------- My Code to Adapt to GX Style ------------------------------------------------------- */
|
||||
|
||||
:root {
|
||||
--uc-vertical-toolbar-width: var(--my-vertical-toolbar-width) !important; /* Nuevo tamaño sidebar */
|
||||
--padding-left-tab: calc(var(--uc-vertical-toolbar-width) - 1px) !important; /* Nuevo tamaño botón "Menú" */
|
||||
}
|
||||
|
||||
/* Margen izquierda pestañas cuando se muestra la menu-bar */
|
||||
|
||||
#toolbar-menubar, #toolbar-menubar[autohide="false"]+#TabsToolbar {
|
||||
padding-left: var(--padding-left-tab) !important;
|
||||
}
|
||||
|
||||
/* Mover nav-bar a la derecha */
|
||||
|
||||
:root:not([chromehidden~="toolbar"], [sizemode="fullscreen"]) #nav-bar-customization-target > :is(toolbarbutton, toolbaritem):first-child{
|
||||
margin-left: var(--uc-vertical-toolbar-width,0) !important;
|
||||
}
|
||||
|
||||
/* Posición y estilo de la barra lateral izquierda de marcadores */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PersonalToolbar {
|
||||
--toolbar-bgcolor: transparent !important;
|
||||
--toolbarbutton-hover-background: transparent !important;
|
||||
--toolbarbutton-active-background: transparent !important;
|
||||
--toolbarbutton-hover-personal: transparent !important;
|
||||
--toolbarbutton-icon-fill: var(--general-color) !important;
|
||||
--toolbarbutton-border-radius: 0px !important;
|
||||
--padding-top-left-sidebar: 96px !important;
|
||||
--padding-bottom-left-sidebar: 101px !important;
|
||||
--height-left-sidebar: calc(100vh - 1px + var(--toolbar-height-personal) + var(--tab-height-personal)*2 + var(--windowed-top-padding, 0px)) !important;
|
||||
|
||||
height: var(--height-left-sidebar) !important;
|
||||
max-height: var(--height-left-sidebar) !important;
|
||||
background-color: var(--lwt-frame) !important;
|
||||
background-image: inherit !important;
|
||||
background-size: cover !important;
|
||||
|
||||
/* margen top-bottom de los iconos */
|
||||
padding-top: var(--padding-top-left-sidebar) !important;
|
||||
padding-bottom: var(--padding-bottom-left-sidebar) !important;
|
||||
|
||||
/* Linea Gradiente */
|
||||
margin-top: calc( -1px - var(--toolbar-height-personal) - var(--tab-height-personal) * 2 - var(--windowed-top-padding, 0px)) !important;
|
||||
border-right: 1px solid transparent !important;
|
||||
border-image: linear-gradient(to bottom, transparent calc(var(--tab-height-personal)*2 + var(--windowed-top-padding, 0px) + 1px),
|
||||
var(--general-color) calc(var(--tab-height-personal)*2 + var(--windowed-top-padding, 0px) + 1px),
|
||||
var(--button-active-bgcolor) 42%, var(--lwt-frame) 94%) 1 !important;
|
||||
}
|
||||
|
||||
/* Linea gradiente -touch mode- */
|
||||
|
||||
:root[uidensity="touch"]:not([chromehidden~="toolbar"]) #PersonalToolbar {
|
||||
border-image: linear-gradient(to bottom, transparent calc(var(--tab-height-personal)*2 + var(--windowed-top-padding, 0px) - 1px),
|
||||
var(--general-color) calc(var(--tab-height-personal)*2 + var(--windowed-top-padding, 0px) - 1px), var(--button-active-bgcolor) 42%, var(--lwt-frame) 94%) 1 !important;
|
||||
}
|
||||
|
||||
/* Quitar label de items de la barra laterar */
|
||||
|
||||
#personal-bookmarks .bookmark-item>.toolbarbutton-text, #import-button label {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Quita tambien el espacio despues del ícono - sirve para centrar */
|
||||
#PlacesToolbarItems > .bookmark-item > .toolbarbutton-icon[label]:not([label=""]), /* Marcadores */
|
||||
#OtherBookmarks.bookmark-item[container] > .toolbarbutton-icon, /* OtrosMarcadores */
|
||||
#bookmarks-toolbar-placeholder > .toolbarbutton-icon{ /* MArcadores en customization mode*/
|
||||
margin-inline: 0px !important;
|
||||
}
|
||||
|
||||
/* Firefox view icon */
|
||||
|
||||
toolbar:is(#PersonalToolbar) #firefox-view-button[aria-pressed="true"] .toolbarbutton-icon {
|
||||
border-radius: 3px !important;
|
||||
}
|
||||
|
||||
#firefox-view-button image {
|
||||
list-style-image: url("../images/firefoxview-close.svg") !important;
|
||||
}
|
||||
|
||||
#firefox-view-button[aria-pressed="false"]:active .toolbarbutton-icon{
|
||||
list-style-image: url("../images/firefoxview-close.svg") !important;
|
||||
transition-duration: 250ms !important;
|
||||
}
|
||||
|
||||
#firefox-view-button[aria-pressed="true"]:not(:active) .toolbarbutton-icon{
|
||||
list-style-image: url("../images/firefoxview-open.svg") !important;
|
||||
transition-duration: 350ms !important;
|
||||
}
|
||||
|
||||
/* Zoom on :hover items */
|
||||
|
||||
/* animación */
|
||||
@keyframes scale5{
|
||||
0%{ transform:scale(0.8) }
|
||||
/*98%{ transform:scale(1.1) }*/
|
||||
100%{ transform:scale(1) }}
|
||||
|
||||
/* Normal */
|
||||
#PersonalToolbar .toolbarbutton-1:not(:hover,[open="true"], :active) .toolbarbutton-icon, /* Botones default y extensiones */
|
||||
#PersonalToolbar #PlacesToolbarItems>.bookmark-item:not(:hover,[open="true"], :active)>.toolbarbutton-icon, /* Botones de marcadores */
|
||||
#PersonalToolbar #OtherBookmarks:not(:hover,[open="true"], :active) .toolbarbutton-icon{ /* Boton - OtrosMarcadores */ /* Boton - OtrosMarcadores */
|
||||
transform: scale(1.0) !important;
|
||||
transition: ease-in-out !important;
|
||||
transition-duration: 200ms !important;
|
||||
}
|
||||
|
||||
/* :hover */
|
||||
#PersonalToolbar .toolbarbutton-1:hover:not([open="true"],:active) .toolbarbutton-icon,
|
||||
#PersonalToolbar #PlacesToolbarItems>.bookmark-item:is(:hover):not([open="true"],:active)>.toolbarbutton-icon,
|
||||
#PersonalToolbar #OtherBookmarks:is(:hover):not([open="true"],:active) .toolbarbutton-icon{
|
||||
transform: scale(1.12) !important;
|
||||
transition: ease-in-out !important;
|
||||
transition-duration: 50ms !important;
|
||||
}
|
||||
|
||||
/* Active */
|
||||
#PersonalToolbar .toolbarbutton-1:is(:active):not([open="true"]) .toolbarbutton-icon,
|
||||
#PersonalToolbar #PlacesToolbarItems>.bookmark-item:is(:active):not([open="true"])>.toolbarbutton-icon,
|
||||
#PersonalToolbar #OtherBookmarks:is(:active):not([open="true"]) .toolbarbutton-icon{
|
||||
animation: scale5 ease-in-out 250ms !important;
|
||||
}
|
||||
|
||||
/* [open] */
|
||||
#PersonalToolbar .toolbarbutton-1:is([open]) .toolbarbutton-icon ,
|
||||
#PersonalToolbar #PlacesToolbarItems>.bookmark-item:is([open])>.toolbarbutton-icon,
|
||||
#PersonalToolbar #OtherBookmarks:is([open]) image{
|
||||
animation: scale5 ease-in-out 250ms !important;
|
||||
}
|
||||
|
||||
/* [open] marcadores - más tiempo
|
||||
#PersonalToolbar #PlacesToolbarItems>.bookmark-item:is([open])>.toolbarbutton-icon,
|
||||
#PersonalToolbar #OtherBookmarks:is([open]) .toolbarbutton-icon{
|
||||
transform: scale(1.0) !important;
|
||||
transition: ease-in-out !important;
|
||||
transition-duration: 250ms !important;
|
||||
} */
|
||||
|
||||
/* Tamaño vertical de Items de la barra lateral */
|
||||
|
||||
#PersonalToolbar .toolbarbutton-1,
|
||||
#PersonalToolbar #PlacesToolbarItems>.bookmark-item{ /* Botones de marcadores */
|
||||
margin-block: 10px !important;
|
||||
/*background-color: blue !important;/**/
|
||||
}
|
||||
|
||||
/* Efecto clic botones default y extensiones
|
||||
|
||||
@keyframes scale-up-center1{
|
||||
0%{ background-color: color-mix(in srgb, transparent 88%, var(--lwt-tab-text));
|
||||
border-radius: 50%;
|
||||
width: 22px;
|
||||
height: 22px;}
|
||||
60%{ background-color: color-mix(in srgb, transparent 96%, var(--lwt-tab-text));
|
||||
border-radius: 10%;
|
||||
width: calc(var(--my-vertical-toolbar-width) + 0px);
|
||||
height: 32px;}
|
||||
100%{ background-color: transparent;
|
||||
border-radius: 0%;
|
||||
width: calc(var(--my-vertical-toolbar-width) + 20px);}}
|
||||
|
||||
#PersonalToolbar .toolbarbutton-1:is([open],:active)::after{
|
||||
content: ""; display: -moz-box; position: absolute !important;
|
||||
align-self: center !important;
|
||||
background-color: transparent;
|
||||
border-radius: 0px;
|
||||
animation: scale-up-center1 550ms !important;
|
||||
}*/
|
||||
|
||||
/* Separador usando "espacio flexible" */
|
||||
|
||||
#PersonalToolbar toolbarpaletteitem[place="toolbar"][id^="wrapper-customizableui-special-spring"], #PersonalToolbar toolbarspring {
|
||||
background: var(--general-color) !important;
|
||||
width: calc(var(--my-vertical-toolbar-width) - 29px) !important;
|
||||
min-width: 0px !important;
|
||||
min-height: 1px !important;
|
||||
max-height: 1px !important;
|
||||
margin-inline: 14px !important;
|
||||
margin-block: 6px !important;
|
||||
}
|
||||
|
||||
/* ######################################## items en modo "customize toolbar ######################################## */
|
||||
|
||||
/* Separador espacio flexible in customize mode */
|
||||
|
||||
#PersonalToolbar toolbarpaletteitem[place="toolbar"][id^="wrapper-customizableui-special-spring"] {
|
||||
min-width: calc(var(--my-vertical-toolbar-width) - 20px) !important;
|
||||
min-height: 4px !important;
|
||||
max-height: 4px !important;
|
||||
margin-inline-start: 10px !important;
|
||||
}
|
||||
|
||||
/* Quita el contador y bug de espacio flexible, in customize mode */
|
||||
|
||||
#PersonalToolbar toolbarpaletteitem[place="toolbar"] > toolbarspring,
|
||||
#PersonalToolbar toolbarpaletteitem[place="toolbar"] toolbaritem toolbarbutton .toolbarbutton-badge{
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Alinear items in customize mode */
|
||||
|
||||
#PersonalToolbar toolbarpaletteitem[place="toolbar"] {
|
||||
justify-content: center !important;
|
||||
}
|
||||
|
||||
|
||||
/* ################################################### Extensiones ################################################## */
|
||||
|
||||
/* Ocultar contador cuando este es "0" */
|
||||
|
||||
toolbaritem toolbarbutton[badge="0"]:not(:hover) .toolbarbutton-badge { opacity: 0 !important; }
|
||||
|
||||
/* Contador de la extension */
|
||||
|
||||
#PersonalToolbar .toolbarbutton-badge {
|
||||
background-color: var(--button-hover-bgcolor) !important;
|
||||
color: white !important;
|
||||
margin-inline-end: -9px !important;
|
||||
margin-block-end: -4px !important;
|
||||
min-width: auto !important;
|
||||
max-width: auto !important;
|
||||
align-self: end !important;
|
||||
}
|
||||
|
||||
/* Tamaño más grande para las extensiones ssociales puestas en la barra lateral */
|
||||
|
||||
#PersonalToolbar #_d3d2a327-1ae0-4fd6-b732-0844d0b7fd4c_-BAP image,
|
||||
#PersonalToolbar #xrst_vardakis_gmail_com-BAP image,
|
||||
#PersonalToolbar #_34a257f3-adfe-460d-b6ca-7dd18d18506b_-BAP image,
|
||||
#PersonalToolbar #_14390478-b41b-4e29-8307-8a3c714f7783_-BAP image,
|
||||
#PersonalToolbar #ublock0_raymondhill_net-BAP image,
|
||||
#PersonalToolbar #panorama-tab-groups_example_com-BAP image,
|
||||
#PersonalToolbar #_a16c3799-d903-44e3-b044-a032197f5ef8_-BAP image,
|
||||
#PersonalToolbar #_3119ae66-3c2f-47e2-b1b1-1c76cb9c4ec1_-BAP image {
|
||||
height: 18px !important;
|
||||
width: 18px !important;
|
||||
}
|
||||
|
||||
/* Twitch Extension */
|
||||
#PersonalToolbar #_d3d2a327-1ae0-4fd6-b732-0844d0b7fd4c_-BAP { list-style-image: url("../images/logo_twitch.svg") !important; }
|
||||
|
||||
/* Messenger Extension */
|
||||
#PersonalToolbar #xrst_vardakis_gmail_com-BAP { list-style-image:url("../images/logo_messenger.svg") !important; }
|
||||
|
||||
/* Whatsapp Extension */
|
||||
#PersonalToolbar #_34a257f3-adfe-460d-b6ca-7dd18d18506b_-BAP{ list-style-image: url("../images/logo_whatsapp.svg") !important; }
|
||||
|
||||
/* Telegram Extension */
|
||||
#PersonalToolbar #_14390478-b41b-4e29-8307-8a3c714f7783_-BAP{ list-style-image: url("../images/logo_telegram.svg") !important; }
|
||||
|
||||
/* ublock Extension */
|
||||
#PersonalToolbar #ublock0_raymondhill_net-BAP{ list-style-image: url("../images/logo_ublock.svg") !important; }
|
||||
|
||||
/* Tab-group Extension */
|
||||
#PersonalToolbar #panorama-tab-groups_example_com-BAP{ list-style-image: url("../images/logo_grouptabs.svg") !important; }
|
||||
|
||||
/* Discord Extension */
|
||||
#PersonalToolbar #_a16c3799-d903-44e3-b044-a032197f5ef8_-BAP{ list-style-image: url("../images/logo_discord.svg") !important; }
|
||||
|
||||
/* Twitter Extension */
|
||||
#PersonalToolbar #_3119ae66-3c2f-47e2-b1b1-1c76cb9c4ec1_-BAP{ list-style-image: url("../images/logo_twitter.svg") !important; }
|
||||
|
||||
/* ------------------------ Colored folders for bookmarks ------------------------ */
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+1) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder1.svg") !important;
|
||||
}
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+2) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder2.svg") !important;
|
||||
}
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+3) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder3.svg") !important;
|
||||
}
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+4) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder4.svg") !important;
|
||||
}
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+5) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder5.svg") !important;
|
||||
}
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+6) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder6.svg") !important;
|
||||
}
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+7) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder7.svg") !important;
|
||||
}
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+8) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder8.svg") !important;
|
||||
}
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item:nth-of-type(9n+9) > .toolbarbutton-icon {
|
||||
list-style-image: url("../images/folder9.svg") !important;
|
||||
}
|
||||
|
||||
/* Carpeta "Otros Marcadores" */
|
||||
|
||||
#OtherBookmarks > .toolbarbutton-icon{
|
||||
list-style-image: url("../images/folder-otherbookmarks.svg") !important;
|
||||
}
|
||||
|
||||
|
||||
/* ##################################################### Nuevos margenes Botón menú ##################################################### */
|
||||
|
||||
:root {
|
||||
--margin-left-icons-personal: calc(var(--my-vertical-toolbar-width) / 2 - 16px) !important; /* Nuevo margen-left de íconos del -menu- */
|
||||
--margin-right-icons-personal: 8px !important; /* Nuevo margen-right de íconos del -menu- */
|
||||
}
|
||||
|
||||
/* Quitar label -Menu- del menú not [open] */
|
||||
|
||||
@media (-moz-platform: windows), (-moz-platform: linux) {
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button:not([open])>stack::after {
|
||||
content: none !important;
|
||||
}
|
||||
|
||||
:root:not([chromehidden~="toolbar"]):is([sizemode="normal"], [sizemode="fullscreen"]) #PanelUI-menu-button:is([open])>stack::after {
|
||||
content: none !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* Tamaño nuevo botón Menú */
|
||||
@media (-moz-platform: windows), (-moz-platform: linux) {
|
||||
|
||||
|
||||
/* Logo más grande */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button image {
|
||||
min-height: 20px !important;
|
||||
min-width: 20px !important;
|
||||
}
|
||||
|
||||
/* Logo alineado */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button image {
|
||||
margin-inline-start: calc(var(--margin-left-icons-personal) - 2px) !important;
|
||||
}
|
||||
|
||||
/* Label Menú */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button>stack::after {
|
||||
padding-inline-start: calc(var(--margin-right-icons-personal) - 2px) !important;
|
||||
}
|
||||
|
||||
/* Menu :hover */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button:not([open]):hover>.toolbarbutton-badge-stack {
|
||||
background-color: color-mix(in srgb, var(--general-color) 15%, transparent) !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* ########################################### Baner de -actualización disponible- ########################################### */
|
||||
|
||||
@keyframes slide1 {
|
||||
from { transform: rotate(0deg) }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
#PanelUI-menu-button[badge-status="update-available"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-downloading"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-manual"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-other-instance"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-restart"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-unsupported"]>.toolbarbutton-badge-stack>.toolbarbutton-badge {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[badge-status="update-available"]:not([open]) .toolbarbutton-badge-stack,
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[badge-status="update-downloading"]:not([open]) .toolbarbutton-badge-stack,
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[badge-status="update-manual"]:not([open]) .toolbarbutton-badge-stack,
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[badge-status="update-other-instance"]:not([open]) .toolbarbutton-badge-stack,
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[badge-status="update-restart"]:not([open]) .toolbarbutton-badge-stack,
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[badge-status="update-unsupported"]:not([open]) .toolbarbutton-badge-stack,
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[badge-status="addon-alert"]:not([open]) .toolbarbutton-badge-stack,
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[badge-status="fxa-needs-authentication"]:not([open]) .toolbarbutton-badge-stack {
|
||||
list-style-image: url("../images/foxFill.svg") !important;
|
||||
fill: var(--general-color) !important;
|
||||
animation: 2000ms infinite ease;
|
||||
animation-name: slide1;
|
||||
margin-inline: 0px !important;
|
||||
border-radius: 50% !important;
|
||||
}
|
||||
|
||||
/* Compatibilidad para <tab center reborn> extension */
|
||||
|
||||
#sidebar-box[sidebarcommand*="tabcenter"]:not([hidden]) {
|
||||
border-right: 1px solid var(--border-contrast-color);
|
||||
box-shadow: none !important;
|
||||
border-image: none !important;
|
||||
}
|
||||
|
||||
/* Nueva posición de Paneles [open] de left-sidebar
|
||||
|
||||
#PlacesToolbarItems > .bookmark-item > menupopup, #OtherBookmarks #OtherBookmarksPopup {
|
||||
margin-inline-start: calc(var(--padding-left-tab) - 2px) !important;
|
||||
margin-top: -56px !important;
|
||||
}
|
||||
|
||||
#PersonalToolbar>toolbarbutton>menupopup {
|
||||
margin-right: calc(var(--padding-left-tab) - 10px) !important;
|
||||
margin-top: -39px !important;
|
||||
}
|
||||
|
||||
#customizationui-widget-panel {
|
||||
margin-right: calc(var(--padding-left-tab) - 9px) !important;
|
||||
margin-top: -39px !important;
|
||||
}
|
||||
*/
|
||||
}
|
182
home/firefox/firefox-gx/ogx_menu.css
Normal file
182
home/firefox/firefox-gx/ogx_menu.css
Normal file
|
@ -0,0 +1,182 @@
|
|||
/* Source file made available under Mozilla Public License v. 2.0 See the main repository for updates as well as full license text.
|
||||
https://github.com/Godiesc/firefox-gx */
|
||||
|
||||
@media (-moz-platform: windows), (-moz-platform: linux) {
|
||||
:root {
|
||||
--label-color: color-mix(in srgb, var(--arrowpanel-color, var(--lwt-tab-text))80%, var(--Button-background-personal));
|
||||
--margin-left-icons-personal: 3px !important;
|
||||
--margin-right-icons-personal: 6px !important;
|
||||
}
|
||||
|
||||
/* ------------Menú hamburguesa-> top-left ------------- */
|
||||
|
||||
/*Posición*/
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-button {
|
||||
position: fixed;
|
||||
display: flex;
|
||||
top: var(--windowed-top-padding, 0px);
|
||||
left: 0px !important;
|
||||
z-index: 2 !important;
|
||||
}
|
||||
|
||||
/* Tamaño menu [Open] - ventana maximizada y no maximizada*/
|
||||
|
||||
|
||||
#appMenu-popup panelview {
|
||||
width: 25.5em !important;
|
||||
}
|
||||
|
||||
/* Ocultar botón menú en modo "pantalla completa" */
|
||||
|
||||
:root:is([chromehidden~="toolbar"], [sizemode="fullscreen"])>body>#browser, :root:is([chromehidden~="toolbar"], [sizemode="fullscreen"])>body>#browser-bottombox,
|
||||
:root:is([chromehidden~="toolbar"], [sizemode="fullscreen"])>body>#customization-container {
|
||||
z-index: 3 !important;
|
||||
}
|
||||
|
||||
/* margen izquierda pestañas*/
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #toolbar-menubar, :root:not([chromehidden~="toolbar"]) #toolbar-menubar[autohide="true"]+#TabsToolbar {
|
||||
padding-inline-start: var(--padding-left-tab) !important;
|
||||
}
|
||||
|
||||
/* tamaño botón Menú */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button {
|
||||
padding: var(--margin-top-personal) 0 0 0 !important;
|
||||
max-height: calc(var(--tab-height-personal)) !important;
|
||||
min-height: calc(var(--tab-height-personal)) !important;
|
||||
}
|
||||
|
||||
/* menu :hover y open */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button>.toolbarbutton-badge-stack {
|
||||
max-height: calc(var(--tab-height-personal)) !important;
|
||||
min-height: calc(var(--tab-height-personal)) !important;
|
||||
}
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button:not([open]):hover>.toolbarbutton-badge-stack {
|
||||
background-color: var(--toolbarbutton-hover-personal) !important;
|
||||
border-radius: 0px !important;
|
||||
}
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button[open]>.toolbarbutton-badge-stack {
|
||||
background-image: var(--noise-urlbar-personal, var(--noise-urlbar-personal, none)),
|
||||
linear-gradient(var(--arrowpanel-background), var(--arrowpanel-background)),
|
||||
linear-gradient(var(--arrowpanel-background), var(--arrowpanel-background)) !important;
|
||||
border-radius: 0px !important;
|
||||
border-image: var(--panel-separator-zap-gradient5) 1 !important;
|
||||
width: 28.5em !important;
|
||||
}
|
||||
|
||||
/* Logo */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button .toolbarbutton-badge-stack {
|
||||
list-style-image: url("../images/foxmenu.svg") !important;
|
||||
display: -moz-box !important;
|
||||
max-height: var(--tab-height-personal) !important;
|
||||
min-width: var(--padding-left-tab) !important;
|
||||
max-width: var(--padding-left-tab) !important;
|
||||
-moz-box-pack: center !important;
|
||||
fill: var(--general-color) !important;
|
||||
border: 1px solid transparent !important;
|
||||
}
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #PanelUI-menu-button image {
|
||||
margin-top: -1px !important;
|
||||
min-height: 18px !important;
|
||||
min-width: 18px !important;
|
||||
margin-inline-start: 2px !important;
|
||||
}
|
||||
|
||||
|
||||
/* Padding top para hacer espacio para la fila del Label menú */
|
||||
|
||||
|
||||
/* Margin top para subir el menú [open] */
|
||||
|
||||
|
||||
/* Separadores */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #appMenu-popup.cui-widget-panel toolbarseparator {
|
||||
margin-inline-start: 30px !important;
|
||||
--panel-separator-margin-vertical: 2px !important;
|
||||
--panel-separator-margin: var(--panel-separator-margin-vertical) var(--panel-separator-margin-horizontal) !important;
|
||||
}
|
||||
|
||||
/* zoom icons */
|
||||
|
||||
#appMenu-zoomReduce-button2 > .toolbarbutton-icon, #appMenu-zoomEnlarge-button2 > .toolbarbutton-icon{
|
||||
margin-inline: -4px !important;
|
||||
}
|
||||
|
||||
/* Separadores */
|
||||
|
||||
:root:not([chromehidden~="toolbar"]) #appMenu-popup.cui-widget-panel toolbarseparator {
|
||||
margin-inline-start: 30px !important;
|
||||
--panel-separator-margin-vertical: 2px !important;
|
||||
--panel-separator-margin: var(--panel-separator-margin-vertical) var(--panel-separator-margin-horizontal) !important;
|
||||
}
|
||||
|
||||
/* Color de íconos y label */
|
||||
|
||||
.subviewbutton:not([disabled]), #appMenu-popup toolbarbutton:not([disabled]) .toolbarbutton-text label {
|
||||
-moz-context-properties: fill;
|
||||
fill: var(--label-color) !important;
|
||||
color: var(--label-color) !important;
|
||||
}
|
||||
|
||||
/* baner de -actualización disponible- */
|
||||
|
||||
#appMenu-popup .panel-banner-item:not([disabled]), #appMenu-popup .addon-banner-item:not([disabled]) {
|
||||
background: var(--button-bgcolor) !important;
|
||||
}
|
||||
|
||||
#appMenu-popup .panel-banner-item:not([disabled]):hover, #appMenu-popup .addon-banner-item:not([disabled]):hover {
|
||||
background: var(--button-active-bgcolor) !important;
|
||||
}
|
||||
|
||||
/* circulo de notificación de actualización */
|
||||
|
||||
#PanelUI-menu-button[badge-status="update-available"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-downloading"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-manual"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-other-instance"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-restart"]>.toolbarbutton-badge-stack>.toolbarbutton-badge,
|
||||
#PanelUI-menu-button[badge-status="update-unsupported"]>.toolbarbutton-badge-stack>.toolbarbutton-badge {
|
||||
box-shadow: none;
|
||||
margin: -7px -3px 0px !important;
|
||||
margin-inline-end: -7px !important;
|
||||
}
|
||||
|
||||
.panel-banner-item::before {
|
||||
background: url("../images/foxFill.svg") no-repeat center/16px;
|
||||
content: "";
|
||||
display: block;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-inline-end: 7px;
|
||||
-moz-context-properties: fill;
|
||||
fill: #3ad3a2 !important;
|
||||
}
|
||||
|
||||
#appMenu-popup .panel-banner-item {
|
||||
margin: 0 0px 2px !important;
|
||||
padding-inline-start: 8px !important;
|
||||
border-radius: 0px !important;
|
||||
}
|
||||
|
||||
/* ---------------------------------------- Config para alinear íconos en el menú de hamburguesa ------------------------------------------- */
|
||||
|
||||
/* Sobreescribir nuevo Tamaño y margen de los íconos - Trick para aplicar margen nuevo solo al menu hamburguesa maximizado */
|
||||
|
||||
|
||||
|
||||
/* Menú más pequeño en linux*/
|
||||
|
||||
@media (-moz-platform: linux) {
|
||||
:root {
|
||||
--margin-left-icons-personal: 9px !important;
|
||||
}
|
||||
|
||||
}
|
71
home/theme.nix
Normal file
71
home/theme.nix
Normal file
|
@ -0,0 +1,71 @@
|
|||
{ pkgs, lib, config, ... }: let
|
||||
fontSize = config.services.device-vars.fontSize;
|
||||
dracula-xresources = pkgs.fetchFromGitHub {
|
||||
owner = "dracula";
|
||||
repo = "xresources";
|
||||
rev = "539ef24e9b0c5498a82d59bfa2bad9b618d832a3";
|
||||
sha256 = "sha256-6fltsAluqOqYIh2NX0I/LC3WCWkb9Fn8PH6LNLBQbrY=";
|
||||
};
|
||||
in
|
||||
{
|
||||
home.pointerCursor = {
|
||||
name = "Dracula-cursors";
|
||||
package = pkgs.dracula-theme;
|
||||
size = 24;
|
||||
|
||||
gtk.enable = true;
|
||||
|
||||
x11 = {
|
||||
enable = true;
|
||||
defaultCursor = "Dracula-cursors";
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Dracula";
|
||||
package = pkgs.dracula-theme;
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
name = "Flat-Remix-Violet-Dark";
|
||||
package = pkgs.flat-remix-icon-theme;
|
||||
};
|
||||
|
||||
font = {
|
||||
name = "Sans Serif";
|
||||
size = fontSize;
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
libsForQt5.qtstyleplugin-kvantum
|
||||
qt6Packages.qtstyleplugin-kvantum #FIXME: doesn't work with qt6ct
|
||||
];
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "qtct";
|
||||
};
|
||||
|
||||
xresources.extraConfig = builtins.readFile("${dracula-xresources}/Xresources");
|
||||
|
||||
xdg.configFile = let
|
||||
qtconf = ''
|
||||
[Fonts]
|
||||
fixed="Sans Serif,${lib.strings.floatToString fontSize},-1,5,50,0,0,0,0,0"
|
||||
general="Sans Serif,${lib.strings.floatToString fontSize},-1,5,50,0,0,0,0,0"
|
||||
|
||||
[Appearance]
|
||||
icon_theme=Flat-Remix-Violet-Dark
|
||||
style=''
|
||||
;
|
||||
in
|
||||
{
|
||||
"Kvantum/Dracula/Dracula.kvconfig".source = "${pkgs.dracula-theme}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
|
||||
"Kvantum/Dracula/Dracula.svg".source = "${pkgs.dracula-theme}/share/Kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
|
||||
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
|
||||
|
||||
"qt5ct/qt5ct.conf".text = qtconf + "kvantum";
|
||||
};
|
||||
}
|
17
home/wofi/default.nix
Normal file
17
home/wofi/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{ ... }: {
|
||||
programs = {
|
||||
wofi = {
|
||||
enable = true;
|
||||
settings = {
|
||||
prompt = "";
|
||||
allow_images = true;
|
||||
normal_window = true;
|
||||
image_size = "48";
|
||||
matching = "fuzzy";
|
||||
insensitive = true;
|
||||
no_actions = true;
|
||||
};
|
||||
style = builtins.readFile ./style.css;
|
||||
};
|
||||
};
|
||||
}
|
92
home/wofi/style.css
Normal file
92
home/wofi/style.css
Normal file
|
@ -0,0 +1,92 @@
|
|||
/* https://github.com/dracula/wofi/blob/master/style.css */
|
||||
* {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
window,
|
||||
undershoot {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
#input {
|
||||
all: unset;
|
||||
border-radius: 9px;
|
||||
color: #f8f8f2;
|
||||
background-color: rgba(#44475a, 0.6);
|
||||
border: 1px solid #44475a;
|
||||
padding: 8px;
|
||||
margin: 16.2px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#outer-box {
|
||||
all: unset;
|
||||
box-shadow: 0 0 4.5px 0 rgba(0, 0, 0, 0.6);
|
||||
border: 2px solid rgba(189, 147, 249, 0.8);
|
||||
border-radius: 25px;
|
||||
background-color: rgba(40, 42, 54, 0.8);
|
||||
color: #f8f8f2;
|
||||
padding: 16.2px;
|
||||
}
|
||||
|
||||
#inner-box {
|
||||
padding: 16.2px;
|
||||
min-width: 500px;
|
||||
min-height: 450px;
|
||||
}
|
||||
|
||||
#scroll scrollbar, #scroll scrollbar * {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
#scroll scrollbar {
|
||||
transition: 200ms;
|
||||
background-color: rgba(23, 23, 23, 0.3);
|
||||
|
||||
&:hover {
|
||||
background-color: rgba(23, 23, 23, 0.7);
|
||||
}
|
||||
}
|
||||
#scroll scrollbar.vertical:hover slider {
|
||||
background-color: rgba(238, 238, 238, 0.7);
|
||||
min-width: .6em;
|
||||
}
|
||||
#scroll scrollbar.horizontal:hover slider {
|
||||
background-color: rgba(238, 238, 238, 0.7);
|
||||
min-height: .6em;
|
||||
}
|
||||
#scroll .vertical slider {
|
||||
background-color: rgba(238, 238, 238, 0.5);
|
||||
border-radius: 9px;
|
||||
min-width: .4em;
|
||||
min-height: 2em;
|
||||
transition: 200ms;
|
||||
}
|
||||
#scroll .horizontal slider {
|
||||
background-color: rgba(238, 238, 238, 0.5);
|
||||
border-radius: 9px;
|
||||
min-height: .4em;
|
||||
min-width: 2em;
|
||||
transition: 200ms;
|
||||
}
|
||||
|
||||
#entry {
|
||||
all: unset;
|
||||
padding: 9px;
|
||||
}
|
||||
|
||||
#entry image, #entry label {
|
||||
all: unset;
|
||||
}
|
||||
#entry image {
|
||||
margin-right: 9px;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
background-color: rgba(189, 147, 249, 0.5);
|
||||
border-radius: 9px;
|
||||
box-shadow: inset 0 0 0 3px rgba(238, 238, 238, 0.03);
|
||||
}
|
||||
#entry:selected image {
|
||||
-gtk-icon-shadow: 3px 3px rgba(0, 0, 0, 0.8);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue