262 lines
5.6 KiB
Nix
262 lines
5.6 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
font,
|
|
...
|
|
}:
|
|
let
|
|
inherit (pkgs.uservars)
|
|
key
|
|
theme
|
|
accent
|
|
font
|
|
browser
|
|
;
|
|
inherit (theme) color;
|
|
in
|
|
{
|
|
programs.qutebrowser.settings = {
|
|
hints.border = "2px solid ${accent.color}";
|
|
|
|
content.user_stylesheets = "style.css";
|
|
colors = {
|
|
|
|
########################################################
|
|
# Tabs
|
|
########################################################
|
|
|
|
tabs =
|
|
let
|
|
tabs_defaults = {
|
|
odd = {
|
|
fg = color.txt;
|
|
bg = color.bg;
|
|
};
|
|
even = {
|
|
fg = color.txt;
|
|
bg = color.bg_dark;
|
|
};
|
|
selected = {
|
|
odd = {
|
|
fg = accent.fg;
|
|
bg = accent.color;
|
|
};
|
|
even = {
|
|
fg = accent.fg;
|
|
bg = accent.color;
|
|
};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
bar = {
|
|
bg = color.bg;
|
|
};
|
|
pinned = tabs_defaults;
|
|
}
|
|
// tabs_defaults;
|
|
|
|
########################################################
|
|
# Completion for urls and commands
|
|
########################################################
|
|
|
|
completion = {
|
|
fg = color.txt;
|
|
even = {
|
|
bg = color.bg;
|
|
};
|
|
odd = {
|
|
bg = color.bg;
|
|
};
|
|
scrollbar = {
|
|
bg = color.bg_dark;
|
|
};
|
|
match = {
|
|
fg = accent.color;
|
|
};
|
|
category = {
|
|
fg = color.txt;
|
|
bg = color.bg_dark;
|
|
border = {
|
|
top = color.bg_dark;
|
|
bottom = color.bg_dark;
|
|
};
|
|
};
|
|
item = {
|
|
selected = {
|
|
fg = accent.fg;
|
|
bg = accent.color;
|
|
border = {
|
|
top = color.bg_dark;
|
|
bottom = color.bg_dark;
|
|
};
|
|
match = {
|
|
fg = color.txt;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
########################################################
|
|
# Statusbar
|
|
########################################################
|
|
|
|
statusbar = {
|
|
normal = {
|
|
fg = color.txt;
|
|
bg = color.bg;
|
|
};
|
|
insert = {
|
|
fg = color.normal.green;
|
|
bg = color.bg;
|
|
};
|
|
passthrough = {
|
|
fg = color.normal.blue;
|
|
bg = color.bg;
|
|
};
|
|
command = {
|
|
fg = color.txt;
|
|
bg = color.bg;
|
|
};
|
|
caret = {
|
|
selection = {
|
|
fg = accent.fg;
|
|
bg = accent.color;
|
|
};
|
|
};
|
|
url = {
|
|
success = {
|
|
https = {
|
|
fg = color.txt;
|
|
};
|
|
http = {
|
|
fg = color.normal.red;
|
|
};
|
|
};
|
|
hover = {
|
|
fg = color.normal.cyan;
|
|
};
|
|
};
|
|
};
|
|
########################################################
|
|
# Downloads
|
|
########################################################
|
|
|
|
downloads = {
|
|
start = {
|
|
bg = color.normal.blue;
|
|
};
|
|
stop = {
|
|
bg = color.normal.green;
|
|
};
|
|
bar = {
|
|
bg = color.bg;
|
|
};
|
|
};
|
|
|
|
########################################################
|
|
# Choice of what element should be clicked
|
|
########################################################
|
|
|
|
hints = {
|
|
fg = color.txt;
|
|
bg = color.bg;
|
|
match = {
|
|
fg = accent.color;
|
|
};
|
|
};
|
|
|
|
########################################################
|
|
# List of what each keybinding does
|
|
########################################################
|
|
|
|
keyhint = {
|
|
fg = color.txt;
|
|
bg = color.bg;
|
|
suffix = {
|
|
fg = accent.color;
|
|
};
|
|
};
|
|
|
|
########################################################
|
|
# Right click menu
|
|
########################################################
|
|
|
|
contextmenu = {
|
|
menu = {
|
|
fg = color.txt;
|
|
bg = color.bg;
|
|
};
|
|
selected = {
|
|
fg = accent.fg;
|
|
bg = accent.color;
|
|
};
|
|
disabled = {
|
|
fg = color.bg_light;
|
|
};
|
|
};
|
|
|
|
########################################################
|
|
# Dark theme
|
|
########################################################
|
|
|
|
# webpage = lib.mkIf (color.type == "dark") {
|
|
# bg = color.bg;
|
|
# preferred_color_scheme = "dark";
|
|
# darkmode = {
|
|
# enabled = false;
|
|
# threshold = {
|
|
# text = 150;
|
|
# background = 205;
|
|
# };
|
|
# };
|
|
# };
|
|
};
|
|
};
|
|
home.file = {
|
|
".config/qutebrowser/style.css".text = ''
|
|
${lib.optionalString (color.type == "dark") ''
|
|
button,
|
|
input[type="button"] {
|
|
color: unset;
|
|
background-color: unset;
|
|
}
|
|
|
|
.bg-gradient-to-b,
|
|
body {
|
|
background-image: none !important;
|
|
}
|
|
|
|
/***************************
|
|
* Remove borked ellements *
|
|
***************************/
|
|
|
|
.search-filters-wrap:before, .search-filters-wrap:after {
|
|
|
|
display: none;
|
|
}
|
|
''}
|
|
|
|
/*****************
|
|
* Hide some ads *
|
|
*****************/
|
|
|
|
/*Reddit*/
|
|
#sr-header-area .redesign-beta-optin,
|
|
.link.promotedlink.promoted,
|
|
.spacer:empty,
|
|
.spacer .premium-banner-outer,
|
|
.ad-container,
|
|
|
|
/*Youtube*/
|
|
div#masthead-ad ,
|
|
.video-ads,
|
|
#player-ads,
|
|
ytd-popup-container {
|
|
display: none !important;
|
|
}
|
|
'';
|
|
};
|
|
}
|