NixOS-Configs/home/gui/qutebrowser.nix
2025-08-18 19:12:52 -05:00

288 lines
12 KiB
Nix

{ inputs, outputs, pkgs, ... }: {
programs.qutebrowser = {
enable = true;
loadAutoconfig = true;
keyBindings = {
normal = {
",J" = "spawn /home/don/bin/vdi";
",L" = "spawn --userscript qute-bitwarden --password-only";
",O" = "spawn --userscript obsidian-import-lite";
",R" = "spawn --userscript obsidian-import -r";
",U" = "spawn --userscript sendurl";
",V" = "hint links spawn myweb {hint-url}";
",d" = "spawn --userscript open_download";
",l" = "spawn --userscript qute-bitwarden";
",m" = "spawn --userscript mymail";
",n" = ''
config-cycle content.user_stylesheets /home/don/src/solarized-everything-css/css/mine.css ""'';
",o" = "spawn --userscript obsidian-import";
",r" = "spawn --userscript recipe";
",t" = "spawn --userscript qute-bitwarden --totp-only";
",u" = "spawn --userscript sendphone";
",v" = "spawn /home/don/bin/myweb {url}";
",w" = "cmd-set-text -s :spawn --userscript taskadd";
";V" = "hint --rapid links spawn myweb {hint-url}";
"xb" = "config-cycle statusbar.show always in-mode";
"xt" = "config-cycle tabs.show always switching";
"xx" =
"config-cycle statusbar.show always in-mode ;; config-cycle tabs.show always switching";
};
};
searchEngines = {
DEFAULT = "http://search.trex-halfbeak.ts.net/?q={}";
w = "https://en.wikipedia.org/wiki/Special:Search?search={}&go=Go&ns0=1";
aw = "https://wiki.archlinux.org/?search={}";
nw = "https://nixos.wiki/index.php?search={}";
g = "https://www.google.com/search?hl=en&q={}";
};
quickmarks = {
apps = "https://www.apkmirror.com/";
awesome-nix = "https://github.com/nix-community/awesome-nix";
backstage = "http://beckbackstage.org/index.html";
bandwidth = "https://bandwidth.trex-halfbeak.ts.net/";
bbc = "https://www.bbc.com/news";
beck-absence = "https://www.katyisd.org/domain/4329";
buymusic = "https://us.7digital.com/?origin=uk";
buymusic2 = "https://www.hdtracks.com/";
cal = "https://cloud.trex-halfbeak.ts.net/apps/calendar/timeGridDay/now";
canvas = "https://katyisd.instructure.com/login/ldap";
centerpoint =
"http://gis.centerpointenergy.com/outagetracker/?WT.ac=OC_Image_Callout";
chase = "https://www.chase.com/";
cloud = "https://cloud.trex-halfbeak.ts.net/apps/dashboard/";
cnn = "https://www.cnn.com";
crhs = "https://www.katyisd.org/CRHS";
crhs-absence = "https://www.katyisd.org/domain/5809";
cups = "http://localhost:631/printers/printer";
darkroom = "https://thedarkroom.com/photodashboard/";
disk = "https://smart.trex-halfbeak.ts.net/web/dashboard";
driversed =
"https://driving.aceable.com/teacher/log?studentId=I89fno2YEZo4hQ40";
droplet = "https://cloud.digitalocean.com/droplets?i=a8b99f";
ercot = "https://www.ercot.com/gridmktinfo/dashboards";
fiesta = "https://www.fiestamart.com/weekly-ads/?store_code=66";
flood = "https://www.harriscountyfws.org/";
gatus = "https://gatus.trex-halfbeak.ts.net/";
gcal = "https://calendar.google.com/calendar/r";
gfamily =
"https://familylink.google.com/member/112279402605706545724/highlights";
git = "https://git.trex-halfbeak.ts.net/?repo-search-query=m";
gmail = "https://mail.google.com/mail/u/0/?pli=1#inbox";
gmaps = "https://www.google.com/maps/";
gmessages = "https://messages.google.com/web/conversations";
gphoto = "https://photos.google.com/";
gvoice = "https://voice.google.com/u/0/calls";
hac =
"https://homeaccess.katyisd.org/HomeAccess/Account/LogOn?ReturnUrl=%2FHomeAccess";
heb =
"https://www.heb.com/collections/weekly-ad?customFilters=onAdFilter&shoppingStore=497&utm_source=1021275&utm_medium=email&utm_campaign=2023-11-24-weekly-ad&utm_content=weekly-ad-banner";
hetzner = "https://console.hetzner.cloud/projects";
hometail =
"http://homeassistant.trex-halfbeak.ts.net:8123/lovelace-mine/default_view";
hurricane = "https://www.nhc.noaa.gov/";
ice = "https://ice.home.duckland.org/";
imdb = "https://www.imdb.com/";
instapot-cook-times =
"https://temeculablogs.com/instant-pot-cooking-times/";
jelly =
"https://jellyfin.trex-halfbeak.ts.net/web/index.html#!/home.html";
jellyreq = "https://jellyseerr.trex-halfbeak.ts.net/discover/trending";
jzoom = "https://jpmchase.zoom.us/";
katy-bus = "https://busroutes.katyisd.org/wqsimweb/webquery/";
katy-pay = "https://katyisd.revtrak.net/";
kindle =
"https://smile.amazon.com/mn/dcw/myx.html/ref=kinw_myk_redirect#/home/content/booksAll/dateDsc/";
kindle-read = "https://www.amazon.com/kindle-dbs/ku/ku-central/";
kroger = "https://www.kroger.com/weeklyad";
linkedin = "https://www.linkedin.com/feed/";
linode = "https://cloud.linode.com/linodes";
mail = "https://cloud.trex-halfbeak.ts.net/apps/mail/box/5";
map = "https://www.openstreetmap.org/";
mastodon = "https://fosstodon.org/home";
mastodon2 = "https://pinafore.social/federated";
mpv = "https://mpv.io/manual/stable/";
mural = "https://houstonmuralmap.com/";
music = "https://music.trex-halfbeak.ts.net/index";
mykelsey = "https://www.mykelseyonline.com/MyChart/Authentication/Login?";
mynixos = "https://mynixos.com/";
nebula = "https://watchnebula.com/";
netalert = "http://harper:20211/devices.php";
netflix = "https://www.netflix.com/browse";
newrecipe = "https://mealie.trex-halfbeak.ts.net/g/home/r/create/url";
newrss = "https://rss.trex-halfbeak.ts.net/i/?c=subscription&a=add";
nix-config = "https://nixos.org/manual/nixos/stable/options.html";
nix-dev = "https://nix.dev/";
nix-hardware = "https://github.com/duckunix/nixos-hardware";
nix-home-manual =
"https://nix-community.github.io/home-manager/options.xhtml";
nix-manual = "https://nixos.org/manual/nixos/stable/index.html";
nix-options = "https://search.nixos.org/options?";
nix-package = "https://search.nixos.org/packages";
nix-up-software =
"https://nix.dev/tutorials/learning-journey/packaging-existing-software";
nix-versions = "https://lazamar.co.uk/nix-versions/";
nix-wiki = "https://wiki.nixos.org/";
ntop = "https://ice.home.duckland.org:3001/";
octoprint = "http://octopi/?#temp";
orders =
"https://www.amazon.com/gp/css/order-history?ref_=nav_orders_first";
photos = "https://photos.trex-halfbeak.ts.net/";
pi = "http://pi.hole/admin/";
pinetab2-releases = "https://wiki.pine64.org/wiki/PineTab2_Releases";
pinewelcome = "https://www.pine64.org/gettings-started/";
pocket-square = "https://www.ties.com/how-to-fold-a-pocket-square";
poweroutage = "https://PowerOutage.us";
printer = "http://192.168.1.1/";
renewinghope = "https://renewinghope.net/staff/emilio-gonzalez-jr";
rss = "https://rss.trex-halfbeak.ts.net/i/";
smile = "https://www.amazon.com/";
spacecity = "https://spacecityweather.com/";
sprouts = "https://www.sprouts.com/weekly-ad/";
star =
"https://starpizzacinco.revelup.com/weborder/?establishment=1#index";
swayutil = "https://github.com/swaywm/sway/wiki/Useful-add-ons-for-sway";
sync-book = "http://book:8384/#";
sync-dragon = "http://dragon:8384/#";
sync-eve = "http://eve:8384/#";
sync-fred = "http://fred:8384/#";
sync-harper = "https://harper:8384/#device-sharing";
sync-harper2 = "https://harper2:8384/#device-sharing";
sync-loki = "https://loki:8384/";
sync-pocket2 = "https://pocket2:8384/";
sync-smaug = "http://smaug:8384/#";
sync-t2 = "http://t2:8384/#";
tailscale = "https://login.tailscale.com/admin/machines";
telegram = "https://webz.telegram.org/";
ting = "https://tingmobile.com/iaccount";
trash = "https://www.best-trash.com/holiday-schedule/";
uat = "https://myworkspaceuat.jpmchase.com/";
uh = "https://alerts.uh.edu/";
unifi = "https://harper2.home.duckland.org:8443/manage/default/dashboard";
uptime = "https://uptime.trex-halfbeak.ts.net/dashboard";
utube = "https://www.youtube.com/feed/subscriptions";
vault = "https://vault.trex-halfbeak.ts.net/#/";
vdi = "https://myworkspace.jpmchase.com/";
vdiuat = "https://myworkspaceuat.jpmchase.com/";
vonage = "https://secure.vonage.com/account/login.html";
vortexic = "https://vortexic-university.sparkuniversity.co/Courses.aspx";
waze = "https://www.waze.com/livemap";
weather =
"https://merrysky.net/forecast/Cinco%20Ranch%20High%20School,%20Katy,%20%20TX/us";
weather2 = "https://openweathermap.org/city/4681485";
weather3 = "https://www.wunderground.com/weather/us/tx/katy/29.79,-95.82";
weather4 = "https://www.weatherbug.com/weather-forecast/now/";
wikipedia = "https://www.wikipedia.org/";
zoom = "https://zoom.us/";
};
extraConfig = ''
import dracula.draw
dracula.draw.blood(c, {
'spacing': {
'vertical': 6,
'horizontal': 8
}
})
c.statusbar.padding = { 'top': 6, 'right': 8, 'bottom': 6, 'left': 8 }
c.tabs.padding = { 'top': 1, 'right': 8, 'bottom': 1, 'left': 8 }
#c.bindings = { key_mappings = ['<Ctrl+6>': '<Ctrl+^>' '<Ctrl+Enter>': '<Ctrl+Return>' '<Ctrl+j>': '<Return>' '<Ctrl+m>': '<Return>' '<Ctrl+[>': '<Escape>' '<Enter>': '<Return>' '<Shift+Enter>': '<Return>' '<Shift+Return>': '<Return>']}
'';
settings = {
auto_save = { session = true; };
colors = {
webpage = {
bg = "#2d2d2d";
preferred_color_scheme = "dark";
darkmode = {
algorithm = "lightness-cielab";
enabled = true;
policy = {
images = "never";
page = "smart";
};
threshold = {
background = 128;
foreground = 128;
};
};
};
};
completion = {
open_categories =
[ "quickmarks" "searchengines" "bookmarks" "history" ];
};
content = {
autoplay = false;
blocking = {
hosts = { block_subdomains = true; };
adblock = {
lists = [
"https://secure.fanboy.co.nz/fanboy-annoyance.txt"
"https://easylist.to/easylist/easylist.txt"
"https://easylist.to/easylist/easyprivacy.txt"
];
};
enabled = true;
};
cookies = { accept = "no-3rdparty"; };
dns_prefetch = false;
local_content_can_access_remote_urls = true;
pdfjs = false;
user_stylesheets = null;
};
downloads = {
prevent_mixed_content = true;
position = "top";
};
fileselect = {
folder = {
command = [ "${pkgs.foot}/bin/foot" "-e" "ranger" "--choosedir={}" ];
};
handler = "external";
multiple_files = {
command = [ "${pkgs.foot}/bin/foot" "-e" "ranger" "--choosefile={}" ];
};
single_file = {
command = [ "${pkgs.foot}/bin/foot" "-e" "ranger" "--choosefile={}" ];
};
};
qt = {
args = [
"widevine-path=${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"
];
workarounds = { remove_service_workers = true; };
};
spellcheck = { languages = [ "en-US" ]; };
statusbar = {
show = "in-mode";
position = "bottom";
};
tabs = {
favicons = { scale = 1; };
indicator = { width = 1; };
mode_on_change = "restore";
position = "bottom";
select_on_remove = "next";
show = "always";
title = { format = "{audio}{current_title}"; };
};
url = {
default_page = "about:blank";
# searchengines = [ "DEFAULT: http://fred:8888/?q={}" ];
};
editor = {
encoding = "utf-8";
command = [ "kitty" "-e" "nvim" "{file}" ];
};
};
};
home.file.qutebrowserlocal = {
recursive = true;
target = ".local/share/qutebrowser";
source = ./files/local-qutebrowser;
};
xdg.configFile."qutebrowserdracula" = {
recursive = true;
source = ./files/qutebrowser-dracula;
target = "qutebrowser/dracula";
};
}