97 lines
4 KiB
Nix
97 lines
4 KiB
Nix
{ pkgs, lib, config, ... }:
|
|
{
|
|
config = lib.mkIf config.programs.qutebrowser.enable {
|
|
home.sessionVariables = {
|
|
BROWSER = "qutebrowser";
|
|
};
|
|
programs.qutebrowser = {
|
|
keyBindings = {
|
|
normal = {
|
|
# Match tab behaviour to i3. Not that I use tabs.
|
|
"H" = "tab-prev";
|
|
"J" = "back";
|
|
"K" = "forward";
|
|
"L" = "tab-next";
|
|
# "T" = null;
|
|
"af" = "spawn --userscript freshrss"; # TODO Broken?
|
|
"as" = "spawn --userscript shaarli"; # TODO I don't use shaarli anymore
|
|
# "d" = null;
|
|
"u" = "undo --window";
|
|
# TODO Unbind d and T (?)
|
|
};
|
|
};
|
|
loadAutoconfig = true;
|
|
searchEngines = rec {
|
|
DEFAULT = ecosia;
|
|
alpinep = "https://pkgs.alpinelinux.org/packages?name={}&branch=edge";
|
|
ampwhat = "http://www.amp-what.com/unicode/search/{}";
|
|
arch = "https://wiki.archlinux.org/?search={}";
|
|
archp = "https://www.archlinux.org/packages/?q={}";
|
|
aur = "https://aur.archlinux.org/packages/?K={}";
|
|
aw = ampwhat;
|
|
ddg = duckduckgo;
|
|
dockerhub = "https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=0&q={}&starCount=0";
|
|
duckduckgo = "https://duckduckgo.com/?q={}&ia=web";
|
|
ecosia = "https://www.ecosia.org/search?q={}";
|
|
gfr = "https://www.google.fr/search?hl=fr&q={}";
|
|
g = google;
|
|
gh = github;
|
|
gi = "http://images.google.com/search?q={}";
|
|
giphy = "https://giphy.com/search/{}";
|
|
github = "https://github.com/search?q={}";
|
|
google = "https://www.google.fr/search?q={}";
|
|
hm = homemanager;
|
|
homemanager = "https://mipmip.github.io/home-manager-option-search/?query={}";
|
|
invidious = "https://invidious.frogeye.fr/search?q={}";
|
|
inv = invidious;
|
|
nixos = "https://search.nixos.org/options?channel=${config.home.version.release}&query={}";
|
|
nixpkgs = "https://search.nixos.org/packages?channel=${config.home.version.release}&query={}";
|
|
npm = "https://www.npmjs.com/search?q={}";
|
|
os = nixos;
|
|
pkgs = nixpkgs;
|
|
q = qwant;
|
|
qwant = "https://www.qwant.com/?t=web&q={}";
|
|
wolfram = "https://www.wolframalpha.com/input/?i={}";
|
|
youtube = "https://www.youtube.com/results?search_query={}";
|
|
yt = youtube;
|
|
};
|
|
settings = {
|
|
downloads.location.prompt = false;
|
|
tabs = {
|
|
show = "never";
|
|
tabs_are_windows = true;
|
|
};
|
|
url = rec {
|
|
open_base_url = true;
|
|
start_pages = lib.mkDefault "https://geoffrey.frogeye.fr/blank.html";
|
|
default_page = start_pages;
|
|
};
|
|
content = {
|
|
# I had this setting below, not sure if it did something special
|
|
# config.set("content.cookies.accept", "no-3rdparty", "chrome://*/*")
|
|
cookies.accept = "no-3rdparty";
|
|
prefers_reduced_motion = true;
|
|
headers.accept_language = "fr-FR, fr;q=0.9, en-GB;q=0.8, en-US;q=0.7, en;q=0.6";
|
|
tls.certificate_errors = "ask-block-thirdparty";
|
|
};
|
|
editor.command = [ "${pkgs.neovide}/bin/neovide" "--" "-f" "{file}" "-c" "normal {line}G{column0}l" ];
|
|
# TODO Doesn't work on Arch. Does it even load the right profile on Nix?
|
|
# TODO spellcheck.languages = ["fr-FR" "en-GB" "en-US"];
|
|
};
|
|
};
|
|
xdg.mimeApps = {
|
|
enable = true;
|
|
defaultApplications = {
|
|
"text/html" = "org.qutebrowser.qutebrowser.desktop";
|
|
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
|
|
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
|
|
"x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop";
|
|
"x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop";
|
|
};
|
|
};
|
|
xsession.windowManager.i3.config.keybindings = {
|
|
"${config.xsession.windowManager.i3.config.modifier}+m" = "exec ${config.programs.qutebrowser.package}/bin/qutebrowser --override-restore";
|
|
};
|
|
};
|
|
}
|