Compare commits
14
Commits
2f7cc0f43d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
67ef3a3059 | ||
|
|
d085d60bad | ||
|
|
4b51cf4253 | ||
|
|
1b0c38a8d1 | ||
|
|
02dcab9871 | ||
|
|
1ec951997b | ||
|
|
eb82be6847 | ||
|
|
fbf7f3716d | ||
|
|
5a09671d0e | ||
|
|
ff21471623 | ||
|
|
3a350b4f15 | ||
|
|
10df55cded | ||
|
|
e138d87f2c | ||
|
|
6fe5f1a047 |
@@ -1,9 +1,9 @@
|
||||
[Settings]
|
||||
gtk-theme-name=Adwaita-dark
|
||||
gtk-icon-theme-name=Qogir-dark
|
||||
gtk-theme-name=Arc-Dark
|
||||
gtk-icon-theme-name=Qogir-Dark
|
||||
gtk-font-name=Noto Sans 10
|
||||
gtk-cursor-theme-name=Qogir-dark
|
||||
gtk-cursor-theme-size=0
|
||||
gtk-cursor-theme-name=Qogir-Dark
|
||||
gtk-cursor-theme-size=20
|
||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH_HORIZ
|
||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||
gtk-button-images=0
|
||||
@@ -12,5 +12,6 @@ gtk-enable-event-sounds=0
|
||||
gtk-enable-input-feedback-sounds=0
|
||||
gtk-xft-antialias=1
|
||||
gtk-xft-hinting=1
|
||||
gtk-xft-hintstyle=hintmedium
|
||||
gtk-xft-hintstyle=hintslight
|
||||
gtk-xft-rgba=rgb
|
||||
gtk-application-prefer-dark-theme=1
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
vim.opt_local.number = true
|
||||
vim.opt_local.relativenumber = true
|
||||
@@ -0,0 +1,11 @@
|
||||
-- Indentation & Layout
|
||||
vim.opt_local.colorcolumn = "100"
|
||||
vim.opt_local.textwidth = 100
|
||||
vim.opt_local.tabstop = 4
|
||||
vim.opt_local.shiftwidth = 4
|
||||
vim.opt_local.softtabstop = 4
|
||||
vim.opt_local.expandtab = true
|
||||
|
||||
-- Formatting Behavior
|
||||
vim.opt_local.formatoptions:remove("t") -- Don't autowrap while typing
|
||||
vim.opt_local.formatoptions:append("j") -- Remove comment markers when joining lines
|
||||
@@ -0,0 +1,11 @@
|
||||
-- Indentation & Layout
|
||||
vim.opt_local.colorcolumn = "120"
|
||||
vim.opt_local.textwidth = 120
|
||||
vim.opt_local.tabstop = 4
|
||||
vim.opt_local.shiftwidth = 4
|
||||
vim.opt_local.softtabstop = 4
|
||||
vim.opt_local.expandtab = true
|
||||
|
||||
-- Formatting Behavior
|
||||
vim.opt_local.formatoptions:remove("t") -- Don't autowrap while typing
|
||||
vim.opt_local.formatoptions:append("j") -- Remove comment markers when joining lines
|
||||
@@ -0,0 +1,21 @@
|
||||
local bufname = vim.api.nvim_buf_get_name(0)
|
||||
local filename_arg = bufname ~= "" and (" --stdin-filepath " .. vim.fn.shellescape(bufname)) or ""
|
||||
|
||||
-- Indentation & Layout
|
||||
vim.opt_local.colorcolumn = ""
|
||||
vim.opt_local.wrap = true
|
||||
vim.opt_local.textwidth = 80
|
||||
vim.opt_local.tabstop = 2
|
||||
vim.opt_local.shiftwidth = 2
|
||||
vim.opt_local.softtabstop = 2
|
||||
vim.opt_local.expandtab = true
|
||||
|
||||
-- Formatting Behavior: wrap text, keep comment/quote headers, parse lists
|
||||
vim.opt_local.formatoptions:append("tqn")
|
||||
|
||||
-- gq Formatter: Prettier handles links/parentheses cleanly; par as fallback
|
||||
if vim.fn.executable("prettier") == 1 then
|
||||
vim.bo.formatprg = "prettier --parser markdown" .. filename_arg
|
||||
elseif vim.fn.executable("par") == 1 then
|
||||
vim.bo.formatprg = "par -w80req"
|
||||
end
|
||||
@@ -0,0 +1,11 @@
|
||||
-- Indentation & Layout
|
||||
vim.opt_local.colorcolumn = "100"
|
||||
vim.opt_local.textwidth = 100
|
||||
vim.opt_local.tabstop = 4
|
||||
vim.opt_local.shiftwidth = 4
|
||||
vim.opt_local.softtabstop = 4
|
||||
vim.opt_local.expandtab = true
|
||||
|
||||
-- Formatting Behavior
|
||||
vim.opt_local.formatoptions:remove("t") -- Don't autowrap while typing
|
||||
vim.opt_local.formatoptions:append("j") -- Remove comment markers when joining lines
|
||||
@@ -1,2 +0,0 @@
|
||||
vim.o.number = true
|
||||
vim.o.relativenumber = true
|
||||
@@ -1,4 +0,0 @@
|
||||
vim.o.colorcolumn = "100"
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
@@ -1,4 +0,0 @@
|
||||
vim.o.colorcolumn = "120"
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
@@ -1,5 +0,0 @@
|
||||
vim.o.colorcolumn = ""
|
||||
vim.o.wrap = true
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.softtabstop = 2
|
||||
@@ -1,5 +0,0 @@
|
||||
vim.o.colorcolumn = "100"
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.g.no_python_maps = 1
|
||||
+12
-16
@@ -83,7 +83,7 @@ vim.opt.spelllang = { "en" }
|
||||
|
||||
-- Splits
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.splitkeep = "screen"
|
||||
vim.opt.splitkeep = "cursor"
|
||||
vim.opt.splitright = true
|
||||
|
||||
-- Terminal & Status Column
|
||||
@@ -118,6 +118,7 @@ vim.api.nvim_create_autocmd("FileType", {
|
||||
-- MAPS
|
||||
-- ----------------------------------------
|
||||
|
||||
vim.g.no_python_maps = 1
|
||||
local map = vim.keymap.set
|
||||
|
||||
-- better esc
|
||||
@@ -832,10 +833,7 @@ local function makespec_diffview()
|
||||
"DiffviewRefresh",
|
||||
"DiffviewFileHistory",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>gd", "<cmd>DiffviewOpen<cr>", desc = "DiffView Tab" },
|
||||
{ "<leader>gh", "<cmd>DiffviewFileHistory<cr>", desc = "File History Tab" },
|
||||
},
|
||||
keys = {},
|
||||
}
|
||||
end
|
||||
local function makespec_fugitive()
|
||||
@@ -883,6 +881,7 @@ local function makespec_gitsigns()
|
||||
vim.cmd.normal({ "]c", bang = true })
|
||||
else
|
||||
gs.nav_hunk("next")
|
||||
vim.schedule(gs.preview_hunk_inline)
|
||||
end
|
||||
end
|
||||
local function prev_hunk()
|
||||
@@ -890,14 +889,14 @@ local function makespec_gitsigns()
|
||||
vim.cmd.normal({ "[c", bang = true })
|
||||
else
|
||||
gs.nav_hunk("prev")
|
||||
vim.schedule(gs.preview_hunk_inline)
|
||||
end
|
||||
end
|
||||
|
||||
local function bmap(mode, l, r, desc) vim.keymap.set(mode, l, r, { buffer = bufnr, desc = desc }) end
|
||||
|
||||
-- Navigation
|
||||
bmap("n", "<M-,>", next_hunk, "Next Hunk")
|
||||
bmap("n", "<M-.>", prev_hunk, "Prev Hunk")
|
||||
bmap("n", "<M-,>", prev_hunk, "Prev Hunk")
|
||||
bmap("n", "<M-.>", next_hunk, "Next Hunk")
|
||||
bmap("n", "[h", prev_hunk, "Prev Hunk")
|
||||
bmap("n", "]h", next_hunk, "Next Hunk")
|
||||
|
||||
@@ -908,6 +907,8 @@ local function makespec_gitsigns()
|
||||
-- Hunk
|
||||
bmap("n", "<leader>gi", gs.preview_hunk_inline, "Preview Hunk Inline")
|
||||
bmap("n", "<leader>gp", gs.preview_hunk, "Preview Hunk")
|
||||
bmap("n", "<leader>gd", gs.diffthis, "Diff This (Index)")
|
||||
bmap("n", "<leader>gD", function() gs.diffthis("~") end, "Diff This (HEAD~1)")
|
||||
bmap("n", "<leader>gq", gs.setqflist, "File Hunks to QuickFix")
|
||||
bmap("n", "<leader>gQ", function() gs.setqflist("all") end, "All Hunks to QuickFix")
|
||||
bmap("n", "<leader>gx", gs.reset_hunk, "Reset Hunk")
|
||||
@@ -925,7 +926,7 @@ local function makespec_gitsigns()
|
||||
bmap("n", "<leader>gtb", gs.toggle_current_line_blame, "Toggle Line Blame")
|
||||
bmap("n", "<leader>gtd", gs.toggle_deleted, "Toggle Deleted")
|
||||
|
||||
-- Text object, e.g. for dih to delete hunk
|
||||
-- Text Object (e.g., 'dih' to delete hunk)
|
||||
bmap({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", "Select Hunk")
|
||||
end
|
||||
|
||||
@@ -933,11 +934,6 @@ local function makespec_gitsigns()
|
||||
"lewis6991/gitsigns.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
signcolumn = true,
|
||||
numhl = false,
|
||||
linehl = false,
|
||||
word_diff = false,
|
||||
signs_staged_enable = false,
|
||||
on_attach = on_gitsigns_attach,
|
||||
},
|
||||
}
|
||||
@@ -1100,8 +1096,8 @@ local function makespec_snacks()
|
||||
-- search
|
||||
{ "<F1>", function() Snacks.picker.help() end, desc = "Help Pages" },
|
||||
{ "<F9>", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" },
|
||||
{ "<M-/>", function() Snacks.picker.git_grep({ ignorecase = true }) end, desc = "Grep Git Files" },
|
||||
{ "<leader>sg", function() Snacks.picker.git_grep({ ignorecase = true }) end, desc = "Grep Git Files" },
|
||||
{ "<M-/>", function() Snacks.picker.git_grep({ ignorecase = false }) end, desc = "Grep Git Files" },
|
||||
{ "<leader>sg", function() Snacks.picker.git_grep({ ignorecase = false }) end, desc = "Grep Git Files" },
|
||||
{ "<leader>sa", function() Snacks.picker.grep({ untracked = true }) end, desc = "Grep Files" },
|
||||
{ "<leader>*", function() Snacks.picker.grep_word() end, desc = "Visual selection or word", mode = { "n", "x" }, },
|
||||
{ "<leader>/", function() Snacks.picker.search_history() end, desc = "Search History" },
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from typing import TYPE_CHECKING
|
||||
import os
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from qutebrowser.config.config import ConfigContainer
|
||||
@@ -6,7 +7,6 @@ if TYPE_CHECKING:
|
||||
|
||||
c: "ConfigContainer" = c # type: ignore # noqa: F821
|
||||
config: "ConfigAPI" = config # type: ignore # noqa: F821
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
config.load_autoconfig(True)
|
||||
config.bind("<", "tab-move -")
|
||||
@@ -47,7 +47,6 @@ config.bind("tj", "back -t", mode="normal")
|
||||
config.bind("wj", "back -w", mode="normal")
|
||||
config.bind("tk", "forward -t", mode="normal")
|
||||
config.bind("wk", "forward -w", mode="normal")
|
||||
config.bind("ø", "cmd-set-text :")
|
||||
config.bind("m", 'cmd-set-text :quickmark-add {url:pretty} "', mode="normal")
|
||||
config.bind("D", "tab-close")
|
||||
config.bind(",m", "hint links spawn -d mpv {hint-url}", mode="normal")
|
||||
@@ -73,7 +72,7 @@ c.completion.open_categories = [
|
||||
c.content.register_protocol_handler = False
|
||||
c.content.blocking.enabled = True
|
||||
c.content.fullscreen.window = True
|
||||
c.content.blocking.method = "adblock"
|
||||
c.content.blocking.method = "auto"
|
||||
c.content.blocking.adblock.lists = [
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/filters.txt",
|
||||
"https://raw.githubusercontent.com/uBlockOrigin/uAssets/master/filters/badware.txt",
|
||||
@@ -150,13 +149,21 @@ c.input.insert_mode.plugins = True
|
||||
c.messages.timeout = 5000
|
||||
c.qt.force_platform = "wayland"
|
||||
c.qt.highdpi = True
|
||||
c.qt.args = [
|
||||
qt_args = [
|
||||
"disable-features=WebAuth", # makes BankID work
|
||||
]
|
||||
# Disable GPU by default (for AI training), unless QUTE_ENABLE_GPU is set
|
||||
if os.environ.get("QUTE_ENABLE_GPU") != "1":
|
||||
qt_args.extend(
|
||||
[
|
||||
"disable-gpu", # Stops using the GPU for rendering
|
||||
"disable-gpu-compositing", # Forces CPU compositing
|
||||
"disable-accelerated-2d-canvas", # Offloads canvas drawing to CPU
|
||||
"disable-accelerated-video-decode", # Prevents VRAM usage for videos
|
||||
]
|
||||
)
|
||||
|
||||
c.qt.args = qt_args
|
||||
c.scrolling.bar = "always"
|
||||
c.scrolling.smooth = False
|
||||
c.session.lazy_restore = False
|
||||
@@ -190,16 +197,16 @@ c.tabs.undo_stack_size = 1000
|
||||
c.tabs.width = "15%"
|
||||
c.url.start_pages = "https://www.google.com/search?hl=en&source=hp"
|
||||
c.url.default_page = "https://www.google.com/search?hl=en&source=hp"
|
||||
c.url.searchengines = dict(
|
||||
DEFAULT="https://www.google.com/search?hl=en&source=hp&q={}",
|
||||
aw="https://wiki.archlinux.org/?search={}",
|
||||
ap="https://www.archlinux.org/packages/?q={}",
|
||||
gh="https://github.com/search?q={}&type=repositories",
|
||||
ip="https://iplocation.io/ip/{}",
|
||||
sh="https://explainshell.com/explain?cmd={}",
|
||||
wi="https://en.wikipedia.org/w/index.php?search={}",
|
||||
yt="https://yewtu.be/search?q={}",
|
||||
)
|
||||
c.url.searchengines = {
|
||||
"DEFAULT": "https://www.google.com/search?hl=en&source=hp&q={}",
|
||||
"aw": "https://wiki.archlinux.org/?search={}",
|
||||
"ap": "https://www.archlinux.org/packages/?q={}",
|
||||
"gh": "https://github.com/search?q={}&type=repositories",
|
||||
"ip": "https://iplocation.io/ip/{}",
|
||||
"sh": "https://explainshell.com/explain?cmd={}",
|
||||
"wi": "https://en.wikipedia.org/w/index.php?search={}",
|
||||
"yt": "https://yewtu.be/search?q={}",
|
||||
}
|
||||
c.zoom.default = "100%"
|
||||
|
||||
# FONTS
|
||||
|
||||
+18
-22
@@ -20,6 +20,9 @@ smart_borders on
|
||||
# Default Font
|
||||
font pango:Noto Sans Regular 10
|
||||
|
||||
# Cursor
|
||||
seat seat0 xcursor_theme Adwaita 0
|
||||
|
||||
# Title format for windows
|
||||
set $focus #00E5FF
|
||||
set $unfocused #333333
|
||||
@@ -182,8 +185,8 @@ bindsym --whole-window --border {
|
||||
# media keys
|
||||
bindsym {
|
||||
# Volume
|
||||
XF86AudioRaiseVolume exec pamixer -ui 2
|
||||
XF86AudioLowerVolume exec pamixer -ud 2
|
||||
XF86AudioRaiseVolume exec pamixer --unmute -i 2
|
||||
XF86AudioLowerVolume exec pamixer --unmute -d 2
|
||||
XF86AudioMute exec pamixer --toggle-mute
|
||||
Pause exec pamixer -ui 2
|
||||
Print exec pamixer -ud 2
|
||||
@@ -251,6 +254,7 @@ bindsym {
|
||||
|
||||
# Launch the browser
|
||||
$mod+i exec qutebrowser
|
||||
$mod+Shift+i exec env QUTE_ENABLE_GPU=1 qutebrowser
|
||||
|
||||
# Launch the file explorer
|
||||
$mod+o exec pcmanfm
|
||||
@@ -291,17 +295,10 @@ exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CU
|
||||
exec hash dbus-update-activation-environment 2>/dev/null && \
|
||||
dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP
|
||||
|
||||
# Idle configuration
|
||||
exec swayidle -w \
|
||||
timeout 1200 'gtklock -d' \
|
||||
timeout 2400 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||
timeout 10 'if pgrep -x gtklock; then swaymsg "output * power off"; fi' \
|
||||
before-sleep 'gtklock -d'
|
||||
|
||||
exec {
|
||||
# Start foot server
|
||||
exec systemctl --user enable --now foot-server.service
|
||||
|
||||
exec {
|
||||
# Set wallpaper
|
||||
~/.azotebg
|
||||
|
||||
@@ -316,21 +313,21 @@ exec {
|
||||
|
||||
# night-time color shift
|
||||
wlsunset -l 59.91:10.76
|
||||
|
||||
# persist clipboard after close
|
||||
wl-clip-persist --clipboard regular --all-mime-type-regex '(?i)^(?!image/x-inkscape-svg).+'
|
||||
}
|
||||
|
||||
exec_always {
|
||||
pkill -x swaync; exec swaync
|
||||
pkill -x swayidle; exec swayidle -w \
|
||||
timeout 1200 'gtklock -d' \
|
||||
timeout 2400 'swaymsg "output * dpms off"' \
|
||||
resume 'swaymsg "output * dpms on"' \
|
||||
before-sleep 'gtklock -d' \
|
||||
lock 'gtklock -d'
|
||||
|
||||
# nwg-drawer
|
||||
nwg-drawer -r -c 7 -is 90 -mb 10 -ml 50 -mr 50 -mt 10
|
||||
|
||||
# persist clipboard after close
|
||||
pkill -x wl-clip-persist
|
||||
wl-clip-persist --clipboard regular --all-mime-type-regex '(?i)^(?!image/x-inkscape-svg).+'
|
||||
|
||||
# enable noisetorch
|
||||
noisetorch -u
|
||||
noisetorch -i
|
||||
}
|
||||
|
||||
# ------------------------------------------
|
||||
@@ -360,9 +357,8 @@ for_window [app_id="org.mozilla.Thunderbird" title="^((?!Mozilla Thunderbird).)*
|
||||
|
||||
# steam
|
||||
# https://github.com/ValveSoftware/steam-for-linux/issues/1040
|
||||
for_window [app_id="^steam$"] floating enable
|
||||
for_window [app_id="^Steam$"] floating enable
|
||||
for_window [app_id="^steam$" title="^Steam$"] floating disable
|
||||
for_window [app_id="(?i)^steam$"] floating enable
|
||||
for_window [app_id="(?i)^steam$" title="^Steam$"] floating disable
|
||||
|
||||
# Inhibit idle
|
||||
for_window [app_id="firefox"] inhibit_idle fullscreen
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "E"
|
||||
run = "shell 'exiftool %s | less' --block --confirm"
|
||||
desc = "View file metadata with Exiftool"
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "q"
|
||||
run = "close"
|
||||
@@ -26,3 +31,8 @@ run = "plugin mount"
|
||||
on = "T"
|
||||
run = "plugin toggle-pane max-preview"
|
||||
desc = "Maximize or restore the preview pane"
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "C"
|
||||
run = "plugin ouch"
|
||||
desc = "Compress with ouch"
|
||||
|
||||
+85
-7
@@ -4,11 +4,6 @@ show_hidden = true
|
||||
sort_by = "natural"
|
||||
ratio = [ 1, 4, 5 ]
|
||||
|
||||
[[mgr.prepend_keymap]]
|
||||
on = "O"
|
||||
run = "open --interactive"
|
||||
desc = "Open with... (Interactive menu)"
|
||||
|
||||
[preview]
|
||||
wrap = "yes"
|
||||
image_delay = 50
|
||||
@@ -17,14 +12,93 @@ max_height = 1500
|
||||
|
||||
[open]
|
||||
prepend_rules = [
|
||||
# Directories
|
||||
{ mime = "inode/directory", use = [ "thunar", "pcmanfm", "open" ] },
|
||||
|
||||
# Text & Code
|
||||
{ url = "*.csv", use = "text" },
|
||||
{ url = "*.md", use = [ "glow", "nvim", "bat", "open" ] },
|
||||
{ url = "*.json", use = [ "jq", "nvim", "bat", "open" ] },
|
||||
{ mime = "text/*", use = [ "nvim", "bat", "open" ] },
|
||||
{ mime = "inode/x-empty", use = [ "nvim", "open" ] },
|
||||
|
||||
# PDF & Documents
|
||||
{ mime = "application/pdf", use = [ "zathura", "sioyek", "okular", "xournalpp", "chrome", "firefox", "open" ] },
|
||||
{ mime = "application/vnd.openxmlformats-officedocument.*", use = [ "libreoffice", "calligra", "open" ] },
|
||||
{ mime = "application/vnd.oasis.opendocument.*", use = [ "libreoffice", "calligra", "open" ] },
|
||||
|
||||
# Images
|
||||
{ mime = "image/heic", use = [ "swappy", "krita", "open" ] },
|
||||
{ mime = "image/*", use = [ "qimgv", "swappy", "krita", "open" ] },
|
||||
|
||||
# Video & Audio
|
||||
{ mime = "video/*", use = [ "mpv", "vlc", "open" ] },
|
||||
{ mime = "audio/*", use = [ "quodlibet", "mpv", "vlc", "open" ] },
|
||||
|
||||
# Archives
|
||||
{ mime = "application/zip", use = [ "ouch", "file-roller", "open" ] },
|
||||
{ mime = "application/x-tar", use = [ "ouch", "file-roller", "open" ] },
|
||||
{ mime = "application/gzip", use = [ "ouch", "file-roller", "open" ] },
|
||||
{ mime = "application/x-bzip*", use = [ "ouch", "file-roller", "open" ] },
|
||||
{ mime = "application/x-7z-compressed", use = [ "ouch", "file-roller", "open" ] },
|
||||
{ mime = "application/x-rar", use = [ "ouch", "file-roller", "open" ] },
|
||||
|
||||
# Web pages
|
||||
{ mime = "text/html", use = [ "qutebrowser", "firefox", "chrome", "w3m", "open" ] },
|
||||
|
||||
# JSON files
|
||||
# Certificates
|
||||
{ url = "*.{crt,pem,cer,der}", use = [ "cert", "nvim", "bat", "open" ] },
|
||||
|
||||
# Catch-all for any file (allows Exiftool on everything as a fallback)
|
||||
{ url = "*", use = [ "exiftool", "open" ] },
|
||||
]
|
||||
|
||||
[opener]
|
||||
# --- Text / Code (Blocking Terminal Apps) ---
|
||||
text = [
|
||||
{ run = "bat $@", block = true, desc = "bat" },
|
||||
{ run = "nvim $@", block = true, desc = "nvim" },
|
||||
{ run = "bat %s", block = true, desc = "bat" },
|
||||
{ run = "nvim %s", block = true, desc = "nvim" },
|
||||
]
|
||||
nvim = [ { run = "nvim %s", block = true, desc = "Neovim" } ]
|
||||
bat = [ { run = "bat %s", block = true, desc = "Bat" } ]
|
||||
glow = [ { run = "glow --pager %s", block = true, desc = "Glow" } ]
|
||||
jq = [ { run = "jq -C . %s | less -R", block = true, desc = "jq viewer" } ]
|
||||
cert = [ { run = "openssl x509 -text -noout -in %s | less", block = true, desc = "View Cert (openssl)" } ]
|
||||
|
||||
# --- PDFs (Orphaned GUI Apps) ---
|
||||
zathura = [ { run = "zathura %s", orphan = true, desc = "Zathura" } ]
|
||||
sioyek = [ { run = "sioyek %s", orphan = true, desc = "Sioyek" } ]
|
||||
okular = [ { run = "okular %s", orphan = true, desc = "Okular" } ]
|
||||
xournalpp = [ { run = "xournalpp %s", orphan = true, desc = "Xournal++" } ]
|
||||
|
||||
# --- Browsers (Orphaned GUI Apps) ---
|
||||
chrome = [ { run = "google-chrome-stable %s", orphan = true, desc = "Chrome" } ]
|
||||
firefox = [ { run = "firefox %s", orphan = true, desc = "Firefox" } ]
|
||||
qutebrowser = [ { run = "qutebrowser %s", orphan = true, desc = "Qutebrowser" } ]
|
||||
w3m = [ { run = "w3m %s", orphan = true, desc = "w3m" } ]
|
||||
|
||||
# --- Media: Video / Audio (Orphaned GUI Apps) ---
|
||||
mpv = [ { run = "mpv %s", orphan = true, desc = "MPV" } ]
|
||||
vlc = [ { run = "vlc %s", orphan = true, desc = "VLC" } ]
|
||||
quodlibet = [ { run = "quodlibet %s", orphan = true, desc = "quod libet" } ]
|
||||
|
||||
# --- Images (Orphaned GUI Apps) ---
|
||||
qimgv = [ { run = "qimgv %s", orphan = true, desc = "qimgv" } ]
|
||||
swappy = [ { run = "swappy -f %s", orphan = true, desc = "swappy" } ]
|
||||
krita = [ { run = "krita %s", orphan = true, desc = "krita" } ]
|
||||
|
||||
# --- Office Documents (Orphaned GUI Apps) ---
|
||||
libreoffice = [ { run = "libreoffice %s", orphan = true, desc = "LibreOffice" } ]
|
||||
calligra = [ { run = "calligrawords %s", orphan = true, desc = "Calligra" } ]
|
||||
|
||||
# --- Archives ---
|
||||
ouch = [ { run = "ouch d -y %s", desc = "Extract here with ouch" } ]
|
||||
file-roller = [ { run = "file-roller %s", orphan = true, desc = "File Roller" } ]
|
||||
|
||||
# --- Directories (Orphaned GUI Apps) ---
|
||||
thunar = [ { run = "thunar %s", orphan = true, desc = "Thunar" } ]
|
||||
pcmanfm = [ { run = "pcmanfm %s", orphan = true, desc = "PCManFM" } ]
|
||||
|
||||
[input]
|
||||
cursor_blink = true
|
||||
@@ -43,6 +117,10 @@ group = "git"
|
||||
url = "*/"
|
||||
run = "git"
|
||||
|
||||
[[plugin.prepend_previewers]]
|
||||
mime = "application/{*zip,tar,bzip2,7z*,rar,xz,zstd,java-archive}"
|
||||
run = "ouch"
|
||||
|
||||
[[plugin.prepend_previewers]]
|
||||
url = "*/"
|
||||
run = "eza-preview"
|
||||
|
||||
@@ -52,7 +52,6 @@ installmap = dict(
|
||||
tmux=("tmux", "urlscan"),
|
||||
editors=(
|
||||
"neovim",
|
||||
"helix",
|
||||
"ripgrep",
|
||||
"npm", # required for nvim plugins
|
||||
"go", # required for vim-hexokinase build
|
||||
@@ -92,19 +91,18 @@ installmap = dict(
|
||||
# photos
|
||||
"qimgv",
|
||||
"kimageformats5", # heif support
|
||||
"digikam",
|
||||
# music
|
||||
"quodlibet",
|
||||
"gst-plugins-good", # required deb
|
||||
# audio
|
||||
"pamixer",
|
||||
"noisetorch",
|
||||
),
|
||||
filebrowsers=(
|
||||
"yazi",
|
||||
"ranger",
|
||||
"pcmanfm",
|
||||
"thunar",
|
||||
"ouch",
|
||||
"gparted",
|
||||
"sshfs",
|
||||
"file-roller",
|
||||
@@ -122,7 +120,7 @@ installmap = dict(
|
||||
"python-tldextract",
|
||||
"bitwarden-cli", # for qutebrowser autofill
|
||||
),
|
||||
chat=("discordo-git", "gurk"),
|
||||
chat=("discord", "gurk"),
|
||||
emailcalrss=(
|
||||
"khard", # contacts
|
||||
"khal", # calendar
|
||||
@@ -300,7 +298,6 @@ def install_tmux(overwrite: bool, reinstall: bool) -> None:
|
||||
def install_editors(overwrite: bool, reinstall: bool) -> None:
|
||||
helper_install(*installmap["editors"], reinstall=reinstall)
|
||||
helper_clone_foldercontents(CFG_SRC, CFG_TGT, "nvim", overwrite)
|
||||
helper_clone_foldercontents(CFG_SRC, CFG_TGT, "helix", overwrite)
|
||||
|
||||
|
||||
def install_gittools(overwrite: bool, reinstall: bool) -> None:
|
||||
@@ -334,6 +331,7 @@ def install_filebrowsers(overwrite: bool, reinstall: bool) -> None:
|
||||
"yazi-rs/plugins:toggle-pane",
|
||||
"ahkohd/eza-preview",
|
||||
"boydaihungst/file-extra-metadata",
|
||||
"ya pkg add ndtoan96/ouch",
|
||||
]:
|
||||
run(f"ya pkg add {plugin}".split())
|
||||
tgt = ".local/share/applications/userapp-file-roller.desktop"
|
||||
@@ -349,7 +347,6 @@ def install_netbrowsers(overwrite: bool, reinstall: bool) -> None:
|
||||
|
||||
def install_chat(overwrite: bool, reinstall: bool) -> None:
|
||||
helper_install(*installmap["chat"], reinstall=reinstall)
|
||||
helper_clone_foldercontents(CFG_SRC, CFG_TGT, "discordo", overwrite)
|
||||
helper_clone_foldercontents(CFG_SRC, CFG_TGT, "gurk", overwrite)
|
||||
|
||||
|
||||
@@ -411,12 +408,12 @@ def install_sway(overwrite: bool, reinstall: bool) -> None:
|
||||
helper_clone_foldercontents(CFG_SRC, CFG_TGT, sub, overwrite)
|
||||
helper_maybe_copy(CFG_SRC, CFG_TGT, "xdg-terminals.list", overwrite, symlink=True)
|
||||
helper_maybe_copy(CFG_SRC, CFG_TGT, "mimeapps.list", overwrite, symlink=True)
|
||||
# swaync configs
|
||||
helper_clone_foldercontents(CFG_SRC, CFG_TGT, "swaync", overwrite)
|
||||
# custom sway configs
|
||||
helper_clone_foldercontents(CUSTOM_SRC / "CONFIG", CFG_TGT, "sway", overwrite)
|
||||
# custom waybar configs
|
||||
helper_clone_foldercontents(CUSTOM_SRC / "CONFIG", CFG_TGT, "waybar", overwrite)
|
||||
# custom swaync configs
|
||||
helper_clone_foldercontents(CUSTOM_SRC / "CONFIG", CFG_TGT, "swaync", overwrite)
|
||||
# desktop entries
|
||||
helper_clone_foldercontents(
|
||||
HOME_SRC,
|
||||
|
||||
Reference in New Issue
Block a user