Transform Qutebrowser into module
This commit is contained in:
parent
1d907edb1c
commit
18ea2b4ec8
7 changed files with 387 additions and 372 deletions
65
modules/home-manager/web/qutebrowser/default.nix
Normal file
65
modules/home-manager/web/qutebrowser/default.nix
Normal file
|
@ -0,0 +1,65 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.web.qutebrowser;
|
||||
in
|
||||
{
|
||||
options.modules.web.qutebrowser = {
|
||||
enable = mkEnableOption "enable Kdenlive video editor";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.qutebrowser = {
|
||||
enable = true;
|
||||
loadAutoconfig = true;
|
||||
settings = {
|
||||
|
||||
qt.args = [
|
||||
"autoplay-policy=user-gesture-required"
|
||||
"ignore-gpu-blocklist"
|
||||
"enable-accelerated-video-decode"
|
||||
"enable-features=VaapiVideoDecoder"
|
||||
"enable-features=WebRTCPipeWireCapturer"
|
||||
];
|
||||
# Try to reduce memury usage
|
||||
qt.chromium.low_end_device_mode = "always";
|
||||
qt.chromium.process_model = "process-per-site";
|
||||
|
||||
fonts.default_family = "Fira Code Nerd Font Mono";
|
||||
fonts.completion.category = "default_size default_family";
|
||||
|
||||
tabs.title.format = "{index}:{audio:1} {current_title}";
|
||||
tabs.select_on_remove = "last-used";
|
||||
colors.webpage.preferred_color_scheme = "dark";
|
||||
|
||||
#Privacy
|
||||
content.canvas_reading = true;
|
||||
content.headers.do_not_track = true;
|
||||
content.cookies.accept = "no-3rdparty";
|
||||
content.geolocation = false;
|
||||
content.headers.referer = "same-domain";
|
||||
content.blocking.enabled = true;
|
||||
content.blocking.method = "both";
|
||||
content.blocking.adblock.lists = [
|
||||
https://easylist.to/easylist/easylist.txt
|
||||
https://easylist.to/easylist/easyprivacy.txt
|
||||
https://www.i-dont-care-about-cookies.eu/abp/
|
||||
https://secure.fanboy.co.nz/fanboy-cookiemonster.txt
|
||||
];
|
||||
|
||||
content.plugins = false;
|
||||
downloads.location.directory = "~/downloads";
|
||||
completion.open_categories = [
|
||||
"quickmarks"
|
||||
"history"
|
||||
];
|
||||
};
|
||||
extraConfig = ( builtins.readFile ./files/theme.py);
|
||||
keyBindings = {
|
||||
normal = {
|
||||
",M" = "hint links spawn mpv {hint-url}";
|
||||
",m" = "spawn mpv {url}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
314
modules/home-manager/web/qutebrowser/files/theme.py
Normal file
314
modules/home-manager/web/qutebrowser/files/theme.py
Normal file
|
@ -0,0 +1,314 @@
|
|||
# All we need for QuteBrowser Theme
|
||||
# ---
|
||||
|
||||
c.tabs.padding = { "top":3, "bottom":3, "left":5, "right":5 }
|
||||
# Change audio icon
|
||||
from qutebrowser.api import message
|
||||
try:
|
||||
from qutebrowser.mainwindow import tabwidget
|
||||
tabwidget.TabWidget.MUTE_STRING = ""
|
||||
tabwidget.TabWidget.AUDIBLE_STRING = ""
|
||||
except (ImportError, AttributeError) as err:
|
||||
message.error(f"Failed to change audible indicators {err}")
|
||||
|
||||
# base16-qutebrowser (https://github.com/theova/base16-qutebrowser)
|
||||
# Scheme name: Default Dark
|
||||
# Scheme author: Chris Kempson (http://chriskempson.com)
|
||||
# Template author: theova and Daniel Mulford
|
||||
# Commentary: Tinted Theming: (https://github.com/tinted-theming)
|
||||
base00 = "#181818"
|
||||
base01 = "#282828"
|
||||
base02 = "#383838"
|
||||
base03 = "#585858"
|
||||
base04 = "#b8b8b8"
|
||||
base05 = "#d8d8d8"
|
||||
base06 = "#e8e8e8"
|
||||
base07 = "#f8f8f8"
|
||||
base08 = "#ab4642"
|
||||
base09 = "#dc9656"
|
||||
base0A = "#f7ca88"
|
||||
base0B = "#a1b56c"
|
||||
base0C = "#86c1b9"
|
||||
base0D = "#7cafc2"
|
||||
base0E = "#ba8baf"
|
||||
base0F = "#a16946"
|
||||
|
||||
# set qutebrowser colors
|
||||
|
||||
# Text color of the completion widget. May be a single color to use for
|
||||
# all columns or a list of three colors, one for each column.
|
||||
c.colors.completion.fg = base05
|
||||
# Background color of the completion widget for odd rows.
|
||||
c.colors.completion.odd.bg = base00
|
||||
|
||||
# Background color of the completion widget for even rows.
|
||||
c.colors.completion.even.bg = base00
|
||||
|
||||
# Foreground color of completion widget category headers.
|
||||
c.colors.completion.category.fg = base0D
|
||||
|
||||
# Background color of the completion widget category headers.
|
||||
c.colors.completion.category.bg = base00
|
||||
|
||||
# Top border color of the completion widget category headers.
|
||||
c.colors.completion.category.border.top = base00
|
||||
|
||||
# Bottom border color of the completion widget category headers.
|
||||
c.colors.completion.category.border.bottom = base00
|
||||
|
||||
# Foreground color of the selected completion item.
|
||||
c.colors.completion.item.selected.fg = base05
|
||||
|
||||
# Background color of the selected completion item.
|
||||
c.colors.completion.item.selected.bg = base02
|
||||
|
||||
# Top border color of the selected completion item.
|
||||
c.colors.completion.item.selected.border.top = base02
|
||||
|
||||
# Bottom border color of the selected completion item.
|
||||
c.colors.completion.item.selected.border.bottom = base02
|
||||
|
||||
# Foreground color of the matched text in the selected completion item.
|
||||
c.colors.completion.item.selected.match.fg = base05
|
||||
|
||||
# Foreground color of the matched text in the completion.
|
||||
c.colors.completion.match.fg = base09
|
||||
|
||||
# Color of the scrollbar handle in the completion view.
|
||||
c.colors.completion.scrollbar.fg = base05
|
||||
|
||||
# Color of the scrollbar in the completion view.
|
||||
c.colors.completion.scrollbar.bg = base00
|
||||
|
||||
# Background color of disabled items in the context menu.
|
||||
c.colors.contextmenu.disabled.bg = base01
|
||||
|
||||
# Foreground color of disabled items in the context menu.
|
||||
c.colors.contextmenu.disabled.fg = base04
|
||||
|
||||
# Background color of the context menu. If set to null, the Qt default is used.
|
||||
c.colors.contextmenu.menu.bg = base00
|
||||
|
||||
# Foreground color of the context menu. If set to null, the Qt default is used.
|
||||
c.colors.contextmenu.menu.fg = base05
|
||||
|
||||
# Background color of the context menu’s selected item. If set to null, the Qt default is used.
|
||||
c.colors.contextmenu.selected.bg = base02
|
||||
|
||||
#Foreground color of the context menu’s selected item. If set to null, the Qt default is used.
|
||||
c.colors.contextmenu.selected.fg = base05
|
||||
|
||||
# Background color for the download bar.
|
||||
c.colors.downloads.bar.bg = base00
|
||||
|
||||
# Color gradient start for download text.
|
||||
c.colors.downloads.start.fg = base00
|
||||
|
||||
# Color gradient start for download backgrounds.
|
||||
c.colors.downloads.start.bg = base0D
|
||||
|
||||
# Color gradient end for download text.
|
||||
c.colors.downloads.stop.fg = base00
|
||||
|
||||
# Color gradient stop for download backgrounds.
|
||||
c.colors.downloads.stop.bg = base0C
|
||||
|
||||
# Foreground color for downloads with errors.
|
||||
c.colors.downloads.error.fg = base08
|
||||
|
||||
# Font color for hints.
|
||||
c.colors.hints.fg = base00
|
||||
|
||||
# Background color for hints. Note that you can use a `rgba(...)` value
|
||||
# for transparency.
|
||||
c.colors.hints.bg = base0A
|
||||
|
||||
# Font color for the matched part of hints.
|
||||
c.colors.hints.match.fg = base05
|
||||
|
||||
# Text color for the keyhint widget.
|
||||
c.colors.keyhint.fg = base05
|
||||
|
||||
# Highlight color for keys to complete the current keychain.
|
||||
c.colors.keyhint.suffix.fg = base05
|
||||
|
||||
# Background color of the keyhint widget.
|
||||
c.colors.keyhint.bg = base00
|
||||
|
||||
# Foreground color of an error message.
|
||||
c.colors.messages.error.fg = base00
|
||||
|
||||
# Background color of an error message.
|
||||
c.colors.messages.error.bg = base08
|
||||
|
||||
# Border color of an error message.
|
||||
c.colors.messages.error.border = base08
|
||||
|
||||
# Foreground color of a warning message.
|
||||
c.colors.messages.warning.fg = base00
|
||||
|
||||
# Background color of a warning message.
|
||||
c.colors.messages.warning.bg = base0E
|
||||
|
||||
# Border color of a warning message.
|
||||
c.colors.messages.warning.border = base0E
|
||||
|
||||
# Foreground color of an info message.
|
||||
c.colors.messages.info.fg = base05
|
||||
|
||||
# Background color of an info message.
|
||||
c.colors.messages.info.bg = base00
|
||||
|
||||
# Border color of an info message.
|
||||
c.colors.messages.info.border = base00
|
||||
|
||||
# Foreground color for prompts.
|
||||
c.colors.prompts.fg = base05
|
||||
|
||||
# Border used around UI elements in prompts.
|
||||
c.colors.prompts.border = base00
|
||||
|
||||
# Background color for prompts.
|
||||
c.colors.prompts.bg = base00
|
||||
|
||||
# Background color for the selected item in filename prompts.
|
||||
c.colors.prompts.selected.bg = base02
|
||||
|
||||
# Foreground color for the selected item in filename prompts.
|
||||
c.colors.prompts.selected.fg = base05
|
||||
|
||||
# Foreground color of the statusbar.
|
||||
c.colors.statusbar.normal.fg = base05
|
||||
|
||||
# Background color of the statusbar.
|
||||
c.colors.statusbar.normal.bg = base00
|
||||
|
||||
# Foreground color of the statusbar in insert mode.
|
||||
c.colors.statusbar.insert.fg = base0C
|
||||
|
||||
# Background color of the statusbar in insert mode.
|
||||
c.colors.statusbar.insert.bg = base00
|
||||
|
||||
# Foreground color of the statusbar in passthrough mode.
|
||||
c.colors.statusbar.passthrough.fg = base0A
|
||||
|
||||
# Background color of the statusbar in passthrough mode.
|
||||
c.colors.statusbar.passthrough.bg = base00
|
||||
|
||||
# Foreground color of the statusbar in private browsing mode.
|
||||
c.colors.statusbar.private.fg = base0E
|
||||
|
||||
# Background color of the statusbar in private browsing mode.
|
||||
c.colors.statusbar.private.bg = base00
|
||||
|
||||
# Foreground color of the statusbar in command mode.
|
||||
c.colors.statusbar.command.fg = base04
|
||||
|
||||
# Background color of the statusbar in command mode.
|
||||
c.colors.statusbar.command.bg = base01
|
||||
|
||||
# Foreground color of the statusbar in private browsing + command mode.
|
||||
c.colors.statusbar.command.private.fg = base0E
|
||||
|
||||
# Background color of the statusbar in private browsing + command mode.
|
||||
c.colors.statusbar.command.private.bg = base01
|
||||
|
||||
# Foreground color of the statusbar in caret mode.
|
||||
c.colors.statusbar.caret.fg = base0D
|
||||
|
||||
# Background color of the statusbar in caret mode.
|
||||
c.colors.statusbar.caret.bg = base00
|
||||
|
||||
# Foreground color of the statusbar in caret mode with a selection.
|
||||
c.colors.statusbar.caret.selection.fg = base0D
|
||||
|
||||
# Background color of the statusbar in caret mode with a selection.
|
||||
c.colors.statusbar.caret.selection.bg = base00
|
||||
|
||||
# Background color of the progress bar.
|
||||
c.colors.statusbar.progress.bg = base0D
|
||||
|
||||
# Default foreground color of the URL in the statusbar.
|
||||
c.colors.statusbar.url.fg = base05
|
||||
|
||||
# Foreground color of the URL in the statusbar on error.
|
||||
c.colors.statusbar.url.error.fg = base08
|
||||
|
||||
# Foreground color of the URL in the statusbar for hovered links.
|
||||
c.colors.statusbar.url.hover.fg = base09
|
||||
|
||||
# Foreground color of the URL in the statusbar on successful load
|
||||
# (http).
|
||||
c.colors.statusbar.url.success.http.fg = base0B
|
||||
|
||||
# Foreground color of the URL in the statusbar on successful load
|
||||
# (https).
|
||||
c.colors.statusbar.url.success.https.fg = base0B
|
||||
|
||||
# Foreground color of the URL in the statusbar when there's a warning.
|
||||
c.colors.statusbar.url.warn.fg = base0E
|
||||
|
||||
# Background color of the tab bar.
|
||||
c.colors.tabs.bar.bg = base00
|
||||
|
||||
# Color gradient start for the tab indicator.
|
||||
c.colors.tabs.indicator.start = base0D
|
||||
|
||||
# Color gradient end for the tab indicator.
|
||||
c.colors.tabs.indicator.stop = base0C
|
||||
|
||||
# Color for the tab indicator on errors.
|
||||
c.colors.tabs.indicator.error = base08
|
||||
|
||||
# Foreground color of unselected odd tabs.
|
||||
c.colors.tabs.odd.fg = base05
|
||||
|
||||
# Background color of unselected odd tabs.
|
||||
c.colors.tabs.odd.bg = base00
|
||||
|
||||
# Foreground color of unselected even tabs.
|
||||
c.colors.tabs.even.fg = base05
|
||||
|
||||
# Background color of unselected even tabs.
|
||||
c.colors.tabs.even.bg = base00
|
||||
|
||||
# Background color of pinned unselected even tabs.
|
||||
c.colors.tabs.pinned.even.bg = base0B
|
||||
|
||||
# Foreground color of pinned unselected even tabs.
|
||||
c.colors.tabs.pinned.even.fg = base00
|
||||
|
||||
# Background color of pinned unselected odd tabs.
|
||||
c.colors.tabs.pinned.odd.bg = base0B
|
||||
|
||||
# Foreground color of pinned unselected odd tabs.
|
||||
c.colors.tabs.pinned.odd.fg = base00
|
||||
|
||||
# Background color of pinned selected even tabs.
|
||||
c.colors.tabs.pinned.selected.even.bg = base02
|
||||
|
||||
# Foreground color of pinned selected even tabs.
|
||||
c.colors.tabs.pinned.selected.even.fg = base05
|
||||
|
||||
# Background color of pinned selected odd tabs.
|
||||
c.colors.tabs.pinned.selected.odd.bg = base02
|
||||
|
||||
# Foreground color of pinned selected odd tabs.
|
||||
c.colors.tabs.pinned.selected.odd.fg = base05
|
||||
|
||||
# Foreground color of selected odd tabs.
|
||||
c.colors.tabs.selected.odd.fg = base05
|
||||
|
||||
# Background color of selected odd tabs.
|
||||
c.colors.tabs.selected.odd.bg = base02
|
||||
|
||||
# Foreground color of selected even tabs.
|
||||
c.colors.tabs.selected.even.fg = base05
|
||||
|
||||
# Background color of selected even tabs.
|
||||
c.colors.tabs.selected.even.bg = base02
|
||||
|
||||
# Background color for webpages if unset (or empty to use the theme's
|
||||
# color).
|
||||
c.colors.webpage.bg = base00
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue