{ config, pkgs, ... }: { programs = { qutebrowser = { enable = true; extraConfig = '' c.content.blocking.method = 'adblock' c.content.blocking.adblock.lists = [ "https://github.com/uBlockOrigin/uAssets/raw/master/filters/legacy.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2020.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2021.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2022.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/filters-2023.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/badware.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/privacy.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/badlists.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/annoyances.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/annoyances-cookies.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/annoyances-others.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/badlists.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/quick-fixes.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/resource-abuse.txt", "https://github.com/uBlockOrigin/uAssets/raw/master/filters/unbreak.txt"] config.load_autoconfig(True) config.set("content.cookies.accept", "all", "chrome-devtools://*") config.set("content.cookies.accept", "all", "devtools://*") config.set("content.headers.accept_language", "", "https://matchmaker.krunker.io/*") config.set("content.headers.user_agent", "Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}", "https://web.whatsapp.com/") config.set("content.headers.user_agent", "Mozilla/5.0 ({os_info}; rv:90.0) Gecko/20100101 Firefox/90.0", "https://accounts.google.com/*") config.set("content.images", True, "chrome-devtools://*") config.set("content.images", True, "devtools://*") config.set("content.javascript.enabled", True, "chrome-devtools://*") config.set("content.javascript.enabled", True, "devtools://*") config.set("content.javascript.enabled", True, "chrome://*/*") config.set("content.javascript.enabled", True, "qute://*/*") config.set("content.local_content_can_access_remote_urls", True, "file:///home/fabian/.local/share/qutebrowser/userscripts/*") config.set("content.local_content_can_access_file_urls", False, "file:///home/fabian/.local/share/qutebrowser/userscripts/*") config.set("colors.webpage.darkmode.enabled", True) config.bind(";st", ":open speedtest.net") config.bind("Right", "tab-next") config.bind("Left", "tab-prev") config.bind(">", ":forward") config.bind("<", ":back") config.bind(";r", ":config-source") config.bind(";q", ":tab-close") config.bind(";f", ":fullscreen") bg0_hard = "#181818" bg0_soft = "#32302f" bg0_normal = "#282828" bg0 = bg0_normal bg1 = "#3c3836" bg2 = "#504945" bg3 = "#665c54" bg4 = "#7c6f64" fg0 = "#dcd7ba" fg1 = "#a8a8a8" fg2 = "#8a8a8a" fg3 = "#5c5c5c" fg4 = "#3e3e3e" bright_red = "#ff5c57" bright_green = "#5af78e" bright_yellow = "#f3f99d" bright_blue = "#57c7ff" bright_purple = "#ff6ac1" bright_aqua = "#9aedfe" bright_gray = "#a8a8a8" bright_orange = "#ff9d00" dark_red = "#ff3f45" dark_green = "#68d391" dark_yellow = "#e0e0e0" dark_blue = "#56c7ff" dark_purple = "#f460a1" dark_aqua = "#50fa7b" dark_gray = "#333333" dark_orange = "#ff8700" ### Completion c.colors.completion.fg = [fg1, bright_aqua, bright_yellow] c.colors.completion.odd.bg = bg0 c.colors.completion.even.bg = c.colors.completion.odd.bg c.colors.completion.category.fg = bright_blue c.colors.completion.category.bg = bg1 c.colors.completion.category.border.top = c.colors.completion.category.bg c.colors.completion.category.border.bottom = c.colors.completion.category.bg c.colors.completion.item.selected.fg = fg0 c.colors.completion.item.selected.bg = bg4 c.colors.completion.item.selected.border.top = bg2 c.colors.completion.item.selected.border.bottom = c.colors.completion.item.selected.border.top c.colors.completion.item.selected.match.fg = bright_orange c.colors.completion.match.fg = c.colors.completion.item.selected.match.fg c.colors.completion.scrollbar.fg = c.colors.completion.item.selected.fg c.colors.completion.scrollbar.bg = c.colors.completion.category.bg ### Context menu c.colors.contextmenu.disabled.bg = bg3 c.colors.contextmenu.disabled.fg = fg3 c.colors.contextmenu.menu.bg = bg0 c.colors.contextmenu.menu.fg = fg2 c.colors.contextmenu.selected.bg = bg2 c.colors.contextmenu.selected.fg = c.colors.contextmenu.menu.fg ### Downloads c.colors.downloads.bar.bg = bg0 c.colors.downloads.start.fg = bg0 c.colors.downloads.start.bg = bright_blue c.colors.downloads.stop.fg = c.colors.downloads.start.fg c.colors.downloads.stop.bg = bright_aqua c.colors.downloads.error.fg = bright_red ### Hints c.colors.hints.fg = bg0 c.colors.hints.bg = 'rgba(250, 191, 47, 200)' c.colors.hints.match.fg = bg4 ### Keyhint widget c.colors.keyhint.fg = fg4 c.colors.keyhint.suffix.fg = fg0 c.colors.keyhint.bg = bg0 ### Messages c.colors.messages.error.fg = bg0 c.colors.messages.error.bg = bright_red c.colors.messages.error.border = c.colors.messages.error.bg c.colors.messages.warning.fg = bg0 c.colors.messages.warning.bg = bright_purple c.colors.messages.warning.border = c.colors.messages.warning.bg c.colors.messages.info.fg = fg2 c.colors.messages.info.bg = bg0 c.colors.messages.info.border = c.colors.messages.info.bg ### Prompts c.colors.prompts.fg = fg2 c.colors.prompts.border = f'1px solid {bg1}' c.colors.prompts.bg = bg3 c.colors.prompts.selected.bg = bg2 ### Statusbar c.colors.statusbar.normal.fg = fg2 c.colors.statusbar.normal.bg = bg0 c.colors.statusbar.insert.fg = bg0 c.colors.statusbar.insert.bg = dark_aqua c.colors.statusbar.passthrough.fg = bg0 c.colors.statusbar.passthrough.bg = dark_blue c.colors.statusbar.private.fg = bright_purple c.colors.statusbar.private.bg = bg0 c.colors.statusbar.command.fg = fg3 c.colors.statusbar.command.bg = bg1 c.colors.statusbar.command.private.fg = c.colors.statusbar.private.fg c.colors.statusbar.command.private.bg = c.colors.statusbar.command.bg c.colors.statusbar.caret.fg = bg0 c.colors.statusbar.caret.bg = dark_purple c.colors.statusbar.caret.selection.fg = c.colors.statusbar.caret.fg c.colors.statusbar.caret.selection.bg = bright_purple c.colors.statusbar.progress.bg = bright_blue c.colors.statusbar.url.fg = fg4 c.colors.statusbar.url.error.fg = dark_red c.colors.statusbar.url.hover.fg = bright_orange c.colors.statusbar.url.success.http.fg = bright_red c.colors.statusbar.url.success.https.fg = fg0 c.colors.statusbar.url.warn.fg = bright_purple ### Tabs c.colors.tabs.bar.bg = bg0 c.colors.tabs.indicator.start = bright_blue c.colors.tabs.indicator.stop = bright_aqua c.colors.tabs.indicator.error = bright_red c.colors.tabs.odd.fg = fg2 c.colors.tabs.odd.bg = bg2 c.colors.tabs.even.fg = c.colors.tabs.odd.fg c.colors.tabs.even.bg = bg3 c.colors.tabs.selected.odd.fg = fg2 c.colors.tabs.selected.odd.bg = bg0 c.colors.tabs.selected.even.fg = c.colors.tabs.selected.odd.fg c.colors.tabs.selected.even.bg = bg0 c.colors.tabs.pinned.even.bg = bright_green c.colors.tabs.pinned.even.fg = bg2 c.colors.tabs.pinned.odd.bg = bright_green c.colors.tabs.pinned.odd.fg = c.colors.tabs.pinned.even.fg c.colors.tabs.pinned.selected.even.bg = bg0 c.colors.tabs.pinned.selected.even.fg = c.colors.tabs.selected.odd.fg c.colors.tabs.pinned.selected.odd.bg = c.colors.tabs.pinned.selected.even.bg c.colors.tabs.pinned.selected.odd.fg = c.colors.tabs.selected.odd.fg ''; greasemonkey = [ (pkgs.fetchurl { url = "https://raw.githubusercontent.com/afreakk/greasemonkeyscripts/1d1be041a65c251692ee082eda64d2637edf6444/youtube_sponsorblock.js"; sha256 = "sha256-e3QgDPa3AOpPyzwvVjPQyEsSUC9goisjBUDMxLwg8ZE="; }) ]; }; }; }