mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-11-22 08:14:00 +01:00
23049a3e99
After almost a year of using joshuto, I have decided to switch to yazi. The latest joshuto update broke my image preview configuration, and it didn't make sense trying to figure out the issue with yazi already having built-in image support and more. Other notable improvements from this change include: - Simplified configuration since defaults no longer have to be re-declared - Faster directory loading, especially for /nix/store/ and symlinks to /nix/store/ - Text files are more likely to show previews without manual configuration - Videos now have working previews again, similar to ranger
114 lines
3.4 KiB
Nix
114 lines
3.4 KiB
Nix
{
|
|
programs.qutebrowser = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
confirm_quit = [
|
|
"multiple-tabs"
|
|
"downloads"
|
|
];
|
|
|
|
session.lazy_restore = true;
|
|
|
|
tabs = {
|
|
show = "multiple";
|
|
mousewheel_switching = false;
|
|
last_close = "close";
|
|
new_position.unrelated = "next";
|
|
};
|
|
|
|
content = {
|
|
persistent_storage = true;
|
|
notifications.enabled = true;
|
|
register_protocol_handler = true;
|
|
mute = true;
|
|
headers.accept_language = "ja,en-US;q=0.9,en;q=0.8";
|
|
};
|
|
|
|
fileselect = {
|
|
handler = "external";
|
|
folder.command = [ "kitty" "-e" "yazi" "--cwd-file" "{}" ];
|
|
multiple_files.command = [ "kitty" "-e" "yazi" "--chooser-file" "{}" ];
|
|
single_file.command = [ "kitty" "-e" "yazi" "--chooser-file" "{}" ];
|
|
};
|
|
|
|
downloads = {
|
|
location.directory = "$HOME/ダウンロード";
|
|
location.prompt = false;
|
|
position = "bottom";
|
|
remove_finished = 5000;
|
|
};
|
|
|
|
qt = {
|
|
args = [ "disable-backing-store-limit" "enable-accelerated-video-decode" "disable-gpu-driver-bug-workarounds" ];
|
|
chromium.low_end_device_mode = "never";
|
|
};
|
|
|
|
editor.command = [ "kitty" "-e" "nvim" "{}" ];
|
|
};
|
|
|
|
keyBindings = {
|
|
normal = {
|
|
d = "scroll-page 0 0.5";
|
|
u = "scroll-page 0 -0.5";
|
|
D = "scroll-page 0 0.5";
|
|
U = "scroll-page 0 -0.5";
|
|
"<Alt+Left>" = "back";
|
|
"<Alt+Right>" = "forward";
|
|
"<Ctrl+Shift+Tab>" = "tab-prev";
|
|
"<Ctrl+Tab>" = "tab-next";
|
|
J = "tab-prev";
|
|
K = "tab-next";
|
|
"<F12>" = "devtools";
|
|
zb = "bookmark-del";
|
|
x = "tab-close";
|
|
X = "undo";
|
|
st = "config-cycle tabs.show multiple switching";
|
|
sTh = "set tabs.position left";
|
|
sTj = "set tabs.position bottom";
|
|
sTk = "set tabs.position top";
|
|
sTl = "set tabs.position right";
|
|
};
|
|
};
|
|
|
|
extraConfig = /* python */ ''
|
|
# Mute tabs by default
|
|
from qutebrowser.mainwindow import tabwidget
|
|
tabwidget.TabWidget.MUTE_STRING = ""
|
|
tabwidget.TabWidget.AUDIBLE_STRING = "[A]"
|
|
|
|
# Better context menu colors
|
|
c.colors.contextmenu.disabled.fg = '#808080'
|
|
c.colors.contextmenu.menu.bg = '#353535'
|
|
c.colors.contextmenu.menu.fg = '#ffffff'
|
|
c.colors.contextmenu.selected.bg = '#909090'
|
|
|
|
# Don't artificially change webpage colors
|
|
c.colors.webpage.darkmode.enabled = False
|
|
|
|
# Don't paste something by accident
|
|
config.unbind('pp', mode='normal')
|
|
config.unbind('pP', mode='normal')
|
|
config.unbind('Pp', mode='normal')
|
|
config.unbind('PP', mode='normal')
|
|
config.unbind('wp', mode='normal')
|
|
config.unbind('wP', mode='normal')
|
|
|
|
# Easily enter account information
|
|
# NOTE: I re-evaluated pass when I was focusing on a terminal-centric workflow.
|
|
config.bind('zl', 'spawn --userscript qute-pass')
|
|
config.bind('zpl', 'spawn --userscript qute-pass --password-only')
|
|
config.bind('zol', 'spawn --userscript qute-pass --otp-only')
|
|
|
|
config.bind('zM', 'spawn mpv --force-window=immediate {url}')
|
|
config.bind('zm', 'hint links spawn mpv --force-window=immediate {hint-url}')
|
|
|
|
c.url.start_pages = ['about:blank']
|
|
c.url.default_page = "about:blank"
|
|
c.url.searchengines = {
|
|
'DEFAULT': 'https://search.goo.ne.jp/web.jsp?MT={}'
|
|
}
|
|
'';
|
|
};
|
|
}
|